Airwallex logo
Airwallex logoAirwallex logo

Global Accounts

Copy for LLMView as Markdown

Global Accounts are foreign currency accounts that function as local bank accounts. They can be used to collect funds from around the world. You get account details that enable you to collect funds from various platforms such as Amazon, eBay and Shopify, among others. Global Accounts can also be used to top up your Airwallex balance.

Endpoints
GET /api/v1/global_accounts
GET /api/v1/global_accounts/{global_account_id}/mandates
GET /api/v1/global_accounts/{global_account_id}/mandates/{id}
POST /api/v1/global_accounts/{global_account_id}/mandates/{id}/cancel
GET /api/v1/global_accounts/{id}
POST /api/v1/global_accounts/{id}/close
POST /api/v1/global_accounts/{id}/generate_statement_letter
GET /api/v1/global_accounts/{id}/transactions
POST /api/v1/global_accounts/create
POST /api/v1/global_accounts/update/{id}
GET /api/v1/global_accounts/{global_account_id}/aliases
GET /api/v1/global_accounts/{global_account_id}/aliases/{id}
POST /api/v1/global_accounts/{global_account_id}/aliases/create
POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/cancel
POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/initiate_port
POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/submit_verification_code
POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/request_new_verification_code

Get a list of global accounts

GET /api/v1/global_accounts

Get list of global accounts created by your Airwallex account.

Parameters
country_codestring

Country of the global account (2-letter ISO 3166-2 country code)

currencystring

currency

from_created_atstring

The start date of created_at in ISO8601 format (inclusive)

nick_namestring

Nickname of the global account

page_numinteger

Page number, starts from 0

page_sizeinteger

Number of results per page. Default value is 100.

statusstring

Status of the account

to_created_atstring

The end date of created_at in ISO8601 format (inclusive)

Response body - 200 OK
has_moreboolean

A flag which identifies whether there are more results.

itemsarray

Paged results.

items.account_namestring

Global account name

items.capabilityobject

Supported payment and collection capabilities of your global account

items.capability.clearing_systemsarray

Supported clearing systems to remit incoming funds to the account Possible clearing systems are FAST, MEPS, GIRO, SEPA, Faster Payments, CHAPS, Bacs, Zengin, ACH, Fedwire, RTGS, Bank, FPS, Interac e-Transfer, HOFINET

items.capability.payment_methodsarray

Payment methods in which a deposit can be received. Possible payment methods are: SWIFT, LOCAL

items.capability.support_direct_debitboolean

A flag that identifies whether this global account supports Direct Debit payout.

items.country_codestring

Country of the global account specified in the request (2-letter ISO 3166-2 country code)

items.currencystring

Currency of the global account specified in the request (3-letter ISO-4217 code)

items.idstring

Global account unique identifier

items.institutionobject

Details of the Financial institution of your global account

items.institution.addressstring

Financial institution address line

items.institution.citystring

Financial institution city/town

items.institution.namestring

Financial institution in which your account is domiciled

items.institution.branch_namestring

Financial institution branch name

items.institution.zip_codestring

Financial institution zip code

items.routing_codesarray

Routing information

items.routing_codes.typestring

Routing code type

ach, bsb, sort_code, bank_code, branch_code, fedwire, transit_number, institution_number

items.routing_codes.valuestring

Routing code value

items.statusstring

Status of global account. One of ACTIVE, INACTIVE, CLOSED is returned.

items.account_numberstring

Global account number

items.account_typestring

Account type of the financial institution account. One of Checking, Saving, Current is returned

items.alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

items.alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

items.close_reasonstring

Global Account closure reason. One of CUSTOMER_REQUESTED, DISABLED_BY_AIRWALLEX is returned.

items.deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

items.ibanstring

IBAN number

items.nick_namestring

Nickname of the global account

items.registered_emailstring

This email address is used as a Global Account identifier to receive Interac e-Transfer deposit. The email is generated by Airwallex and is registered for Interac e-Transfer Autodeposit

items.request_idstring

Unique request identifier specified in the request

items.swift_codestring

