Create and update inflight transactions across multiple sources or destinations.
When you combine inflight: true with multiple sources or multiple destinations, Blnk records each leg as a separate inflight transaction linked to a root split ID.
The response returns immediately with status: "QUEUED" for the split request itself. Blnk then queues each leg separately for processing.The worker then records each split leg as a separate INFLIGHT transaction. Every leg, and any later commit or void child, shares the same meta_data.QUEUED_PARENT_TRANSACTION.
Save meta_data.QUEUED_PARENT_TRANSACTION from the create response.Use this ID, not the per-leg IDs in destinations, when you commit, void, verify, or refund the split.
4
Commit or void the split
Call Update inflight with the queued parent ID. Blnk commits or voids every pending inflight leg in one request.
Update inflight
PUT /transactions/inflight/{queued_parent_transaction_id}
The worker creates an APPLIED or VOID child for each leg. Every child keeps the same meta_data.QUEUED_PARENT_TRANSACTION, so you can verify the whole split with webhooks or polling.
To skip the queue, set "skip_queue": true on create and on commit or void.
1
Record the split
Create a split transaction with "inflight": true and "skip_queue": true:
The response returns with status: "INFLIGHT" for the split request itself. Blnk records each leg in the same request, not through a background worker.Each split leg is written as a separate INFLIGHT transaction. Every leg shares the same parent_transaction, the root transaction_id.
The HTTP response reflects the first leg processed. Each leg’s APPLIED or VOID child links only to that leg’s inflight ID through parent_transaction.Nothing is shared across legs, so verify each leg separately with webhooks or polling.
Structured errors are available from Blnk Core 0.15.0 and later.
Split inflight commit and void use the same Update inflight endpoint as single inflight transactions. Blnk returns 400, 404, and 409 when the request ID or state is wrong.
Code
When it happens
GEN_CONFLICT
A commit or void is already queued for the split parent (default queue path).
TXN_NOT_FOUND
The ID in the path is not the root split or queued parent.
404 Not Found
{ "error": "Transaction with ID 'txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94' not found", "error_detail": { "code": "TXN_NOT_FOUND", "message": "Transaction with ID 'txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94' not found" }}
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.