Search...
Log inGet started
Airwallex logo
Home
Core API
Payments
Transactional FX
Payouts
Issuing
Back to home
OverviewHow Airwallex Payouts work
Payout network
Use cases
Errors
Transfer error codes
Batch transfer error codes
Test and go live
Older API versions

Transfer error codes

This page describes the latest error response structure and error codes.

For error code values before API version 2024-01-31 or error response structures before API version 2024-09-27, please see Error codes (older versions).

All the possible errors associated with the HTTP 400 status code while creating/managing transfers and beneficiaries via our API endpoints are listed in this page.

For 400 errors generally, the response you receive will contain:

  • code: A semantic code specifying the error encountered;
  • source: This indicates the procedure where the error is encountered, e.g. transfer or conversion; or the specific parameter with error, e.g. request_id;
  • message: A brief statement that explains the code. For detailed handling instructions of each error, please see the 400 errors below; and
  • details: An object containing further details where applicable for you to handle.

Depending on the error code, the details object contains different prasable information. For a general error, it will contain the relevant request parameter(s) and their value if applicable; for a field validation error, it will contain an error object, which is an array of the error details for you to handle systematically. See their respective examples below.

General errors with example response

A general error provides a response where code is not validation_failed. Like in the example below, an error response could contain a details object with additional parsable information, e.g. another related transfer id.

JSON

See 400 errors below for all potential error codes and descriptions, organized by corresponding Transfers & Beneficiaries API endpoints. For errors with transfers to Airwallex accounts specifically, please see Errors for transfers to Airwallex accounts.

Field validation errors with example response

A field validation error provides a response where the error code is validation_failed. This means that your request body has failed our schema validation. Like in the example below, the details contains an errors object, which is an array of error details consisted of:

  • source: The name of the field within the request that has failed schema validations. Please note that this is specific to each independent error, and there won't a general source parameter on the tope level of the respinse body;
  • code: A unique numeric identifier of the specific validation error encountered; and
  • params: Additional parsable information relating to the specific validation error where applicable, e.g. minimum and maximum character length.
JSON

See Field validation errors to learn about all possible codes and applicable parameters. For errors with transfers to Airwallex accounts specifically, please see Errors for transfers to Airwallex accounts.

400 errors

Create a transfer

Error codes, detailed descriptions, and parameters for Create a new transfer API and Validate transfer API.