Bank SWIFT code

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "has_more": false,
3 "items": [
4 {
5 "account_number": "88888888",
6 "account_type": "Checking",
7 "capability": {
8 "clearing_systems": [
9 "ACH"
10 ],
11 "payment_methods": [
12 "LOCAL"
13 ],
14 "support_direct_debit": true
15 },
16 "close_reason": "CUSTOMER_REQUESTED",
17 "country_code": "GP",
18 "currency": "GBP",
19 "deposit_conversion_currency": "USD",
20 "iban": "GB81LHVB04032900176471",
21 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
22 "institution": {
23 "address": "Old Street Yard",
24 "branch_name": "Wakatake ワカタケ",
25 "city": "London",
26 "name": "Saxo Payments A/S",
27 "zip_code": "018982"
28 },
29 "nick_name": "GBP in UK for Subsidiary Company ABC",
30 "registered_email": "[email protected]",
31 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
32 "routing_codes": [
33 {
34 "type": "sort_code",
35 "value": "040329"
36 }
37 ],
38 "status": "CLOSED",
39 "swift_code": "SXPYDEHH",
40 "alternate_account_identifiers": {
41 "email": "[email protected]"
42 }
43 }
44 ]
45}
Was this section helpful?

Get a list of direct debit payout mandates

GET /api/v1/global_accounts/{global_account_id}/mandates

Get a list of Direct Debit Payout Mandates by an Airwallex global account id.

Parameters
global_account_idrequiredstring

The unique identifier of the Global Account with the mandate

from_created_atstring

The start time of created_at (inclusive)

page_numinteger

Page number starts from 0, default value is 0

page_sizeinteger

Number of results per page, default value is 50

statusstring

Status of the mandate, possible value should be ACTIVE, CANCELLED

to_created_atstring

The end time of created_at (inclusive)

Response body - 200 OK
has_moreboolean

A flag which identifies whether there are more results.

itemsarray

Paged results.

items.created_atstring

Time when the mandate was created in Airwallex

items.creditor_namestring

Creditor who receives the direct debit payout under the mandate

items.currencystring

Currency supported by the mandate

items.debtor_namestring

Debtor who pays the direct debit payout under the mandate

items.global_account_idstring

The unique identifier of the Global Account with the mandate

items.idstring

The unique identifier of the mandate

items.payment_schemestring

Payment scheme associated with the mandate

items.setup_timestring

The time when the mandate was lodged, format should be “yyyy-MM-dd’T’HH:mm:ssXXX”

items.statusstring

Status of the mandate, possible values should be ACTIVE, CANCELLED

Errors
Error statusDescription
400

Possible errors: invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{global_account_id}/mandates
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/mandates' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "has_more": false,
3 "items": [
4 {
5 "created_at": "2022-09-19T08:40:48Z",
6 "creditor_name": "creditor",
7 "currency": "GBP",
8 "debtor_name": "debtor",
9 "global_account_id": "035253e2-1b14-43d0-b98f-a62fd91bb985",
10 "id": "11987bad-bb6d-4e30-ba49-d19826c3e803",
11 "payment_scheme": "Bacs",
12 "setup_time": "2022-09-19T00:00:00Z",
13 "status": "ACTIVE"
14 }
15 ]
16}
Was this section helpful?

Get a direct debit payout mandate by ID

GET /api/v1/global_accounts/{global_account_id}/mandates/{id}

Get a Direct Debit Payout Mandate by an Airwallex global account id and mandate id.

Parameters
global_account_idrequiredstring

The unique identifier of the Global Account with the mandate

idrequiredstring

The unique identifier of the mandate

Response body - 200 OK
created_atstring

Time when the mandate was created in Airwallex

creditor_namestring

Creditor who receives the direct debit payout under the mandate

currencystring

Currency supported by the mandate

debtor_namestring

Debtor who pays the direct debit payout under the mandate

global_account_idstring

The unique identifier of the Global Account with the mandate

idstring

The unique identifier of the mandate

payment_schemestring

Payment scheme associated with the mandate

setup_timestring

The time when the mandate was lodged, format should be “yyyy-MM-dd’T’HH:mm:ssXXX”

statusstring

Status of the mandate, possible values should be ACTIVE, CANCELLED

Errors
Error statusDescription
400

