Skip to main content
POST
/
transactions
/
inflight
/
bulk
/
commit
Bulk commit inflight
curl --request POST \
  --url http://localhost:5001/transactions/inflight/bulk/commit \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/transactions/inflight/bulk/commit"

headers = {"X-blnk-key": "<api-key>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/transactions/inflight/bulk/commit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/transactions/inflight/bulk/commit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "http://localhost:5001/transactions/inflight/bulk/commit"

req, _ := http.NewRequest("POST", url, nil)

req.Header.Add("X-blnk-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("http://localhost:5001/transactions/inflight/bulk/commit")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/transactions/inflight/bulk/commit")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.transactions.bulk_commit_inflight to commit multiple inflight transactions.
1

Call the method

blnk.transactions.bulk_commit_inflight
response = blnk.transactions.bulk_commit_inflight({
  "transactions": [
    {
      "transaction_id": "txn_11111111-1111-4111-8111-111111111111",
    },
    {
      "transaction_id": "txn_22222222-2222-4222-8222-222222222222",
      "amount": 40,
    },
    {
      "transaction_id": "txn_33333333-3333-4333-8333-333333333333",
      "precise_amount": 125034,
    },
  ],
})
FieldTypeDescription
transactionslist[dict]Up to 100 inflight transactions to commit.
transactions[].transaction_idstrInflight transaction ID to commit.
transactions[].amountnumberPartial commit amount. Omit to commit the full remaining inflight amount.
transactions[].precise_amountnumberPrecision-applied partial commit amount. Takes precedence over amount.
skip_queueboolWhen True, process synchronously instead of queuing.
2

Review per-item results

Check response.data["results"] for each transaction’s outcome. Failed items include a code and message without stopping the rest of the batch.
3

Response

200 OK
{
  "succeeded": 2,
  "failed": 1,
  "results": [
    {
      "transaction_id": "txn_11111111-1111-4111-8111-111111111111",
      "status": "succeeded"
    },
    {
      "transaction_id": "txn_22222222-2222-4222-8222-222222222222",
      "status": "succeeded"
    },
    {
      "transaction_id": "txn_33333333-3333-4333-8333-333333333333",
      "status": "failed",
      "code": "INVALID_AMOUNT",
      "message": "cannot commit more than inflight amount"
    }
  ]
}
FieldTypeDescription
succeedednumberNumber committed successfully.
failednumberNumber that failed.
resultslist[dict]Per-transaction outcome in request order.
results[].statusstrsucceeded or failed.
results[].codestrFailure code (for example NOT_FOUND, ALREADY_VOIDED, INVALID_AMOUNT).
results[].messagestrHuman-readable failure message.

Bulk inflight updates

Per-item failure codes and when to use batch updates.

Bulk commit inflight

HTTP request and response schema.

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.