CodeDescriptionParameters
validation_failedThe request failed our schema validation. Refer to the errors object for erroneous fields, codes and parameters. See Validation errors for detailed descriptions.-
amount_beneficiary_receives_above_cumulative_limitThe amount beneficiary receives (transfer amount less fees paid by beneficiary) is above the maximum cumulative limit as defined in the params object. Provide a lower amount (for Malaysian customers only).amount_bene_receives: transfer amount less fees paid by beneficiary (if applicable);
daily_amount_max: the maximum daily cumulative limit for the amount beneficiary receives;
daily_amount_max_currency: currency of the maximum daily cumulative amount limit
amount_above_transfer_method_limitThe resultant transfer amount is above the maximum limit for this transfer method. Provide a lower source amount or transfer amount. You can retrieve the transfer limits of all transfer methods calling Get the form schema API.source_amount: amount in source currency;
OR transfer_amount: amount in transfer currency
amount_beneficiary_receives_below_limitThe amount beneficiary receives (transfer amount less fees paid by beneficiary) is below the minimum limit. Provide a higher amount than the limit included in the params object.amount_bene_receives: transfer amount less fee paid by beneficiary if applicable;
amount_min: the minimum limit for this field;
amount_min_currency: currency of the minimum amount limit
amount_below_transfer_method_limitThe resultant transfer amount is below the minimum limit for this transfer method. Provide a higher source amount or transfer amount. You can retrieve the transfer limits of all transfer methods calling Get the form schema API.source_amount: amount in source currency;
OR transfer_amount: amount in transfer currency
balance_insufficientThere is insufficient Wallet balance to fund this transfer. Top up your Wallet balance or provide a lower amount.-
beneficiary_type_unsupportedSending transfers to this beneficiary account with the specified transfer details is not supported. Please contact your Account Manager and report this issue.-
currency_pair_invalidThe currency pair you specified is not supported. You can refer to the dynamic schema API or call Get the form schema API to retrieve the supported currencies of all transfer methods.source_currency: currency of the source amount;
transfer_currency: currency of the transfer amount
declaration_requiredDue to mainland China regulations, declaration is required for local transfers to domestic beneficiaries. Declaration has not been completed. Learn more about the requirements here .-
fee_unknownThere is a problem with your transfer fee configuration. Please contact the Account Manager.-
open_position_limit_exceededThe transfer amount exceeds the remaining open position limit under the post fund model. Provide a lower amount or top up your Wallet balance. See here to learn more about funding models.-
order_amount_insufficientOrders for your China local transfer is insufficient. Valid orders equivalent to the transfer amount is required per local regulations. Learn more about uploading orders by connecting to marketplaces via token authorization here or calling Upload order items API.-
order_info_unsupportedThe order_info field is no longer supported. Please remove this field and try again.-
order_reconciliation_failedOrders for your China local transfer have not settled. Valid orders equivalent to the transfer amount is required per local regulations. Please try again later.-
payer_unsupportedPayer specification is not supported. Please remove this field and try again.-
transfer_currency_unsupportedThe currency of the transfer amount is not supported. You can refer to the dynamic schema API or call Get the form schema API to retrieve the support currencies for all transfer methods.transfer_currency: currency of the transfer amount
transfer_date_invalidThe transfer_date specified is invalid. For transfers with the same source and transfer currency, you can provide a date within 120 days from the current date; for transfers involving currency conversions, please check with the account manager your valid date range.-
transfer_amount_above_account_limitThe transfer amount is above the account maximum limit. Provide a lower amount than the limit included in the params object.transfer_amount: amount in transfer currency;
amount_max: the maximum limit for this field;
amount_max_currency: currency of the maximum amount limit
transfer_amount_below_account_limitThe transfer amount is below the account minimum limit. Provide a higher amount than the limit included in the params object.transfer_amount: amount in transfer currency;
amount_min: the minimum limit for transfer amount;
amount_min_currency: currency of the minimum amount limit
transfer_method_unsupportedUnsupported transfer method. You can log in and refer to our dynamic schema API, or retrieve our API schema API to understand the supported transfer methods for this account.-
quote_expiredThe quote_id you provided for the currency conversion has expired. Please provide a valid quote ID, or remove this field and try again if you would like to create the transfer without using a quote.-
quote_id_invalidThe quote_id you provided for the currency conversion is invalid. Please provide a valid quote ID, or remove this field and try again if you would like to create the transfer without using a quote.-
quote_id_requiredA quote for the currency conversion is required to use LockFX. Please provide a quote ID and try again.-
request_id_duplicateThe request ID has been used to a transfer before which was created successfully (id included in params). Please use a different request ID if you wish to create a separate transfer.id: ID of the transfer with the same request ID
request_id_usedThe request ID has been used before but the transfer was not created successfully. Please use a different request ID to create the transfer.-
service_unavailableService is unavailable at this moment. Please try again later.-
source_amount_above_account_limitThe source amount is above the account maximum limit. Provide a lower amount than the limit included in the params object.source_amount: amount in source currency;
amount_max: the maximum limit for this field;
amount_max_currency: currency of the maximum amount limit
source_amount_below_account_limitThe source amount is below the account minimum limit. Provide a higher amount than the limit included in the params object.source_amount: amount in source currency;
amount_min: the minimum limit for this field;
amount_min_currency: currency of the minimum amount limit
source_currency_unsupportedThe currency of the source amount is not supported. You can refer to the dynamic schema API or call Get the form schema API to retrieve the support currencies of all transfer methods.source_currency: currency of the transfer amount
workflow_invalidThe active transfer approval workflow is invalid. Inform account owner or account admin users to review the active workflow in the web app.-

Confirm funding for a transfer

Error codes, detailed descriptions, and parameters for Confirm funding for a transfer API.

CodeDescriptionParameters
transfer_not_foundThe id specified cannot be found. Please try again with a valid transfer ID.-
service_unavailableService is unavailable at this moment. Please try again later.-
confirm_funding_unsupportedYour account is not set up with manual-funding mode. No funding instruction is required. See Fund deduction to learn more.-
funding_already_confirmedThe funding for this transfer has already been confirmed. You can only confirm funding for a transfer when funding status is REQUIRES_FUNDING_CONFIRMATION. See Funding statuses to learn more.-

Cancel a transfer

Error codes, detailed descriptions, and parameters for Cancel a transfer API.

CodeDescriptionParameters
transfer_not_foundThe id specified cannot be found. Please try again with a valid transfer ID.-
service_unavailableService is unavailable at this moment. Please try again later.-
update_unsupportedThe transfer in the current status cannot be cancelled. See Transfer statuses to learn more.-

Validate a transfer, or create/validate/update beneficiaries/payers