Possible errors: resource_not_found

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{global_account_id}/mandates/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/mandates/global_account_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "created_at": "2022-09-19T08:40:48Z",
3 "creditor_name": "creditor",
4 "currency": "GBP",
5 "debtor_name": "debtor",
6 "global_account_id": "035253e2-1b14-43d0-b98f-a62fd91bb985",
7 "id": "11987bad-bb6d-4e30-ba49-d19826c3e803",
8 "payment_scheme": "Bacs",
9 "setup_time": "2022-09-19T00:00:00Z",
10 "status": "ACTIVE"
11}
Was this section helpful?

Cancel a direct debit payout mandate by ID

POST /api/v1/global_accounts/{global_account_id}/mandates/{id}/cancel

Cancel a Direct Debit Payout Mandate by an Airwallex global account id and mandate id.

Parameters
global_account_idrequiredstring

The unique identifier of the Global Account with the mandate

idrequiredstring

The unique identifier of the mandate

Response body - 200 OK

OK

Errors
Error statusDescription
400

Possible errors: resource_not_found, invalid_state_for_operation

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/mandates/{id}/cancel
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/mandates/global_account_id/cancel' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Was this section helpful?

Get global account by ID

GET /api/v1/global_accounts/{id}

Get global account by an Airwallex global account id.

Parameters
idrequiredstring

Query the Airwallex's global account using the global account unique identifier

Response body - 200 OK
account_namestring

Global account name

account_numberstring

Global account number

account_typestring

Account type of the financial institution account. One of Checking, Saving, Current is returned

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

capabilityobject

Supported payment and collection capabilities of your global account

capability.clearing_systemsarray

Supported clearing systems to remit incoming funds to the account Possible clearing systems are FAST, MEPS, GIRO, SEPA, Faster Payments, CHAPS, Bacs, Zengin, ACH, Fedwire, RTGS, Bank, FPS, Interac e-Transfer, HOFINET

capability.payment_methodsarray

Payment methods in which a deposit can be received. Possible payment methods are: SWIFT, LOCAL

capability.support_direct_debitboolean

A flag that identifies whether this global account supports Direct Debit payout.

close_reasonstring

Global Account closure reason. One of CUSTOMER_REQUESTED, DISABLED_BY_AIRWALLEX is returned.

country_codestring

Country of the global account specified in the request (2-letter ISO 3166-2 country code)

currencystring

Currency of the global account specified in the request (3-letter ISO-4217 code)

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

ibanstring

IBAN number

idstring

Global account unique identifier

institutionobject

Details of the Financial institution of your global account

institution.addressstring

Financial institution address line

institution.citystring

Financial institution city/town

institution.namestring

Financial institution in which your account is domiciled

institution.branch_namestring

Financial institution branch name

institution.zip_codestring

Financial institution zip code

nick_namestring

Nickname of the global account

registered_emailstring

This email address is used as a Global Account identifier to receive Interac e-Transfer deposit. The email is generated by Airwallex and is registered for Interac e-Transfer Autodeposit

request_idstring

Unique request identifier specified in the request

routing_codesarray

Routing information

routing_codes.typestring

Routing code type

ach, bsb, sort_code, bank_code, branch_code, fedwire, transit_number, institution_number

routing_codes.valuestring

Routing code value

statusstring

Status of global account. One of ACTIVE, INACTIVE, CLOSED is returned.

swift_codestring

Bank SWIFT code

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "account_name": "<string>",
3 "account_number": "88888888",
4 "account_type": "Checking",
5 "capability": {
6 "clearing_systems": [
7 "ACH"
8 ],
9 "payment_methods": [
10 "LOCAL"
11 ],
12 "support_direct_debit": true
13 },
14 "close_reason": "CUSTOMER_REQUESTED",
15 "country_code": "GP",
16 "currency": "GBP",
17 "deposit_conversion_currency": "USD",
18 "iban": "GB81LHVB04032900176471",
19 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
20 "institution": {
21 "address": "Old Street Yard",
22 "branch_name": "Wakatake ワカタケ",
23 "city": "London",
24 "name": "Saxo Payments A/S",
25 "zip_code": "018982"
26 },
27 "nick_name": "GBP in UK for Subsidiary Company ABC",
28 "registered_email": "[email protected]",
29 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
30 "routing_codes": [
31 {
32 "type": "sort_code",
33 "value": "040329"
34 }
35 ],
36 "status": "CLOSED",
37 "swift_code": "SXPYDEHH",
38 "alternate_account_identifiers": {
39 "email": "[email protected]"
40 }
41}
Was this section helpful?

