Skip to main content
After you create an inflight transaction, you commit or void it when your business conditions are met. You can also schedule automatic commit or expiry when you record the transaction.

Update inflight transactions

When your business conditions are met, finish the inflight transaction in one of two ways:
  • Commit applies the transfer. Blnk clears the inflight balance fields and moves the reserved amount into your settled main balances. Blnk creates a child transaction with APPLIED status.
  • Void cancels the inflight transaction. Blnk releases the reserved amount without changing settled balances. Blnk creates a child transaction with VOID status.
Scenarios when inflight transactions are finished processing
1

Commit or void

To commit or void an inflight transaction, call Update inflight with the inflight transaction ID and the desired status.
Update inflight
Set "status": "commit" in the request body to commit the inflight transaction.By default, Blnk queues the action for processing. If you want to skip the queue, add "skip_queue": true to apply the commit immediately in the same request.
Commit clears inflight balances and updates main balances. Continuing from earlier example, the $100 inflight transaction from balance_A to balance_B after a full commit looks like this:
2

Verify the final status with webhooks

Blnk sends transaction.applied or transaction.void once a commit or void is finalized.You can identify these events by matching the QUEUED_PARENT_TRANSACTION field in the meta_data of the child transaction with its original parent.If the commit or void skipped the queue, match their parent_transaction against the inflight transaction ID directly.
transaction.applied
3

Alternatively, poll the ledger for updates

You can also poll for the results with Search.
Filter for all APPLIED or VOID children where meta_data.QUEUED_PARENT_TRANSACTION matches the original inflight transaction’s queued parent.In the queued path, Blnk creates intermediate records for each commit and void. The original inflight’s QUEUED_PARENT_TRANSACTION is copied to every child - that’s your shared filter key.Each child’s parent_transaction points to its specific intermediate record (the queued commit or void itself), which is why those IDs differ.
Response

Schedule inflight commits

Available in version 0.14.1 and later.
When you create an inflight transaction, Blnk holds the balance immediately but only finalizes it when you manually send a commit or void request. Use inflight_commit_date to schedule an automatic commit for a specific future time. This is useful when funds need to be reserved now but transferred later, e.g. holding a hotel deposit today and committing automatically on check-in day.
Prerequisite: Scheduled commits are processed through a background queue.Before using inflight_commit_date, enable BLNK_QUEUE_INFLIGHT_COMMIT in your environment or inflight_commit_queue in blnk.json. See Queue configuration.
Format inflight_commit_date as YYYY-MM-DDTHH:MM:SS+00:00 (for example, 2024-04-22T15:28:03+00:00), where +00:00 is the timezone offset.
201 Created

Schedule inflight expiry

A transaction will always stay inflight until you commit it, void it, or it expires. Use inflight_expiry_date to cap how long funds can remain held. If a transaction is still INFLIGHT when the expiry time passes, Blnk voids it automatically. Same outcome as a manual void. This creates a child record with VOID status and releases the held balance without affecting settled balances.
If you use both inflight_commit_date and inflight_expiry_date, set the commit time before the expiry. Otherwise Blnk will auto-void before the scheduled commit can run.
201 Created
Format inflight_expiry_date as YYYY-MM-DDTHH:MM:SS+00:00 (for example, 2024-04-22T15:28:03+00:00), where +00:00 is the timezone offset.

Error handling

Structured errors are available from Blnk Core 0.15.0 and later.
Update inflight returns 400, 404, and 409 responses when a commit or void request fails validation or conflicts with the inflight transaction’s current state. On the default queued path, Blnk rejects duplicate commit or void requests before enqueueing a second job. With skip_queue: true, Blnk validates synchronously and returns errors immediately.
409 Conflict
To resolve the error: See API error codes for the full catalogue. Request and response field details are on Update inflight.

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.