Error codes, detailed descriptions, and parameters for Validate transfer API, Create a new beneficiary API, Validate beneficiary API, Update existing beneficiary API, Create a new payer API, Validate payer API, and Update existing payer API.

CodeDescriptionParameters
validation_failedThe request failed our schema validation. Refer to the errors object for erroneous fields, codes and parameters. See Validation errors for detailed descriptions.-
service_unavailableService is unavailable at this moment. Please try again later.-

Field validation errors

Please find below all possible field validation error codes (001-100) within the errors object for an error response where code is validation_failed, accompanied with detailed descriptions and definitions of parsable parameters (if applicable). Remember that all items in the errors object will be referenced to a source. To systematically retriev our validation rules, call Get the API schema API, or Get the form schema API with our proposed UI components.

General field validation errors

CodeDescriptionParameters
001This field is mandatory for this request. Please specify a value and try again.-
002Only alphanumeric characters and punctuations (definition) are accepted.-
003Only alphanumeric characters (definition) and spaces are accepted.-
004Only alphanumeric characters (definition) are accepted.-
005Only alphanumeric characters (definition), dots and dashes are accepted.-
006Only Chinese characters and punctuation (definition) are accepted.-
007Only Chinese characters are accepted.-
008Only numerical values are accepted.-
009This field cannot only contain numeric characters.-
010Invalid value for this field. You can refer to our API reference API for field requirements of this endpoint, or retrieve the API schema API if it's a beneficiary field.-
011Invalid format for this field. You can refer to our API reference API for field requirements of this endpoint, or retrieve the API schema API if it's a beneficiary field.-
012This field cannot contain leading or trailing whitespace characters. Please remove and try again.-
013This field cannot contain whitespace characters. Please remove and try again.-
014This field cannot contain emojis. Please remove and try again.-
015Only positive numerical value is accepted.-
016The value in this field is invalid and can only be one of the acceptable value specified in the params object.value_options: the acceptable values for this field
017The value in this field is invalid. Refer to the acceptable value as defined in the params object.value: acceptable value for this field
018The number of characters in this field is higher/lower than the acceptable length. Please provide a value within the acceptable range as defined in the params object.length_min: minimum number of characters accepted for this field;
length_max: maximum number of characters accepted for this field
019The number of characters in this field is higher/lower than the acceptable length. Please provide a value in the length as defined in the params object.length: the exact number of characters accepted for this field
020The number of characters in this field is lower than the acceptable length. Please provide a value longer than the minimum length as defined in the params object.length_min: minimum number of characters accepted for this field
021The number of characters in this field is higher than the acceptable length. Please provide a value shorter than the maximum length in the params object.length_max: maximum number of characters accepted for this field
022The number of characters in this field does not match the acceptable lengths. Please provide a value in the lengths as defined in the params object.length_options: the acceptable number of characters for this field
023The number of metadata keys should be smaller than 15, and the total number of metadata characters should be smaller than 4500.-
024The field local_clearing_system is not applicable for SWIFT transfer_method. Please remove this field and try again.-
025The date and time should be in the ISO 8601 format.-
026The date should be in the ISO 8601 format.-
027The date specified is invalid. Please provide a valid date not earlier than today and try again.-
028Post Office Box address is not accepted. Please provide a valid street address.-
029Provide a valid email address.-
030Provide a valid postcode for the selected country/region.-
031The account_currency does not match the transfer_currency. Please ensure the transfer currency is supported by the beneficiary account.-
032The SWIFT code / BIC specified does not match the bank country code provided. Please provide a valid SWIFT code / BIC and try again.-
033The SWIFT code / BIC specified is invalid.-
034Both transfer_amount and source_amount are specified. Please only provide a value for either one and try again.-
035The bank code specified is invalid.-
036The IBAN specified does not match the bank country code provided. Please provide a valid IBAN and try again.-
037The transfer amount is above the maximum limit. Provide a lower amount than the limit included in the params object.amount_max: the maximum limit for this field;
amount_max_currency: currency of the maximum amount limit
038The transfer amount is below the minimum limit. Provide a higher amount than the limit included in the params object.amount_min: the minimum limit for this field;
amount_min_currency: currency of the minimum amount limit
039The beneficiary bank detail specified is invalid. Please provide valid details and try again.-
040The transfer method specified is unsupported for this beneficiary. Please select a valid transfer method and try again.-
041Paper check transfers is not enabled for this account.-
042The decimal places in this field are more than the acceptable format. Please provide a value with decimals less than the max number of decimal places as defined in the params object.decimal_max: maximum number of decimal places accepted for this field
043No transfer method is supported for the selected transfer currency and beneficiary bank country. You can retrieve our API schema API to understand the supported regions and currencies specific to your account.-
044The payer ID specified is invalid. Please provide a valid ID of an existing payer and try again.-
045The beneficiary ID specified is invalid. Please provide a valid ID of an existing beneficiary and try again.-
046The request cannot contain values in both beneficiary ID and beneficiary object. Please only specify either one or the other and try again.-
047The request cannot contain values in both payer ID and payer object. Please only specify either one or the other and try again.-
048Payer specification is not supported. Please remove this field and try again.-
049The payer is under/over the age requirement per local regulations. Please provide a payer within the acceptable age range as defined in the params object.age_min: minimum age accepted for this field;
age_max: maximum age accepted for this field
050An unexpected error has occurred. Please contact the Account Manager or support@airwallex.com to troubleshoot the error.-
082The branch code is invalid for the bank specified. Please provide a valid and supported branch code and try again.-
085This is not a valid bank account with the beneficiary bank specified. Please provide a valid account number and try again.-
086The bank code specified within the bank account number is invalid or unsupported. Please check the leading digits as suggested in the params object and try again. The value of length within the params object represents the number of leading digits within the bank account number that stands for the bank code.length: the number of leading digits within the account number that stands for a bank code
087The branch code specified within the bank account number is invalid or unsupported. Please check the leading digits as suggested in the params object and try again. The value of length within the params object represents the number of leading digits within the bank account number that stands for the branch code.length: the number of leading digits within the account number that stands for a branch code
088The transit number is invalid for the financial institution specified. Please check and try again.-
090This field cannot only contain spaces.-
091Neither iban nor bank_code & account_number is provided under beneficiary.bank_details. Please specify value(s) for either type of details and try again.-
092Provide a valid phone number in the format of +aaa-nnnnnnn where the aaa is an international country code up to 3 digits, and nnnnnnn is a local phone number up to 14 digits. E.g. +1-1234567890-
099On top of the basic format requirement under 092, the country code substring within the phone number should be as suggested in the "params" object.country_code: acceptable values for the substring
100On top of the basic format requirement under 092, the length of the local phone number substring after the region code should be within the range suggested in the "params" object.length_min: minimum digit number accepted for the substring;
length_max: maximum digit accepted for the substring