Close a global account

POST /api/v1/global_accounts/{id}/close

Close a global account created under your Airwallex account.

Parameters
idrequiredstring

Unique identifier of the global account to close.

Response body - 200 OK
account_namestring

Global account name

account_numberstring

Global account number

account_typestring

Account type of the financial institution account. One of Checking, Saving, Current is returned

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

capabilityobject

Supported payment and collection capabilities of your global account

capability.clearing_systemsarray

Supported clearing systems to remit incoming funds to the account Possible clearing systems are FAST, MEPS, GIRO, SEPA, Faster Payments, CHAPS, Bacs, Zengin, ACH, Fedwire, RTGS, Bank, FPS, Interac e-Transfer, HOFINET

capability.payment_methodsarray

Payment methods in which a deposit can be received. Possible payment methods are: SWIFT, LOCAL

capability.support_direct_debitboolean

A flag that identifies whether this global account supports Direct Debit payout.

close_reasonstring

Global Account closure reason. One of CUSTOMER_REQUESTED, DISABLED_BY_AIRWALLEX is returned.

country_codestring

Country of the global account specified in the request (2-letter ISO 3166-2 country code)

currencystring

Currency of the global account specified in the request (3-letter ISO-4217 code)

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

ibanstring

IBAN number

idstring

Global account unique identifier

institutionobject

Details of the Financial institution of your global account

institution.addressstring

Financial institution address line

institution.citystring

Financial institution city/town

institution.namestring

Financial institution in which your account is domiciled

institution.branch_namestring

Financial institution branch name

institution.zip_codestring

Financial institution zip code

nick_namestring

Nickname of the global account

registered_emailstring

This email address is used as a Global Account identifier to receive Interac e-Transfer deposit. The email is generated by Airwallex and is registered for Interac e-Transfer Autodeposit

request_idstring

Unique request identifier specified in the request

routing_codesarray

Routing information

routing_codes.typestring

Routing code type

ach, bsb, sort_code, bank_code, branch_code, fedwire, transit_number, institution_number

routing_codes.valuestring

Routing code value

statusstring

Status of global account. One of ACTIVE, INACTIVE, CLOSED is returned.

swift_codestring

Bank SWIFT code

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{id}/close
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/close' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "account_name": "<string>",
3 "account_number": "88888888",
4 "account_type": "Checking",
5 "capability": {
6 "clearing_systems": [
7 "ACH"
8 ],
9 "payment_methods": [
10 "LOCAL"
11 ],
12 "support_direct_debit": true
13 },
14 "close_reason": "CUSTOMER_REQUESTED",
15 "country_code": "GP",
16 "currency": "GBP",
17 "deposit_conversion_currency": "USD",
18 "iban": "GB81LHVB04032900176471",
19 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
20 "institution": {
21 "address": "Old Street Yard",
22 "branch_name": "Wakatake ワカタケ",
23 "city": "London",
24 "name": "Saxo Payments A/S",
25 "zip_code": "018982"
26 },
27 "nick_name": "GBP in UK for Subsidiary Company ABC",
28 "registered_email": "[email protected]",
29 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
30 "routing_codes": [
31 {
32 "type": "sort_code",
33 "value": "040329"
34 }
35 ],
36 "status": "CLOSED",
37 "swift_code": "SXPYDEHH",
38 "alternate_account_identifiers": {
39 "email": "[email protected]"
40 }
41}
Was this section helpful?

Generate global account statement

POST /api/v1/global_accounts/{id}/generate_statement_letter

Generate global account statement letter, return as file stream

Parameters
idrequiredstring

Unique identifier of the global account

Request body
account_statement_typerequiredstring

Type of account statement. One of AMAZON, EBAY, COUPANG, GENERAL

registration_infoobject

If account statement type is one of AMAZON, EBAY, COUPANG, the registration info field is required

registration_info.agreementboolean

I confirm that the details are correct and match the details I provided to and appear on the platform. I agree and acknowledge that Airwallex will be relying on this information and my confirmation in the future, including for issuing account statements for platform.

This flag must be true

registration_info.registered_addressobject

Registered address info

registration_info.registered_address.addressstring

Address line

registration_info.registered_address.citystring

City/Town

registration_info.registered_address.countrystring

