Home
Release Notes
Home
Release Notes
Linkedin
  1. Transactions
  • Baladβ„’ Gateway Documentation πŸ“–
  • Get Started
  • Authorization
  • Responses
  • Go Live!
  • FAQs
  • APIs
    • Authentication
      • Token
    • Core
      • Exchange rate
        • Exchange Rates
      • Balance
        • Get Current Balance
      • Secrets
        • Generate Secret
        • Delete Secret
        • Get Secrets
    • Link
      • Sandbox Testing Guide
      • Error Codes
      • Transaction Lifecycle V2
      • Lookups
        • Purposes List
        • Sources List
        • Banks List
        • Relations
      • Transactions
        • Create transaction
          POST
        • Update transaction
          POST
        • Cancel transaction
          POST
        • Get transaction status V2
          GET
        • Transactions List
          GET
        • Export Transactions List
          GET
        • Calculate receiving amount
          POST
        • Validate Account
          POST
      • Reconciliation
        • Reconciliation
  • Webhooks
    • Link.Transaction.StatusUpdateV2
  1. Transactions

Create transaction

POST
/remit-api/v1/transactions
This endpoint is used to initiate a money transfer transaction through Balad’s Collection API.
It supports multiple transaction types (Cash, Card, Bank Account and Wallet) and requires sender, receiver, and transaction details to be passed in the request body.

Sender Details
ParameterRemarks
sender_first_nameFirst or full legal name. Must match valid ID. Could be sender first name only or sender full name (Full Name must be the full legal name of the sender and must exactly match the name as it appears on the sender's valid ID.)
sender_middle_nameMiddle name. Same character rules as first name.
sender_last_nameLast name. Same character rules as first name.
sender_addressFull sender address.
sender_dateofbirthFormat: DD-MMM-YYYY. Example: 01-JUN-2020.
sender_contact_noContact number.
sender_identityIdentity type: 1 = Passport, 2 = Government-issued ID.
sender_identity_noID/Passport number. Allowed: periods (.), commas (,), underscores (_), hyphens (-), space ( ).
sender_identity_expiry_dateID Expiry Date. Format: DD-MMM-YYYY. Must not be expired.
sender_nationalityISO alpha-2 country code (e.g., US, EG).
sender_country_codeISO alpha-2 country code of residence.
sender_country_of_birthCountry of birth, valid country string (e.g., Egypt, United States of America).
sender_gender1 = Male, 2 = Female.
Receiver Details
Transaction Details

Required Fields#

FieldCash Pickup (1)Bank Account (2)Wallet (3)
transaction_typeβœ…βœ…βœ…
remitter_reference_noβœ…βœ…βœ…
sender_first_nameβœ…βœ…βœ…
sender_last_nameβœ…βœ…βŒ
sender_addressβœ…βœ…βœ…
sender_dateofbirthβœ…βœ…βœ…
sender_contact_no❌❌❌
sender_identity (type)❌❌❌
sender_identity_no❌❌❌
sender_identity_expiry_date❌❌❌
sender_nationalityβœ…βœ…βœ…
sender_country_codeβœ…βœ…βœ…
receiver_first_nameβœ…βœ…βœ…
receiver_last_name❌❌❌
receiver_addressβŒβœ…βŒ
receiver_contact_noβœ…βŒβœ…
receiver_identity_type❌❌❌
receiver_identity_no❌❌❌
receiver_gender❌❌❌
receiver_relationship❌❌❌
account_noβŒβœ…βœ…
receiver_bank_codeβœ…βœ…βŒ
sending_currency_codeβœ…βœ…βœ…
amountβœ…βœ…βœ…
source_of_remittance❌❌❌
purposeβœ…βœ…βœ…
value_date❌❌❌
business_model_type❌❌❌

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/json

Examples
{
    "transaction_type": 1,
    "remitter_reference_no": "{{refNo}}",
    "sender_first_name": "SHOHAIB KHAN",
    "sender_last_name": "MOHAMMAD",
    "sender_address": "KUWAIT ROAD KUWAIT",
    "sender_dateofbirth": "10-May-1980",
    "sender_identity": 2,
    "sender_identity_no": "PK12255100",
    "sender_identity_expiry_date": "23-Jul-2027",
    "sender_nationality": "EG",
    "sender_country_code": "KW",
    "sender_contact_no": "96539053100",
    "receiver_first_name": "Mohammad Faisal Rashid",
    "receiver_last_name": "Mustafa",
    "receiver_address": "EGYPT",
    "receiver_identity_type": 2,
    "receiver_nationality": "EG",
    "receiver_contact_no": "01222222103",
    "sending_currency_code": "EGP",
    "amount": "5800",
    "account_no": "01234323456",
    "receiver_bank_code": "BDC",
    "source_of_remittance": "001",
    "purpose": "002"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://gateway-sandbox.balad.tech/remit-api/v1/transactions' \
--header 'X-Country-Code;' \
--header 'X-IV-Key;' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "transaction_type": 1,
    "remitter_reference_no": "{{refNo}}",
    "sender_first_name": "SHOHAIB KHAN",
    "sender_last_name": "MOHAMMAD",
    "sender_address": "KUWAIT ROAD KUWAIT",
    "sender_dateofbirth": "10-May-1980",
    "sender_identity": 2,
    "sender_identity_no": "PK12255100",
    "sender_identity_expiry_date": "23-Jul-2027",
    "sender_nationality": "EG",
    "sender_country_code": "KW",
    "sender_contact_no": "96539053100",
    "receiver_first_name": "Mohammad Faisal Rashid",
    "receiver_last_name": "Mustafa",
    "receiver_address": "EGYPT",
    "receiver_identity_type": 2,
    "receiver_nationality": "EG",
    "receiver_contact_no": "01222222103",
    "sending_currency_code": "EGP",
    "amount": "5800",
    "account_no": "01234323456",
    "receiver_bank_code": "BDC",
    "source_of_remittance": "001",
    "purpose": "002"
}'

Responses

🟒200Success
application/json
Bodyapplication/json

Examples
{
    "data": {
        "remitter_reference_no": "XXXXXXXXXXXXXXXXXXX",
        "delivery_estimate": "XXXXXXXXXXXXXXXXXXX"
    },
    "errors": null
}
🟠400Mandatory field is required
🟒200Create - Cash Transaction
🟒200Create - Account credit Transaction
🟒200Create - Wallet Transaction
Previous
Relations
Next
Update transaction
Built with