Transfer-method-specific validation errors

CodeTransfer methodDescriptionParameters
051Australia BPAYThe BPAY biller code specified is invalid. Please provide a valid biller code and try again.-
052Australia BPAYThe BPAY Customer Reference Number (CRN) specified should only contain numeric characters. Please remove any invalid characters such as "-" or spaces and try again.-
053Australia BPAYThe BPAY Customer Reference Number (CRN) specified is invalid for this Biller.-
054Australia BPAYThe length of the BPAY Customer Reference Number (CRN) specified is not acceptable for this Biller.-
055Australia BPAYOnly numeric values are accepted. Please remove any special characters such as "," or "$" and try again.-
056Australia BPAYThe transfer amount specified is less than the minimum amount the Biller can accept. Check the Biller's requirement and provide a valid amount.-
057Australia BPAYThe transfer amount specified is higher than the maximum amount the Biller can accept. Check the Biller's requirement and provide a valid amount.-
058Australia BPAYThe transfer amount specified is incorrect and not accepted by the Biller. Check the Biller's requirement and provide a valid amount.-
059Australia BPAYThe transfer date specified is invalid. Check the Biller's requirement and provide a valid date.-
060Brazil LOCALThe personal identification number should consist of 8 numeric or 9 alphanumeric characters (definition).-
061Brazil LOCALThe personal identification number should start with an "E" followed by up to 8 numeric characters.-
062Brazil LOCALThis should be 4 digits, or 4 digits followed by 1 alphanumeric character (definition). You may include a hyphen.-
063Brazil LOCALThis should be 4 digits.-
064Brazil LOCALThis should be 4 digits, or 4 digits followed by a 1-digit suffix. You may include a hyphen.-
065Brazil LOCALThis should be 4 digits, or 4 digits followed by a 1-2 alphanumeric character (definition) suffix. You may include a hyphen.-
066Brazil LOCALThe number of digits should be the same as defined by length_1 in parameters, or length_2 digits followed by a 1-digit suffix. You may include a hyphen.length_1: the number of numeric digits accepted for this field;
length_2: the number of numeric digits accepted for this field when follow by a 1-digit suffix (e.g. "1" or "-1")
067Brazil LOCALThis should be 8 digits followed by a 1-digit suffix. You may include a hyphen.-
068Brazil LOCALThis should be 11 digits followed by a 1-digit suffix. You may include a period and a hyphen.-
069Brazil LOCALThis should be 11 to 12 digits followed by a 1-digit suffix. You may include a period and a hyphen.-
070Brazil LOCALThis should be 7 digits, or 7 digits followed by a 1-digit suffix. You may include a hyphen.-
071Brazil LOCALThis should be 5 digits followed by a 1-digit suffix, or 7 digits followed by a 1-digit suffix. You may include a hyphen.-
072Brazil LOCALThis should be 5 digits followed by a 2-digit suffix. You may include a hyphen.-
073China LOCALThe beneficiary is under/over the age requirement per local regulations. Please provide a beneficiary within the acceptable age range as defined in the params object.age_min: minimum age accepted for this field;
age_max: maximum age accepted for this field
074China LOCALThe ID number specified is invalid.-
075China LOCALThe bank account number specified is invalid for the corresponding bank. Please provide a valid bank account number and try again.-
076China LOCALThe bank account name should match the first and last name in Chinese.-
077China LOCALThe beneficiary cannot be a financial institution.-
078China LOCALThe fields do not match the registered information for the bank account specified. Please provide matching beneficiary name, ID, bank account number and mobile number as registered on the bank account.-
079China LOCALThe fields do not match the registered information for the beneficiary specified. Please provide beneficiary business name, business registration number and legal representative name as registered with the local authorities.-
093Paraguay LOCALProvide a valid 9-digit Registro Único del Contribuyente (RUC) as registered with the bank, starting with "800".-
095China LOCALProvide matching Account name and Chinese national ID number that belong to one of your Airwallex account's Ultimate Beneficial Owners when paying to this bank.-
096China LOCALEnable Data sharing (in Ariwallex WebApp under Connections) in order to pay to this bank.-
097China LOCALConfirm that you have enbaled eCommerce Collection Service for the beneficiary account (in Ariwallex WebApp under Connections) in order to pay to this bank.-
098Canada INTERACA set of security question and answer is required because this email address is not registered with Interac e-Transfer autodeposit. Please specify the security_question and security_answer, and share them with your beneficiaries. Learn more in Canada country guide.-