Country

registration_info.registered_address.postcodestring

Postcode

registration_info.registered_address.statestring

State/Province

registration_info.registered_emailstring

Registered email

registration_info.registered_namestring

Registered owner/company name

Response body - 200 OK

OK

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{id}/generate_statement_letter
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/generate_statement_letter' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "account_statement_type": "AMAZON",
> "registration_info": {
> "agreement": true,
> "registered_address": {
> "address": "15 William Street",
> "city": "Melbourne",
> "country": "Australia",
> "postcode": "3000",
> "state": "VIC"
> },
> "registered_email": "[email protected]",
> "registered_name": "John Walker"
> }
>}'
Response (200 OK)
1"<string>"
Was this section helpful?

Get global account transactions

GET /api/v1/global_accounts/{id}/transactions

Obtain transaction details of funds received into your specified global account.

Parameters
idrequiredstring

Unique identifier of the global account

from_created_atstring

The start date of created_at in ISO8601 format (inclusive)

page_numinteger

Page number, starts from 0

page_sizeinteger

Number of results per page. Default value is 100.

to_created_atstring

The end date of created_at in ISO8601 format (inclusive)

Response body - 200 OK
has_moreboolean

A flag which identifies whether there are more results.

itemsarray

Paged results.

items.amountnumber

Amount of the transaction in transaction currency

items.currencystring

Currency of the transaction (3-letter ISO-4217 code)

items.create_timestring

The time of the transaction created

items.descriptionstring

Description of the transaction

items.fee_amountnumber

Fee amount of the transaction in transaction currency

items.fee_currencystring

Fee currency of the transaction (3-letter ISO-4217 code)

items.idstring

Unique id of the transaction

items.payer_countrystring

Payer country code of the transaction (2-letter ISO 3166-2 country code)

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

items.payer_namestring

Payer name of the transaction

items.statusstring

Status of the transaction, can be one of: 'PENDING', 'SETTLED', 'REJECTED', 'CANCELLED'

items.typestring

Type of the transaction, can be one of: 'DEBIT', 'CREDIT'

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{id}/transactions
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/transactions' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "has_more": false,
3 "items": [
4 {
5 "amount": 10000,
6 "create_time": "2017-03-22T16:08:02+1100",
7 "currency": "AUD",
8 "fee_amount": 10,
9 "fee_currency": "AUD",
10 "id": "90b98dc6-63a0-403f-816b-ac5305b42a11",
11 "payer_country": "US",
12 "payer_name": "AMZNnt70paD1",
13 "status": "PENDING",
14 "type": "CREDIT"
15 }
16 ]
17}
Was this section helpful?

Create a global account

POST /api/v1/global_accounts/create

Submit a request to create a new global account in your chosen currency. This global account can be used for the purpose of receiving funds from your payers via the local clearing system or swift system.

Request body
country_coderequiredstring

Country of the global account (2-letter ISO 3166-2 country code)

currencyrequiredstring

Currency of the global account (3-letter ISO-4217 code)

payment_methodsrequiredarray

Payment methods in which a deposit can be received. One of LOCAL, SWIFT must be specified. LOCAL should be used when both payment methods are supported.

request_idrequiredstring

Unique request identifier

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

nick_namestring

Nickname of the global account. Default: current account's business name

Response body - 201 Created
account_namestring

Global account name

account_numberstring

Global account number

account_typestring

Account type of the financial institution account. One of Checking, Saving, Current is returned

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

capabilityobject

Supported payment and collection capabilities of your global account

capability.clearing_systemsarray

Supported clearing systems to remit incoming funds to the account Possible clearing systems are FAST, MEPS, GIRO, SEPA, Faster Payments, CHAPS, Bacs, Zengin, ACH, Fedwire, RTGS, Bank, FPS, Interac e-Transfer, HOFINET

capability.payment_methodsarray

Payment methods in which a deposit can be received. Possible payment methods are: SWIFT, LOCAL

capability.support_direct_debitboolean

A flag that identifies whether this global account supports Direct Debit payout.

country_codestring

Country of the global account specified in the request (2-letter ISO 3166-2 country code)

currencystring

Currency of the global account specified in the request (3-letter ISO-4217 code)

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

ibanstring

IBAN number

idstring

Global account unique identifier

institutionobject

