POST
/v2/cross-borderSubmit - Send Cross Border Payment
Submits a cross-border payment using the payment instrument ID, purpose, description, destination amount/currency, and optional supporting document (File ID from Upload File). If QuoteID is omitted, a new quote is generated automatically.
Headers
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
Authorization | string | Required | Bearer {SessionToken} | Session token from Get Session Token, sent as `Authorization: Bearer {SessionToken}`. Replace with the value from the `x-refresh-token` response header when present (typically within 2 minutes of expiry). Secured calls must use the same IP as the auth request. |
Request body
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
BeneficiaryPaymentInstrumentID | string | Required | {paymentInstrumentID} | Payment instrument ID linked to the beneficiary (from List or Create Payment Instrument). |
Purpose | string | Required | Asset_Purchase | Contract_Payment | Other | Education_Payment | Payroll | dividends | Mortgage_Payments | Materials_Purchase | Loan_Payments | Professional_Service_Payments | Invoice_Payment | Investment_Purchase | Savings | Rent_Utility_Payments | reimbursements | Tax_Payments | Personal_Family_Payment | settlement_trade | treasury_movement | gift_donation | remittance | Regulatory purpose code for the payment. Must be one of the allowed values. |
Description | string | Required | Test API Payment | Short memo or narrative for the transaction (shown in history and details). |
DestinationAmount | string | Required | 150 | Amount the beneficiary receives, in destination currency, as a decimal string. |
DestinationCurrency | string | Required | EUR | Currency the beneficiary receives (e.g. EUR, USD, GBP). |
CryptoBuySellActivity | string | Required | Yes | No | Whether the transaction involves buying or selling cryptocurrency: `Yes` or `No`. |
SupportingDocument | string | Required | {fileID} | File ID from Upload File (`customField`: Payment_Invoice) for invoice or supporting documentation. |
DocumentReferenceNumber | string | Required | 13214654987 | Reference number for the supporting document (e.g. passport or driver license number). |
QuoteID | string | Optional | — | Quote ID from Preview - Send Cross Border Payment. Locks the FX rate; if omitted, a new quote is created at submit time. |
Example request
{
"BeneficiaryPaymentInstrumentID": "{paymentInstrumentID}",
"Purpose": "Savings",
"Description": "Testing SEPA payments",
"DestinationAmount": "830",
"DestinationCurrency": "EUR",
"CryptoBuySellActivity": "Yes",
"SupportingDocument": "{fileID}",
"DocumentReferenceNumber": "324324324"
}Response
| Field | Type | Possible values | Description |
|---|---|---|---|
ResponseCode | integer | 200 | 201 | 204 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 301 | 503 | 422 | API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized). |
ResponseMessage | string | Success | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity | Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome. |
ResponseData | Objet | Please refer to below example for response body | Contains TransactionNumber for use with Get Transaction Details. |
Example response
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"ResponseData": {
"TransactionNumber": "FV000007938"
}
}Requires `Authorization: Bearer {SessionToken}` from Get Session Token. Refresh via `x-refresh-token` when supplied; use the same client IP as authentication.