Region-specific field validation errors

These errors only pertain to specific regions. Check with you Account Manager if they apply to you.

CodeDescriptionParameters
080FX Forward currency conversion is unsupported for transfers to an account under the same name as yours.-
081FX Forward currency conversion is unsupported for transfers to your own account.-

IBAN validation errors

CodeDescriptionParameters
083The IBAN is invalid for the country specified. Please provide a valid IBAN and try again.-
084We are unable to validate this IBAN due to an unexpected error. Please try again later. If the problem persists, contact your Account Manager.-
089This IBAN belongs to a bank that we currently do not support. Please try again with another bank's account, or contact your Account Manager.-

Character definitions

  • alphanumeric characters: A to Z, a to z, 0 to 9

  • punctuation: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ' { | } ~

Errors for transfers to an Airwallex account

Error codes, detailed descriptions, and parameters for Create a new wallet transfer API.

CodeDescriptionParameters
balance_insufficientThe Wallet balance is insufficient to fund this transfer to an Airwallex account. Top up your Wallet or provide a lower amount.-
beneficiary_unavailableThe account_number and account_name cannot be matched to an Airwallex account. Please check the beneficairy information you have obtained.-
request_id_duplicateThe request ID has been used on a transfer to an Airwallex account which was created successfully. Please use a different request ID if you wish to create a separate transfer.wallet_transfer_id: ID of the transfer to an Airwallex account with the same request ID
transfer_currency_unsupportedThe transfer currency is not supported. Please make sure to pay in currencies that can be held in the Wallet: AUD, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, KRW, MXN, NOK, NZD, PLN, RON, SEK, SGD, THB, USD or ZAR.-
validation_failedThe request failed our schema validation. Refer to the errors object for erroneous fields, codes and parameters. See the table below for detailed descriptions.-

Field validation errors for transfers to an Airwallex account

CodeDescriptionParameters
001This field is mandatory for this request. Please specify a value and try again.
011Invalid value for this field. Please refer to our API reference API for the specific field requirements.
021The number of characters in this field is higher than the acceptable length. Please provide a reference no more than 140 characters.
On this page
  • 400 errors
  • Field validation errors
  • Errors for transfers to an Airwallex account