Details of the Financial institution of your global account

institution.addressstring

Financial institution address line

institution.citystring

Financial institution city/town

institution.namestring

Financial institution in which your account is domiciled

institution.branch_namestring

Financial institution branch name

institution.zip_codestring

Financial institution zip code

nick_namestring

Nickname of the global account

registered_emailstring

This email address is used as a Global Account identifier to receive Interac e-Transfer deposit. The email is generated by Airwallex and is registered for Interac e-Transfer Autodeposit

request_idstring

Unique request identifier specified in the request

routing_codesarray

Routing information

routing_codes.typestring

Routing code type

ach, bsb, sort_code, bank_code, branch_code, fedwire, transit_number, institution_number

routing_codes.valuestring

Routing code value

statusstring

Status of global account. One of ACTIVE, INACTIVE is returned.

swift_codestring

Bank SWIFT code

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "country_code": "GP",
> "currency": "GBP",
> "deposit_conversion_currency": "USD",
> "nick_name": "GBP in UK for Subsidiary Company ABC",
> "payment_methods": [
> "LOCAL"
> ],
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
> "alternate_account_identifiers": {
> "email": "[email protected]"
> }
>}'
Response (201 Created)
1{
2 "account_name": "<string>",
3 "account_number": "88888888",
4 "account_type": "Checking",
5 "capability": {
6 "clearing_systems": [
7 "ACH"
8 ],
9 "payment_methods": [
10 "LOCAL"
11 ],
12 "support_direct_debit": true
13 },
14 "country_code": "GP",
15 "currency": "GBP",
16 "deposit_conversion_currency": "USD",
17 "iban": "GB81LHVB04032900176471",
18 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
19 "institution": {
20 "address": "Old Street Yard",
21 "branch_name": "Wakatake ワカタケ",
22 "city": "London",
23 "name": "Saxo Payments A/S",
24 "zip_code": "018982"
25 },
26 "nick_name": "GBP in UK for Subsidiary Company ABC",
27 "registered_email": "[email protected]",
28 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
29 "routing_codes": [
30 {
31 "type": "sort_code",
32 "value": "040329"
33 }
34 ],
35 "status": "ACTIVE",
36 "swift_code": "SXPYDEHH",
37 "alternate_account_identifiers": {
38 "email": "[email protected]"
39 }
40}
Was this section helpful?

Update existing global account

POST /api/v1/global_accounts/update/{id}

Edit an existing global account nick_name, deposit_conversion_currency or alternate_account_identifiers stored on the Airwallex platform.

Parameters
idrequiredstring

id of the global account to update.

Request body
nick_namerequiredstring

Nickname of the global account

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account. For CAD Global Accounts: Re-submitting the same email address (alternate_account_identifiers.value from GET /api/v1/global_accounts/{id}) will resend the Autodeposit confirmation email.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

Response body - 200 OK
account_namestring

Global account name

account_numberstring

Global account number

account_typestring

Account type of the financial institution account. One of Checking, Saving, Current is returned

alternate_account_identifiersobject

For a specific local clearing system, this serves as the unique alternate identifier for a global account.

alternate_account_identifiers.emailstring

Applicable only for CA Global Accounts. Supported Formats .

capabilityobject

Supported payment and collection capabilities of your global account

capability.clearing_systemsarray

Supported clearing systems to remit incoming funds to the account Possible clearing systems are FAST, MEPS, GIRO, SEPA, Faster Payments, CHAPS, Bacs, Zengin, ACH, Fedwire, RTGS, Bank, FPS, Interac e-Transfer, HOFINET

capability.payment_methodsarray

Payment methods in which a deposit can be received. Possible payment methods are: SWIFT, LOCAL

capability.support_direct_debitboolean

A flag that identifies whether this global account supports Direct Debit payout.

close_reasonstring

Global Account closure reason. One of CUSTOMER_REQUESTED, DISABLED_BY_AIRWALLEX is returned.

country_codestring

Country of the global account specified in the request (2-letter ISO 3166-2 country code)

currencystring

Currency of the global account specified in the request (3-letter ISO-4217 code)

deposit_conversion_currencystring

Target currency that incoming funds will be converted to. Applicable only when Global Account country is ID. Supported currencies (3-letter ISO-4217 code).

ibanstring

IBAN number

