SWIFT Beneficiary (USD)
SWIFT is the international wire rail for USD payouts to bank accounts in 110+ countries. A SWIFT beneficiary is created with the same Add Beneficiary endpoint as any other beneficiary; only the destination object differs.
This page is the single reference for the SWIFT destination schema. The country pages under Beneficiaries show a ready-to-run sample per country and list only the fields that are specific to that country.
SWIFT is USD only. currency must be USD whenever destination.type is
SWIFT. Conversely, a USD beneficiary must use SWIFT in every country
except the United States, China, Hong Kong and Liberia, which have their own
USD rails.
Sample request
curl --location '{{baseURL}}/beneficiaries' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{APIKEY}}' \
--data '{
"reference": "<sample-reference>",
"customerEmail": "customer@example.com",
"callbackUrl": "https://example.com/webhooks/beneficiaries",
"country": "GB",
"currency": "USD",
"destination": {
"type": "SWIFT",
"accountName": "Ada Lovelace",
"accountNumber": "GB29NWBK60161331926819",
"swiftCode": "NWBKGB2L",
"sortCode": "601613",
"bankName": "NatWest Bank",
"bankAddress": "250 Bishopsgate",
"bankCity": "London",
"bankPostCode": "EC2M 4AA",
"bankCountry": "GB",
"remittancePurpose": "FAMILY_SUPPORT",
"beneficiary": {
"type": "INDIVIDUAL",
"country": "GB",
"city": "London",
"state": "England",
"postCode": "EC2M 4AA",
"address": "12 Baker Street",
"phoneNumber": "+447700900123",
"nationality": "GB",
"idType": "PASSPORT",
"idNumber": "P1234567",
"idExpiration": "2030-01-15",
"gender": "FEMALE",
"dateOfBirth": "1990-05-20"
},
"sender": {
"type": "INDIVIDUAL",
"accountName": "John Smith",
"country": "US",
"city": "New York",
"state": "NY",
"address": "123 Main St",
"postCode": "10001",
"phoneNumber": "+12125550123",
"email": "john.smith@example.com",
"gender": "MALE",
"idType": "PASSPORT",
"idNumber": "US1234567",
"idIssueDate": "2020-06-01",
"dateOfBirth": "1985-03-15",
"countryOfBirth": "US",
"complianceDocument": {
"proofOfIdentity": "<document-reference>"
}
}
}
}'The top-level fields (reference, callbackUrl, customerEmail, country, currency) are the same as for every beneficiary; see Add Beneficiary. country is the destination country of the bank account.
Destination parameters
| Parameter | Description | Required |
|---|---|---|
| type | Must be SWIFT. | ✅ |
| accountName | Name on the receiving bank account. | ✅ |
| accountNumber | Account number or IBAN of the receiving account. Some countries require an IBAN (see country-specific fields). | ✅ |
| swiftCode | SWIFT/BIC of the receiving bank. 8 or 11 characters, uppercase, format AAAABBCC or AAAABBCCDDD. | ✅ |
| bankName | Name of the receiving bank. | ✅ |
| bankAddress | Street address of the receiving bank. | ✅ |
| bankCity | City of the receiving bank. | ✅ |
| bankPostCode | Post code of the receiving bank. | ✅ |
| bankCountry | ISO 3166-1 alpha-2 country code of the receiving bank, e.g. GB. | ✅ |
| bankState | State or province of the receiving bank. Optional; some receiving banks require it. | |
| remittancePurpose | Purpose of the transfer. One of the remittance purposes below. | ✅ |
| intermediaryBank | Optional object { "code": "<BIC>", "name": "<bank name>" } for a correspondent bank. When present, both code and name are required. | |
| beneficiary | Details of the account holder. Shape depends on beneficiary.type (INDIVIDUAL or BUSINESS). See Beneficiary parameters. | ✅ |
| sender | Details of the party the funds are sent on behalf of. Shape depends on sender.type. See Sender parameters. | ✅ |
Phone numbers must be in international MSISDN format with a leading + and
country code, e.g. +15551234567. Dates are YYYY-MM-DD. The sender's name
and address, and the beneficiary's address, are limited to 35 characters
because of the SWIFT message format.
Beneficiary parameters
beneficiary.type: "INDIVIDUAL"
| Parameter | Description | Required |
|---|---|---|
| beneficiary[type] | INDIVIDUAL | ✅ |
| beneficiary[country] | Country of residence (ISO alpha-2). | ✅ |
| beneficiary[city] | City. | ✅ |
| beneficiary[state] | State, province or region. | ✅ |
| beneficiary[postCode] | Post code. | ✅ |
| beneficiary[address] | Street address, max 35 characters. | ✅ |
| beneficiary[addressLineTwo] | Second address line. | |
| beneficiary[phoneNumber] | Phone number in MSISDN format. | ✅ |
| beneficiary[nationality] | Nationality (ISO alpha-2). | ✅ |
| beneficiary[idType] | One of the ID types. Must be TAX_ID for tax-ID countries. | ✅ |
| beneficiary[idNumber] | Identification document number. | ✅ |
| beneficiary[idExpiration] | Expiry date of the identification document. | ✅ |
| beneficiary[gender] | MALE, FEMALE or OTHERS. | ✅ |
| beneficiary[dateOfBirth] | Date of birth. | ✅ |
| beneficiary[taxIdNumber] | Tax identification number. Required only for tax-ID countries. | Conditional |
beneficiary.type: "BUSINESS"
| Parameter | Description | Required |
|---|---|---|
| beneficiary[type] | BUSINESS | ✅ |
| beneficiary[country] | Country of registration (ISO alpha-2). | ✅ |
| beneficiary[city] | City. | ✅ |
| beneficiary[state] | State, province or region. | ✅ |
| beneficiary[postCode] | Post code. | ✅ |
| beneficiary[address] | Registered address, max 35 characters. | ✅ |
| beneficiary[phoneNumber] | Phone number in MSISDN format. | ✅ |
| beneficiary[businessType] | One of the business types. | ✅ |
| beneficiary[businessRegistrationType] | One of the business registration types. | ✅ |
| beneficiary[businessRegistrationNumber] | Company registration number. | ✅ |
| beneficiary[businessRegistrationIssueDate] | Date the registration was issued. | ✅ |
| beneficiary[businessIdValidThru] | Expiry date of the business registration document. | ✅ |
| beneficiary[taxIdNumber] | Tax identification number. Required only for tax-ID countries. | Conditional |
Sender parameters
The sender is the person or company on whose behalf you send the funds. Sender details are bound to the beneficiary once created; to send from a different sender, create a new beneficiary (see Beneficiary basics).
sender.type: "INDIVIDUAL"
| Parameter | Description | Required |
|---|---|---|
| sender[type] | INDIVIDUAL | ✅ |
| sender[accountName] | Full name, max 35 characters. | ✅ |
| sender[country] | Country of residence (ISO alpha-2). | ✅ |
| sender[city] | City. | ✅ |
| sender[state] | State, province or region. | ✅ |
| sender[address] | Street address, max 35 characters. | ✅ |
| sender[postCode] | Post code. | ✅ |
| sender[phoneNumber] | Phone number in MSISDN format. | ✅ |
| sender[email] | Email address. | ✅ |
| sender[gender] | MALE, FEMALE or OTHERS. | ✅ |
| sender[idType] | One of the ID types. | ✅ |
| sender[idNumber] | Identification document number. | ✅ |
| sender[idIssueDate] | Issue date of the identification document. | ✅ |
| sender[dateOfBirth] | Date of birth. | ✅ |
| sender[countryOfBirth] | Country of birth (ISO alpha-2). | ✅ |
| sender[complianceDocument] | { "proofOfIdentity": "<document-reference>" }. See Compliance document. | ✅ |
sender.type: "BUSINESS"
| Parameter | Description | Required |
|---|---|---|
| sender[type] | BUSINESS | ✅ |
| sender[accountName] | Registered business name, max 35 characters. | ✅ |
| sender[country] | Country of registration (ISO alpha-2). | ✅ |
| sender[city] | City. | ✅ |
| sender[state] | State, province or region. | ✅ |
| sender[address] | Registered address, max 35 characters. | ✅ |
| sender[postCode] | Post code. | ✅ |
| sender[phoneNumber] | Phone number in MSISDN format. | ✅ |
| sender[email] | Email address. | ✅ |
| sender[businessType] | One of the business types. | ✅ |
| sender[businessRegistrationType] | One of the business registration types. | ✅ |
| sender[businessRegistrationNumber] | Company registration number. | ✅ |
| sender[businessRegistrationIssueDate] | Date the registration was issued. | ✅ |
| sender[complianceDocument] | { "proofOfIdentity": "<document-reference>" }. See Compliance document. | ✅ |
Compliance document
Every SWIFT sender must carry complianceDocument.proofOfIdentity: the key of a document uploaded with Upload Document.
sender.type | Document |
|---|---|
INDIVIDUAL | Government-issued identity document (passport, national ID, driving licence) matching idType/idNumber. |
BUSINESS | Business registration document (certificate of incorporation or registration) matching businessRegistrationNumber. |
- The value is the
keyreturned by the upload, e.g.documents/<companyId>/<uuid>.pdf, not the signedurl. - Brails verifies that the key belongs to your business and that the file exists before accepting the beneficiary. An unknown key is rejected with
Failed to create beneficiary; a foreign key withUpload does not belong to this company. - The same key can be reused for every beneficiary created for the same sender. It is forwarded to the payout partner with every transfer.
Upload as pdf, jpg, jpeg or png and keep the file under 5 MB so the
payout partner accepts it. See Documents & Compliance.
Country-specific fields
Most countries accept the standard schema above. The countries below add or change destination fields.
| Country | Additional requirement |
|---|---|
| United Kingdom (GB) | sortCode: 6 digits, no dashes or spaces. |
| Australia (AU) | BSBNumber: 6 digits. |
| Canada (CA) | routingCode: bank routing / transit code. |
| India (IN) | IFSCode: 11 characters, format AAAA0XXXXXX. |
| Philippines (PH) | routingNumber: 9 digits; accountType: CHECKING or SAVINGS; beneficiary taxIdNumber required. |
| Dominican Republic (DO) | accountType: CHECKING or SAVINGS; beneficiary taxIdNumber required. |
| Indonesia (ID), Malaysia (MY), Singapore (SG), Zambia (ZM) | bankCode: local bank code of the receiving bank. |
| El Salvador (SV) | accountNumber must be the 28-character IBAN, no spaces. |
Tax-ID countries. For Angola, Argentina, Chile, Costa Rica, Dominican
Republic, Ecuador, Guatemala, Honduras, Japan, Mexico, Peru, Philippines,
South Korea and Thailand the beneficiary taxIdNumber is required and an
individual beneficiary's idType must be TAX_ID.
Countries on the compact schema (China, Côte d'Ivoire, Gambia, Ghana, Guinea, Kenya, Liberia, Malawi, Nigeria, Rwanda, Senegal, Tanzania, Uganda) and Canada, India, Guyana and El Salvador do not use bankState or intermediaryBank; the fields are ignored if sent.
To discover the exact fields for a country programmatically, call Get Supported Countries with the country code: the destination entry lists one field set per payment method.
Enumerations
Remittance purposes
FAMILY_SUPPORT, EDUCATION, GIFT_AND_DONATION, MEDICAL_TREATMENT, MAINTENANCE_EXPENSES, TRAVEL, SMALL_VALUE_REMITTANCE, LIBERALIZED_REMITTANCE, OTHER, CONSTRUCTION_EXPENSES, HOTEL_ACCOMMODATION, ADVERTISING_EXPENSES, ADVISORY_FEES, BUSINESS_INSURANCE, INSURANCE_CLAIMS, DELIVERY_FEES, EXPORTED_GOODS, SERVICE_CHARGES, LOAN_PAYMENT, OFFICE_EXPENSES, PROPERTY_PURCHASE, PROPERTY_RENTAL, ROYALTY_FEES, SHARES_INVESTMENT, FUND_INVESTMENT, TAX_PAYMENT, TRANSPORTATION_FEES, UTILITY_BILLS, PERSONAL_TRANSFER, SALARY_PAYMENT, OTHER_FEES, COMPUTER_SERVICES, REWARD_PAYMENT, INFLUENCER_PAYMENT
ID types
NATIONAL_ID, PASSPORT, DRIVING_LICENSE, GOVERNMENT_ID, CITIZENSHIP_CARD, SENIOR_CITIZEN_ID, RESIDENCE_PERMIT, RESIDENT_CARD, GCC_ID, EMIRATES_ID, TAX_ID
Business types
AGRICULTURE, AUTOMOTIVE, BANKING, FINTECH, CONSTRUCTION, EDUCATION, INFORMATION_TECHNOLOGY, MANUFACTURING, RETAIL, REAL_ESTATE, TRANSPORTATION_AND_LOGISTICS, PROFESSIONAL_SERVICES, OTHERS
Business registration types
PARTNERSHIP, CORPORATION, SOLE_PROPRIETORSHIP, GOVERNMENT, NGO, PRIVATE_LTD, LLC, BSC
Genders
MALE, FEMALE, OTHERS
Paying a SWIFT beneficiary
- Create the beneficiary as above and wait for
beneficiary.status.changed. SWIFT beneficiaries can be paid whilePENDING,PROCESSINGorSUCCESS. - Call Quote to get the fee and rate.
- Initiate the payout with
beneficiaryId. Theamountis in cents. For business transactions pass the invoicekeyasreceiptRef. - If you did not pass
receiptRef, attach the document before finalizing. - Finalize the payout (legacy flow) or wait for the payout webhook.
Supporting document. An invoice, contract or receipt is required for every
business transaction (B2B, B2C, C2B), i.e. unless both sender.type and
beneficiary.type are INDIVIDUAL. Initiating without it returns 422 document_required; a payout that reaches processing without it fails with
Please upload the required document before processing this transaction. See
Documents & Compliance.
Settlement, limits and fees
- Settlement: T + 3 business days after the payout is processed. See Transfers for cut-off times.
- Limits: per-country USD limits are listed on Supported Countries. Amounts outside the range are rejected with
Amount is below minimum limitorAmount is above maximum limit. - Fees: SWIFT payouts use a tiered fee that depends on the amount. The Quote response returns the exact fee for a given amount.
Validation errors
Beneficiary creation returns 400 with one of the messages below when the payload does not meet the SWIFT rules.
| Message | Cause |
|---|---|
Currency must be USD for SWIFT transactions | destination.type is SWIFT but currency is not USD. |
Payment type must be SWIFT for USD beneficiaries | currency is USD but destination.type is not SWIFT (outside US/CN/HK/LR). |
SwiftCode is required for SWIFT transactions | swiftCode missing. |
Validation failed | One or more fields fail the schema. details lists each field and its message. |
Beneficiary country is currently not available | The country is not enabled for payouts. |
Beneficiary with same reference exists | reference already used. |
Failed to create beneficiary | The complianceDocument.proofOfIdentity reference could not be found in storage. |
Example schema failure:
{
"error": "Validation failed",
"code": "VALIDATION_FAILED",
"details": [
{
"path": "destination.swiftCode",
"message": "Invalid SWIFT/BIC format. Must be 8 or 11 characters: AAAABBCC or AAAABBCCDDD",
"code": "invalid_pattern"
},
{
"path": "destination.sender.phoneNumber",
"message": "Sender phone number must be in the msisdn international format (+15551234567)",
"code": "invalid_pattern"
}
]
}