Retrieve a completed API transaction by its transaction ID, its reference, or the merchant_reference that you supplied. Required scope: transaction:read.
Authorization
oauth2ClientCredentials transaction:readUse your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.
In: header
Scope: transaction:read
Path Parameters
Transaction ID, transaction reference, or the merchant_reference that you supplied. Blaaiz reads the identifiers in that order.
Response Body
application/json
application/json
application/json
curl --request GET \ --url 'https://example.com/api/external/transaction/string'{ "message": "Transaction retrieved successfully", "data": { "id": "txn_payout_001", "business_id": "business_123", "business_customer_id": "customer_123", "business_wallet_id": "wallet_ngn_001", "status": "SUCCESSFUL", "refund_status": null, "type": "payout", "reference": "payout_ref_001", "external_reference": "NGN-PAYOUT-001", "currency": "NGN", "amount": 50000, "amount_without_fee": 49500, "fee": 500, "rate": null, "date": "2026-03-13T10:30:00.000000Z", "payee_collection_email": null, "source_information": { "collection_email": null, "collection_name": null }, "swap_details": null, "recipient": { "id": "recipient_123", "account_number": "0123456789", "account_name": "John Doe", "amount": 50000, "currency": "NGN", "bank_name": "Access Bank", "bank_code": "044", "status": "SUCCESSFUL", "routing_number": null, "email": null }, "refund": null }}POSTRequest file upload URL
**Individual customers only.** Request a pre-signed URL to upload a legacy 4-slot KYC file for an individual customer. **For `type=business` customers, do not use this endpoint.** Use the dedicated KYB upload endpoints — `POST /api/external/customer/{customer}/owner/{owner}/file/presigned-url` for owner ID files and `POST /api/external/customer/{customer}/document/presigned-url` for KYB documents. See the [Business customer KYB guide](/docs/guides/kyb/overview). Upload process: 1. Make a PUT request to the `upload_url`. 2. Include the headers from the response. 3. Send the file as binary data in the request body. 4. Once uploaded, use the `file_id` to attach the file to the customer record via `POST /api/external/customer/{id}/files`. IMPORTANT — Accepted identity documents: Only a Driver's License, Passport, or Resident Permit is accepted. ID cards (National Identity Cards) are NOT accepted. IMPORTANT — Document quality: All uploaded documents must be clear, legible, and authentic. Blurry, cropped, obscured, or unclear images will not be reviewed and will be rejected. Fraudulent or falsified documents will not be tolerated — repeated attempts will result in the customer being permanently blacklisted from the platform. There are no exceptions or compromises. Required scope: `file:upload`.
POSTList transactions
Retrieve a paginated list of completed API transactions for your business. You can filter by date range, status, customer, wallet, and transaction type. Use `type: SWAP` to return only swap transactions. Required scope: `transaction:read`.