idstring

Global account unique identifier

institutionobject

Details of the Financial institution of your global account

institution.addressstring

Financial institution address line

institution.citystring

Financial institution city/town

institution.namestring

Financial institution in which your account is domiciled

institution.branch_namestring

Financial institution branch name

institution.zip_codestring

Financial institution zip code

nick_namestring

Nickname of the global account

registered_emailstring

This email address is used as a Global Account identifier to receive Interac e-Transfer deposit. The email is generated by Airwallex and is registered for Interac e-Transfer Autodeposit

request_idstring

Unique request identifier specified in the request

routing_codesarray

Routing information

routing_codes.typestring

Routing code type

ach, bsb, sort_code, bank_code, branch_code, fedwire, transit_number, institution_number

routing_codes.valuestring

Routing code value

statusstring

Status of global account. One of ACTIVE, INACTIVE, CLOSED is returned.

swift_codestring

Bank SWIFT code

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/update/{id}
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/update/global_account_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "alternate_account_identifiers": {
> "email": "[email protected]"
> },
> "deposit_conversion_currency": "USD",
> "nick_name": "GBP in UK for Subsidiary Company ABC"
>}'
Response (200 OK)
1{
2 "account_name": "<string>",
3 "account_number": "88888888",
4 "account_type": "Checking",
5 "capability": {
6 "clearing_systems": [
7 "ACH"
8 ],
9 "payment_methods": [
10 "LOCAL"
11 ],
12 "support_direct_debit": true
13 },
14 "close_reason": "CUSTOMER_REQUESTED",
15 "country_code": "GP",
16 "currency": "GBP",
17 "deposit_conversion_currency": "USD",
18 "iban": "GB81LHVB04032900176471",
19 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
20 "institution": {
21 "address": "Old Street Yard",
22 "branch_name": "Wakatake ワカタケ",
23 "city": "London",
24 "name": "Saxo Payments A/S",
25 "zip_code": "018982"
26 },
27 "nick_name": "GBP in UK for Subsidiary Company ABC",
28 "registered_email": "[email protected]",
29 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
30 "routing_codes": [
31 {
32 "type": "sort_code",
33 "value": "040329"
34 }
35 ],
36 "status": "CLOSED",
37 "swift_code": "SXPYDEHH",
38 "alternate_account_identifiers": {
39 "email": "[email protected]"
40 }
41}
Was this section helpful?

Get a list of Aliases

GET /api/v1/global_accounts/{global_account_id}/aliases

Retrieves a list of aliases registered to a given Global Account.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

from_created_atstring

The start time of created_at in ISO 8601 format (inclusive)

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call. To retrieve the next page of results, pass the value of page_after (if not null) from the response to a subsequent call. To retrieve the previous page of results, pass the value of page_before (if not null) from the response to a subsequent call.

page_sizeinteger

Number of results per page. Default value is 100, maximum value is 2000.

statusstring

Status of the alias

to_created_atstring

The end time of created_at in ISO 8601 format (inclusive)

Response body - 200 OK
itemsarray

Paged results.

items.global_account_idstring

Global account ID

items.idstring

Alias ID

items.local_clearing_systemstring

Local clearing system to be registered with

NPP

items.request_idstring

Unique request ID specified in the request

items.statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

items.typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

items.valuestring

Alias value

items.next_actionobject

Details of the next action to be taken

items.next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

items.next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

items.next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

items.reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

page_afterstring

The page cursor used for searching after page

page_beforestring

The page cursor used for search before page

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{global_account_id}/aliases
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "global_account_id": "global_account_id",
5 "id": "alias_id",
6 "local_clearing_system": "NPP",
7 "next_action": {
8 "expires_at": "2026-01-31T06:57:10+0000",
9 "remaining_attempts": 3,
10 "type": "submit_verification_code"
11 },
12 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
13 "status": "ACTIVE",
14 "type": "EMAIL",
15 "value": "[email protected]"
16 }
17 ],
18 "page_after": "<string>",
19 "page_before": "<string>"
20}
Was this section helpful?

Get an Alias by ID

GET /api/v1/global_accounts/{global_account_id}/aliases/{id}

Retrieves details of an alias using the given alias ID.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

idrequiredstring

The unique ID of the Alias

Response body - 200 OK
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/global_accounts/{global_account_id}/aliases/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/alias_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?

