---
title: "POST /api/v1/drafts/batch"
method: POST
path: "/api/v1/drafts/batch"
tags: ["Drafts"]
---

# POST /api/v1/drafts/batch

`POST /api/v1/drafts/batch`

## Request

- Base URL: `https://send21.io`
- URL: `https://send21.io/api/v1/drafts/batch`
- Auth: HTTP bearer

## Request body

- BatchCreateDraftsRequest
  - `items` BatchDraftItem[], nullable
    - `draft` CreateDraftRequest
      - `receiverAddress` string, nullable
      - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
      - `paymentMethod` 'MultiOutput' | 'Lightning'
      - `amountSats` integer, nullable
      - `fiatCurrency` string, nullable
      - `fiatAmount` number, double, nullable
      - `senderAddress` string, nullable
      - `bolt11` string, nullable
      - `memo` string, nullable
      - `expiryHours` integer, nullable
      - `requiredConfirmations` integer, nullable
      - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
      - `singleOutput` boolean, nullable
      - `shortfallPolicy` ShortfallPolicyDto
        - `absorbUpToPercent` number, double
        - `absorbedBy` string, nullable
    - `idempotencyKey` string, nullable

## Response `200`

OK

- BatchDraftResult[]
  - `index` integer
  - `draft` DraftResponse
    - `id` string, uuid
    - `receiverAddress` string, nullable
    - `senderAddress` string, nullable
    - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
    - `amountSats` integer
    - `amountBtc` string, nullable
    - `fiatCurrency` string, nullable
    - `fiatAmount` number, double, nullable
    - `quote` QuoteInfo
      - `source` string, nullable
      - `rate` number, double
      - `lockedAt` string, date-time
      - `expiresAt` string, date-time
      - `schema` string, nullable
      - `id` string, uuid
      - `draftId` string, uuid
      - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
      - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
      - `tokenAddress` string, nullable
      - `cryptoAmountBaseUnits` integer
      - `platformFeeBaseUnits` integer
      - `fiatAmount` number, double
      - `fiatCurrency` string, nullable
      - `rateSource` string, nullable
      - `bolt11` string, nullable
      - `lockedUntil` string, date-time
      - `sha256` string, nullable
    - `platformFeeSats` integer
    - `platformFeeAddress` string, nullable
    - `platformFee` PlatformFeeInfo
      - `percent` number, double, nullable
      - `usd` number, double, nullable
      - `sats` integer
      - `waived` boolean
      - `usdPerBtc` number, double, nullable
      - `rateSource` string, nullable
    - `paymentMethod` 'MultiOutput' | 'Lightning'
    - `bolt11` string, nullable
    - `memo` string, nullable
    - `status` 'AwaitingPayment' | 'Seen' | 'Confirmed' | 'Expired' | 'Cancelled'
    - `paidTxId` string, nullable
    - `requiredConfirmations` integer
    - `expiresAt` string, date-time
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `sek` SekValueInfo
      - `ratePerBtc` number, double
      - `rateSource` string, nullable
      - `amount` number, double, nullable
      - `platformFee` number, double, nullable
      - `vatRatePercent` number, double, nullable
      - `platformFeeVat` number, double, nullable
    - `feeOutputs` FeeOutputInfo[], nullable
      - `recipient` string, nullable
      - `address` string, nullable
      - `sats` integer
      - `sharePercent` number, double
    - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
    - `tokenAddress` string, nullable
    - `feeAccrued` boolean
    - `isFeeSettlement` boolean
    - `paymentUri` string, nullable
    - `amountMismatch` AmountMismatchInfo
      - `txId` string, nullable
      - `expectedBaseUnits` integer
      - `receivedBaseUnits` integer
      - `differenceBaseUnits` integer
      - `receivedFormatted` string, nullable
      - `differenceFormatted` string, nullable
      - `confirmations` integer
      - `detectedAt` string, date-time
      - `acceptedAt` string, date-time, nullable
      - `acceptReason` string, nullable
      - `acceptedBy` string, nullable
      - `reviewState` string, nullable
      - `rejectedAt` string, date-time, nullable
      - `rejectReason` string, nullable
      - `rejectedBy` string, nullable
      - `reviewReason` string, nullable
    - `lightningAddress` string, nullable
    - `lightningConfirmable` boolean
    - `paymentRequestId` string, uuid, nullable
    - `amountBaseUnits` integer
    - `core` object, nullable
    - `coreSha256` string, nullable
    - `changeSignals` string[], nullable
    - `changeNotes` string[], nullable
    - `shortfallPolicy` ShortfallPolicyDto
      - `absorbUpToPercent` number, double
      - `absorbedBy` string, nullable
  - `error` string, nullable

---

[API](https://skmtc.dev/send21/apis/send21-api.md) · [All operations](https://skmtc.dev/send21/apis/send21-api/llms.txt) · [OpenAPI document](https://skmtc.dev/send21/apis/send21-api/revisions/d61e1fc21a3e?raw)
