Skip to main content
Initiate a Payout
Use this endpoint to send funds from a virtual account to a verified beneficiary contact. You can route payments over IMPS, NEFT, RTGS, or UPI by specifying the payment_mode in your request body.
Only VERIFIED contacts can receive payouts. Call the Get Contact Status API before initiating if you are unsure of the beneficiary’s verification state.

Headers

string
required
Your secret API key.
string
required
Must be application/json.
string
required
Your whitelisted server IP address.

Request Body Example

Request Parameters

uuid
required
The contact_id generated when you created the beneficiary contact.
string
required
Transfer mode. Accepted values: IMPS, NEFT, RTGS, UPI.
string
required
Amount to transfer, expressed as a decimal string (e.g., "200.00").
string
required
Your unique internal transaction ID used to track this payout on your side.
string
required
Narration or remarks for the fund transfer.
string
Permissible purpose code for the transaction. See Transaction Purpose Codes for the full list of accepted bs_code values.
string
required
The virtual account ID from which the funds will be debited.

Sample Request

Success Response

Save the bluswap_transaction_id from the response. You will need it to poll the Check Transaction Status endpoint or reconcile webhook callbacks.

Error Responses

This error occurs when the beneficiary verification process is still in progress.
Recommended Action: Call the Get Contact Status API. Wait until the status becomes VERIFIED, then retry the payout request.