Create an Alias for a Global Account

POST /api/v1/global_accounts/{global_account_id}/aliases/create

Creates an alias for a Global Account to receive funds. Supported alias types include: EMAIL, PHONE_NUMBER, and AUSTRALIAN_BUSINESS_NUMBER. For alias types EMAIL or PHONE_NUMBER, a verification code will be sent via email or SMS respectively. You must submit this code for verification using the Submit Alias verification code endpoint to complete the alias creation process.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

Request body
local_clearing_systemrequiredstring

Local clearing system to be registered with

request_idrequiredstring

Unique request ID

typerequiredstring

Alias type

valuerequiredstring

Alias value

Response body - 201 Created
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument, already_exists, duplicate_request_id

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/aliases/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "local_clearing_system": "NPP",
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
> "type": "EMAIL",
> "value": "[email protected]"
>}'
Response (201 Created)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?

Cancel an Alias for a Global Account

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/cancel

Cancels an alias for a Global Account. Once cancelled, the alias can no longer be used for any transactions, such as receiving funds.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

idrequiredstring

The unique ID of the Alias

Response body - 200 OK
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/cancel
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/alias_id/cancel' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?

Initiate an Alias port for a Global Account

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/initiate_port

Initiates an alias port to transfer the alias details to a different Airwallex Global Account or to another external bank account. After you submit the request, the alias status changes to PORT_INITIATED and then requires further action to complete the port once the alias becomes portable. To complete the port, register the alias details to another Airwallex Global Account using Create an Alias for a Global Account or with another external bank account provider.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

idrequiredstring

The unique ID of the Alias

Response body - 200 OK
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/initiate_port
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/alias_id/initiate_port' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?

Submit Alias verification code

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/submit_verification_code

Submits the verification code (received via email or SMS) to complete the alias creation process. If the code has expired or the verification attempt limit is reached, request a new verification code using the Request new Alias verification code endpoint.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

idrequiredstring

The unique ID of the Alias

Request body
coderequiredstring

The verification code sent by Airwallex to complete the alias creation

Response body - 200 OK
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument, invalid_verification_code

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/submit_verification_code
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/alias_id/submit_verification_code' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "code": "123456"
>}'
Response (200 OK)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?

Request new Alias verification code

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/request_new_verification_code

Requests new verification code for an alias to complete the alias creation process.

Parameters
global_account_idrequiredstring

The unique ID of the Global Account

idrequiredstring

The unique ID of the Alias

Response body - 200 OK
global_account_idstring

Global account ID

idstring

Alias ID

local_clearing_systemstring

Local clearing system to be registered with

NPP

next_actionobject

Details of the next action to be taken

next_action.typestring

Type of action to be taken

submit_verification_code, request_new_verification_code, complete_port

next_action.expires_atstring

The expiration time of the verification code in ISO8601 format.

next_action.remaining_attemptsinteger

Remaining attempts you have to submit the verification code. When this reaches 0, the code becomes invalid and you must call Request new verification code for an alias to generate a new one.

reasonstring

Explanation for the status of the Alias. If there are no additional details, we will return null.

request_idstring

Unique request ID specified in the request

statusstring

Alias status

REQUIRES_ACTION, PROCESSING, ACTIVE, PORT_INITIATED, PORTED, CANCELLATION_REQUESTED, CANCELLED, FAILED, SUSPENSION_REQUESTED, SUSPENDED

typestring

Alias type

EMAIL, PHONE_NUMBER, AUSTRALIAN_BUSINESS_NUMBER

valuestring

Alias value

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/global_accounts/{global_account_id}/aliases/{id}/request_new_verification_code
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/global_accounts/global_account_id/aliases/alias_id/request_new_verification_code' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "global_account_id": "global_account_id",
3 "id": "alias_id",
4 "local_clearing_system": "NPP",
5 "next_action": {
6 "expires_at": "2026-01-31T06:57:10+0000",
7 "remaining_attempts": 3,
8 "type": "submit_verification_code"
9 },
10 "reason": "<string>",
11 "request_id": "8d411ad4-aed6-1261-92fa-51225212e2e1",
12 "status": "ACTIVE",
13 "type": "EMAIL",
14 "value": "[email protected]"
15}
Was this section helpful?