/transactions/{userId}/paymentsPerform International Wire Payment
Executes an International Wire payment. Call Preview International Wire Payment first to inspect fees and details before executing.
Path variables
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
userId | string | Required | — | Unique user ID initiating the payment. |
Headers
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
session-token | string | Required | — | SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header. |
Request body
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
TransferType | string | Required | INTERNATIONAL_WIRE | Must be `INTERNATIONAL_WIRE` for this payment type. |
CounterpartyId | string | Required | — | Counterparty ID for the payment. |
InstrumentId | string | Required | — | Payment instrument ID. |
Amount | string | Required | — | Payment amount. |
PaymentPurpose | string | Required | Refer to the Payment Purpose endpoint to get the list of possible values. | Purpose code for the payment. |
IntermediaryABA | string | Required | — | ABA routing number of the intermediary bank, if applicable. |
IsCryptoTransaction | string | Required | true | false | Whether this is a crypto transaction. |
SupportingDocument | string | Optional | — | File ID of a previously uploaded document (see **File Upload** endpoint). Required when the Amount exceeds the configured threshold for the user's group. The threshold value can be retrieved from the Config Data endpoint. |
Description | string | Optional | — | Payment description. |
Example request
{
"TransferType": "INTERNATIONAL_WIRE",
"CounterpartyId": "{{counterpartyId}}",
"InstrumentId": "{{instrumentId}}",
"IsCryptoTransaction": "false",
"PaymentPurpose": "Asset_Purchase",
"IntermediaryABA": "084009519",
"SupportingDocument": "-870429145188356199",
"Amount": "100.00",
"Description": "Test API"
}To attach a supporting document, add `SupportingDocument` using the file ID returned by the **File Upload** endpoint and update the `CounterpartyId`, `InstrumentId` and `IntermediaryABA` with the actual counterparty ,instrument and intermediary ABA number.
Response
| Field | Type | Possible values | Description |
|---|---|---|---|
ResponseCode | integer | 200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503 | 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 | object | Please refer to below example for response body | Executed International Wire payment transaction details. |
Example response
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"ResponseData": {
"TransactionId": "106851973951041333",
"TransactionNumber": "FV000726661",
"Date": "2026-06-23T05:52:00.947-04:00",
"Currency": "USD",
"TransferType": {
"Name": "Payment - International Wire"
},
"Amount": "100.00",
"FromAccount": {
"Id": "-2050372247559426224",
"Number": "572232890",
"Type": "Account (USD)"
},
"Receiver": {
"Id": "4155588038957117405",
"Name": "Acme Corporation private ltd",
"Email": "accounting@acmecorp.com"
},
"ReceiverPaymentInstrument": {
"Id": "4425804016599347165",
"RoutingNumber": null,
"AccountNumber": "****6818"
},
"PaymentPurpose": "Asset_Purchase",
"Description": "Test API",
"AuthorizationStatus": "pending"
}
}Provide `CounterpartyId`, `InstrumentId`, and a `SupportingDocument` file ID. `IntermediaryABA` are optional required fields.
Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.