Skip to main content
GET
/
transactions
/
{transaction_id}
Get transaction
curl --request GET \
  --url http://localhost:5001/transactions/{transaction_id} \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/transactions/{transaction_id}"

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

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

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

fetch('http://localhost:5001/transactions/{transaction_id}', 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/{transaction_id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  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/{transaction_id}"

	req, _ := http.NewRequest("GET", 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.get("http://localhost:5001/transactions/{transaction_id}")
  .header("X-blnk-key", "<api-key>")
  .asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/transactions/{transaction_id}")

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

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

response = http.request(request)
puts response.read_body
Use blnk.Transactions.get to fetch a single transaction by its transaction ID.
The TypeScript SDK does not expose a list method for transactions. Use Search or get by reference instead.
1

Call the method

blnk.Transactions.get
const response = await blnk.Transactions.get(
  'txn_93c3f6dc-9c2c-46b0-89c5-1814cef4d0e4',
);
FieldTypeDescription
transactionIdstringTransaction ID to retrieve.
2

Use the transaction details

Read response.data for status, amounts, source, destination, and metadata. Use the transaction ID for refunds, inflight updates, or lineage queries.
3

Response

200 OK
{
  "precise_amount": 300,
  "amount": 3,
  "rate": 0,
  "precision": 100,
  "transaction_id": "txn_93c3f6dc-9c2c-46b0-89c5-1814cef4d0e4",
  "parent_transaction": "",
  "source": "bln_845bbf20-cc0c-41d2-810b-24f104f1cb8b",
  "destination": "bln_e92a1ba7-92c7-427c-8c8f-bfdca55c875d",
  "reference": "ref_04551509-d7d3-4eab-a1fd-2eb12809b5a4",
  "currency": "BTC",
  "description": "test",
  "status": "APPLIED",
  "hash": "0b9c25fb5b00d6c71cb4ca87026bf6dc316e63353d3330deb588bd0b3d74dcc0",
  "allow_overdraft": false,
  "inflight": false,
  "created_at": "2025-02-08T13:36:42.748594Z",
  "scheduled_for": "0001-01-01T00:00:00Z",
  "meta_data": {
    "customer_id": "12345",
    "payment_method": "card"
  }
}
FieldTypeDescription
transaction_idstringUnique ID for the transaction.
statusstringCurrent status of the transaction.
sourcestringSource balance.
destinationstringDestination balance.
referencestringReference you supplied at create time.
meta_dataRecord<string, unknown>Metadata stored with the transaction.

How transactions work

Money movement, statuses, and the transaction lifecycle.

View transaction details

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.