Balad - Client API Published Documentation
    • Release Notes

    Release Notes

    1.87.0#

    Validation Rules: sender_address and receiver_address in create transaction endpoint was changed
    length increased from 70 to 200

    1.85.0#

    New Endpoint: Reconciliation: Trigger reconciliation generation through an API endpoint to fetch account reconciliation details including opening & closing balances and transaction history.

    1.82.0#

    New Endpoint: Export Transactions List : Added capability to export all transaction data via a new API endpoint.

    1.73.0#

    Validation Rules: The following contact number formats are now accepted for wallet numbers:
    +201x (length: 13)
    201x (length: 12)
    01x (length: 11)

    1.71.0#

    Name Validation:
    Sender and receiver names now support dashes in addition to existing character validations
    Contact Number Validation:
    Receiver mobile number validation now applies only to cash transfers
    Spaces in contact numbers are ignored during validation and automatically removed when calling integration APIs

    1.70.0#

    Endpoint: Calculate receiving amount
    Functionality: Calculates and retrieves the receiving amount based on the sending amount. The transaction type is optional; if provided, the API returns the receiving amount in the currency associated with the specified transaction type. If not provided, returns receiving amounts for all available currencies.
    Update: Now accepts lower amounts starting from 1 US dollar for calculation.

    1.69.0#

    Enabled secret generation/deletion from APIs.
    Added exchange rate table under the Configurations module.
    Receiver Contact Number Validation with the following allowed formats:
    01xxxxxxxxx (length: 11)
    201xxxxxxxxx (length: 12)
    +201xxxxxxxxx (length: 13)
    Receiver's Last Name Now Optional in Create Transaction API:
    You can now enter the full name in the receiver's first name field.
    Ensure it matches the name on the receiver's ID without abbreviations.

    1.62.0#

    1.
    New Error Codes Added
    Code 173: "Encryption must be enabled to process card transactions. Please enable encryption and try again"
    Code 174: "Transaction with type {TransactionTypeCode} is currently not available"
    2.
    Create/Update/Bulk Transaction APIs – Parameters Update
    Sender Email: Optional
    Sender Contact Number: Optional
    Sender ID Expiry Date: Optional
    Receiver Address:
    Mandatory only for Account Credit with USD
    Optional for all other types
    Receiver Contact Number: Optional
    Receiver ID: Required only for Instant Cash
    Source of Remittance: Optional
    3.
    New Parameters Added
    sender_country_code: Mandatory, 2-letter ISO code (e.g. EG, US)
    sender_country_of_birth: Optional, max 100 characters
    ⚠️ Any new transaction will not be accepted without sender_country_code.
    4.
    Webhook Updates
    New webhooks set to "In review"
    A support ticket is auto-generated
    Webhooks activated only after approval

    1.55.0#

    Get Available Currencies API – Enhancement
    Updated response format:
    Changes:
    text ➝ replaced with description
    value ➝ replaced with code
    🔧 Action Required: Update integrations to reflect the new response structure.

    1.54.0#

    Mandatory Fields Update
    Only first and last names are now mandatory
    Middle names are optional
    Name Validation
    Name must match official documents (passport/NID)
    📌 Egyptian Users: It's recommended to provide at least four names for compliance.

    1.52.0#

    1.
    Service Configuration API Validation Enhancements
    Better validation for prefixes and lengths
    E.g. "account_number starts with invalid prefix value"
    2.
    New API: Get Exchange Rate
    GET {{BaladBaseURL}}/core/services/:serviceId/exchange-rates
    Returns currency pairs and rates

    1.51.0#

    Test Data in Postman
    Added for: BaladLink, Balad VAS, Balad Bills
    Improved Error Messaging
    "Invalid ID" + "Property X is invalid"

    1.50.0#

    New API: Get Available Currencies
    Service Config API now returns required prefixes
    Bulk Transaction Cancellation API introduced
    Sender Expiry Date now optional in transaction APIs

    1.47.0#

    1.
    Transaction List Filtering by Remitter Reference Number
    Improved search capability via API/dashboard
    2.
    Balad VAS Sandbox
    Suffix-based status simulation
    0101 triggers canceled flow

    1.46.0#

    Receiving Country Passed as Query/Parameter
    Applies to: Purposes, Sources, Banks, Relations, Transactions APIs
    Filter Banks List by Transaction Type
    Transaction Amount Validation
    Max = USD 10,000 or equivalent

    1.44.0#

    Support for Special Characters in Address Fields:
    Now allowed: . , _ / ' |

    1.43.0#

    New API: Update Transaction
    Update all fields within the grace period
    Notes:
    Retains same reference number
    If update fails, original transaction remains
    New grace period starts after update

    1.42.0#

    Create Transaction Enhancements (B2C)
    Last Name Default: Defaults to "company" if not provided
    Company Name Split: Multi-part company names go to last name
    Transaction List Update
    Added "Country" header
    Defaults to Egypt

    1.41.0#

    New API: Get Calculated Receiving Amount
    Estimate receiving amount based on input
    Create Transaction Enhancements
    Middle Name: Optional
    Receiver Identity Type:
    1 = Passport (length 50, letters allowed)
    2 = National ID (length 14, numbers only)
    Address Limit: Max 70 characters, no special characters
    Card Transactions:
    Several mandatory fields (not listed here)
    Built with