Skip to main content
Available in version 0.14.2 and later.
Use the bulk inflight endpoints to commit or void many independently-created inflight transactions in one request. For a single inflight transaction, use the Update inflight API instead. Important distinction: Bulk inflight updates are for multiple individual transactions. If you created inflight transactions through the Bulk transactions API, commit them using that batch’s batch_id via the single update endpoint, not the bulk inflight endpoints.

Bulk commit

To bulk commit in one request, use:
Bulk commit inflight
POST /transactions/inflight/bulk/commit
Each request accepts a maximum of 100 items in the transactions array.
From Blnk Core 0.15.0, bulk commit and void go through the queue by default.
When using the queue, Blnk validates each inflight transaction and enqueues a commit job. The response returns immediately; the queued status means the job is queued, not committed. Parents stay INFLIGHT until workers create APPLIED children.Per item results:
StatusCodeMeaning
queuedQUEUEDNew commit job added.
queuedALREADY_QUEUEDHas already been queued; duplicate skipped.
Failures are per-item. One does not block the batch.
curl -X POST "http://YOUR_BLNK_INSTANCE_URL/transactions/inflight/bulk/commit" \
  -H "X-blnk-key: <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "transactions": [
      {
        "transaction_id": "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94"
      },
      {
        "transaction_id": "txn_c5d9e2a1-7b4f-4a3c-9e8d-1f6a2b4c8d30",
        "precise_amount": 4000
      }
    ]
  }'
200 Queued
{
  "succeeded": 2,
  "failed": 0,
  "results": [
    {
      "transaction_id": "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94",
      "status": "queued",
      "code": "QUEUED"
    },
    {
      "transaction_id": "txn_c5d9e2a1-7b4f-4a3c-9e8d-1f6a2b4c8d30",
      "status": "queued",
      "code": "ALREADY_QUEUED"
    }
  ]
}
The worker later creates APPLIED child records for each committed item. Verify outcomes with webhooks or polling — same as single commit and void.

Bulk void

To bulk void in one request, use:
Bulk void inflight
POST /transactions/inflight/bulk/void
Bulk void expects a transaction_ids array, not the transactions shape used by bulk commit. Each request accepts a maximum of 100 IDs in the transaction_ids array.
By default, Blnk uses the queue to process each item. The response returns immediately; the queued status means the job is queued, not committed. Parents stay INFLIGHT until workers create APPLIED children.Per item results:
StatusCodeMeaning
queuedQUEUEDNew void job added.
queuedALREADY_QUEUEDHas already been queued; duplicate skipped.
curl -X POST "http://YOUR_BLNK_INSTANCE_URL/transactions/inflight/bulk/void" \
  -H "X-blnk-key: <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_ids": [
      "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94",
      "txn_c5d9e2a1-7b4f-4a3c-9e8d-1f6a2b4c8d30"
    ]
  }'
200 Queued
{
  "succeeded": 2,
  "failed": 0,
  "results": [
    {
      "transaction_id": "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94",
      "status": "queued",
      "code": "QUEUED"
    },
    {
      "transaction_id": "txn_c5d9e2a1-7b4f-4a3c-9e8d-1f6a2b4c8d30",
      "status": "queued",
      "code": "QUEUED"
    }
  ]
}

Error handling

Structured errors are available from Blnk Core 0.15.0 and later.
Bulk inflight endpoints return 400 when the request body fails validation before processing starts. Per-item failures return 200 with failed entries in results[]; one failed item does not block the batch.
CodeWhen it happens
TXN_BULK_EMPTYtransactions or transaction_ids is missing, empty, or the wrong shape for the endpoint.
TXN_BULK_LIMIT_EXCEEDEDMore than 100 items in one bulk commit or void request.
Bulk commit expects a transactions array. Bulk void expects transaction_ids. Sending the wrong shape returns TXN_BULK_EMPTY because unrecognized fields are dropped.
400 Bad Request
{
  "error_detail": {
    "code": "TXN_BULK_EMPTY",
    "message": "transactions array is required and cannot be empty"
  },
  "errors": "transactions array is required and cannot be empty"
}
To resolve the error:
CodeWhat to do
TXN_BULK_EMPTYAdd at least one item. Use transactions for bulk commit and transaction_ids for bulk void.
TXN_BULK_LIMIT_EXCEEDEDSplit the request into batches of 100 or fewer items.
Single inflight commit and void errors like TXN_COMMIT_AMOUNT_EXCEEDED apply when you use Update inflight instead of these bulk endpoints. See Commit & void inflight — Error handling and API error codes.

Commit & void inflight

Single commit, void, and verify flows.

Bulk transactions

Batch inflight create and commit by batch_id.

Create inflight

Record an inflight transaction.

API error codes

Bulk and inflight error codes.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.