Endpoint
POST:{{baseURL}}/v2/payout
Request Details
Headers
Include these headers in your request:| Header | Value | Required |
|---|---|---|
Content-Type | application/json | ✅ Yes |
x-api-key | YOUR_API_KEY | ✅ Yes |
Request Examples
Here are examples of how to make a GBP payout request in different languages.Request Body Breakdown
| Field | Type | Description | Required |
|---|---|---|---|
quoteId | String | The unique ID of the quote for this payout. | ✅ Yes |
reason | String | The purpose of the transfer (e.g., Payment for services). | ✅ Yes |
remark | String | An optional, additional note about the transaction. | ✅ Yes |
recipient | Object | An object containing all details about the person receiving the funds. | ✅ Yes |
recipient.firstName | String | The first name of the recipient. | ✅ Yes |
recipient.lastName | String | The last name of the recipient. | ✅ Yes |
recipient.type | String | The type of recipient. Enum: INDIVIDUAL, BUSINESS. | ✅ Yes |
recipient.paymentChannel | String | The payment method. Must be BANK_TRANSFER for GBP payouts. | ✅ Yes |
recipient.currency | String | The ISO currency code. Must be GBP. | ✅ Yes |
recipient.country | String | The recipient’s two-letter ISO country code. Must be GB. | ✅ Yes |
recipient.stored | Boolean | A flag indicating whether to save the recipient for future use. | ✅ Yes |
recipient.account | Object | An object containing the recipient’s bank account details. | ✅ Yes |
recipient.account.bankName | String | The name of the recipient’s bank. | ✅ Yes |
recipient.account.sortCode | String | The 6-digit sort code of the UK bank account. | ✅ Yes |
recipient.account.address | String | The recipient’s residential or business address. | ✅ Yes |
recipient.account.accountNumber | String | The 8-digit bank account number of the recipient. | ✅ Yes |
Success Response (200 OK)
If the payout is successfully created, the API returns the following response:copy
Response Breakdown
| Field | Type | Description | |
|---|---|---|---|
message | String | A confirmation message indicating the result of the request. | |
status | String | The overall status of the request, e.g., success. | |
data | Object | A container for all the transaction data. | |
data.id | String | The unique identifier for this payout transaction. | |
data.remark | String | The remark or note that was provided in the request. | |
data.reason | String | The reason for the payout provided in the request. | |
data.referenceNumber | String | A unique reference number generated for the payout. | |
data.type | String | The type of transaction, e.g., SEND. | |
data.state | String | The current state of the payout (COMPLETED, PENDING, etc.). | |
data.quote.source.currency | String | The three-letter currency code of the source funds. | |
data.quote.target.amount | Number | The converted amount that the recipient will receive. | |
data.recipient.name | String | The full name of the recipient. | |
data.recipient.account.accountNumber | String | The recipient’s bank account number. | |
data.recipient.account.sortCode | String | The sort code of the recipient’s bank account. | |
data.recipient.account.bankName | String | The name of the recipient’s bank. | |
data.created | String | ISO 8601 timestamp of when the transaction was created. | |
data.processed | String | ISO 8601 timestamp of when the transaction was processed. | --- |
Payout Transaction States
The payout transaction can have one of the following states:| State | Description |
|---|---|
COMPLETED | The payout was successfully processed. |
PENDING | The payout is still being processed. |
FAILED | The payout failed to process. |
REFUNDED | The payout has been sent back to sender. |
Error Handling
| Status Code | Meaning | Example Response |
|---|---|---|
400 | Insufficient Balance | Insufficient Balance |
401 | Unauthorized | Invalid API key provided. |
403 | Forbidden | IP not whitelisted |
404 | Not Found | The requested endpoint does not exist. |
422 | Unprocessable Entity | Invalid quote ID provided. |
500 | Internal Server Error | An internal error occurred. |
Best Practices
✅ EnsurequoteId is valid and linked to an existing quote.✅ Confirm that the recipient’s bank account number and bank code are correct.
✅ Use a valid API key in the headers.
✅ Handle error responses correctly in your integration.

