Airwallex logo
Airwallex logoAirwallex logo

Batch Transfers

Copy for LLMView as Markdown

A batch transfer resource is created when you want to create multiple payments with one fund deduction from your funding source. You can create a batch transfer first, and then add items into this batch. You can only input one funding source in a batch. Beneficiary information is contained in each item in the batch.

Endpoints
GET /api/v1/batch_transfers
GET /api/v1/batch_transfers/{id}
POST /api/v1/batch_transfers/{id}/add_items
POST /api/v1/batch_transfers/{id}/delete
POST /api/v1/batch_transfers/{id}/delete_items
GET /api/v1/batch_transfers/{id}/items
POST /api/v1/batch_transfers/{id}/quote
POST /api/v1/batch_transfers/{id}/submit
POST /api/v1/batch_transfers/create

List all batch transfers

GET /api/v1/batch_transfers

Retrieve batch transfers with optional filters on request id, status, or pagination parameters (page, page_size).

Parameters
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 and max value is 50

request_idstring

Batch transfer request_id

short_reference_idstring

Batch transfer short_reference_id

statusstring

The batch transfer status

Response body - 200 OK
itemsarray

Paged results.

items.idstring

System generated batch transfer id.

items.request_idstring

A unique batch transfer reference specified by the client.

items.short_reference_idstring

System generated batch short reference id.

items.statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

items.total_item_countinteger

The total count of items within the batch transfer.

items.updated_atstring

The time this batch transfer was last updated.

items.valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

items.fundingobject

The funding information of this batch transfer.

items.funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

items.funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

items.funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

items.funding.failure_details.codestring

Error code (details can be found here ).

items.funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

items.funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

items.funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

items.funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

items.funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

items.funding.failure_reasonstring

Empty unless the funding is in an error state.

items.funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

items.funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

items.metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

items.namestring

The name of the batch transfer.

items.quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

items.quote_summary.expires_atstring

The time this batch transfer's quote will expire.

items.quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

items.quote_summary.quotesarray

The quote details of the batch transfer.

items.quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

items.quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

items.quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

items.quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

items.quote_summary.quotes.fee_amountnumber

Total fee for this quote.

items.quote_summary.quotes.fee_currencystring

Fee currency.

items.quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

items.quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

items.quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

items.remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

items.transfer_datestring

Date when batch transfer is scheduled to be processed.

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/batch_transfers
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "funding": {
5 "deposit_type": "DIRECT_DEBIT",
6 "failure_details": {
7 "code": "insufficient_funds",
8 "iso_code": "AM04",
9 "provider_failure_details": {
10 "code": "R01",
11 "local_clearing_system": "US_ACH",
12 "message": "INSUFFICIENT FUNDS"
13 }
14 },
15 "failure_reason": "regulatory_reason",
16 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
17 "reference": "DD for batch transfer 12345",
18 "status": "FUNDED"
19 },
20 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
21 "metadata": {
22 "order_id": "0123456789"
23 },
24 "name": "batch-name",
25 "quote_summary": {
26 "expires_at": "2024-01-24T18:03:02+1100",
27 "last_quoted_at": "2024-01-24T18:00:02+1100",
28 "quotes": [
29 {
30 "amount_beneficiary_receives": 200,
31 "amount_payer_pays": 1005,
32 "client_rate": 5,
33 "currency_pair": "AUDUSD",
34 "fee_amount": 5,
35 "fee_currency": "USD",
36 "payment_currency": "AUD",
37 "source_currency": "USD"
38 }
39 ]
40 },
41 "remarks": "Any information",
42 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
43 "short_reference_id": "B231018-TMA1RTC",
44 "status": "SCHEDULED",
45 "total_item_count": 100,
46 "transfer_date": "2024-01-24",
47 "updated_at": "2024-01-24T18:00:02+1100",
48 "valid_item_count": 99
49 }
50 ],
51 "page_after": "<string>",
52 "page_before": "<string>"
53}
Was this section helpful?

Retrieve a batch transfer

GET /api/v1/batch_transfers/{id}

Retrieve details of a batch transfer by specifying the batch transfer id.

Parameters
idrequiredstring

Unique identifier of the batch transfer to retrieve

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

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/batch_transfers/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_reason": "regulatory_reason",
5 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
6 "reference": "DD for batch transfer 12345",
7 "status": "FUNDED"
8 },
9 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
10 "metadata": {
11 "order_id": "0123456789"
12 },
13 "name": "batch-name",
14 "quote_summary": {
15 "expires_at": "2024-01-24T18:03:02+1100",
16 "last_quoted_at": "2024-01-24T18:00:02+1100",
17 "quotes": [
18 {
19 "amount_beneficiary_receives": 200,
20 "amount_payer_pays": 1005,
21 "client_rate": 5,
22 "currency_pair": "AUDUSD",
23 "fee_amount": 5,
24 "fee_currency": "USD",
25 "payment_currency": "AUD",
26 "source_currency": "USD"
27 }
28 ],
29 "validity": "MIN_1"
30 },
31 "remarks": "Any information",
32 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
33 "short_reference_id": "B231018-TMA1RTC",
34 "status": "SCHEDULED",
35 "total_item_count": 100,
36 "transfer_date": "2024-01-24",
37 "updated_at": "2024-01-24T18:00:02+1100",
38 "valid_item_count": 99
39}
Was this section helpful?

Add items to a batch

POST /api/v1/batch_transfers/{id}/add_items

Add transfer items to a batch by specifying the batch transfer id. You may add 100 items at a time and add up to a maximum of 1000 items per batch transfer. Please note that you can only add items to a batch when its status is DRAFTING.

Parameters
idrequiredstring

Unique identifier of the batch transfer to add batch transfer items

Request body
itemsrequiredarray

A list of batch items to be added, you may add 100 items at a time and add up to a maximum of 1000 items per batch transfer.

items.payment_currencyrequiredstring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

items.request_idrequiredstring

A unique request identifier specified by the client. payout requests with the same request_id will be ignored. This allows requests to be replayed if client is unsure of the outcome, e.g. due to network issues, system failures, etc. Note: Can be non-UUID as long as it is unique between requests.

items.source_currencyrequiredstring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code)

items.beneficiaryobject

Details for the beneficiary in the payment request. If beneficiary_id provided in the payment request then beneficiary should be empty

items.beneficiary.bank_detailsrequiredobject

Beneficiary's bank account details where the payment will be credited

items.beneficiary.bank_details.account_currencyrequiredstring

Account Currency

items.beneficiary.bank_details.account_namerequiredstring

Account holder name of the beneficiary’s bank account

items.beneficiary.bank_details.bank_country_coderequiredstring

Bank country code (2-letter ISO 3166-2 country code)

items.beneficiary.bank_details.fingerprintrequiredstring

Fingerprint of current beneficiary's bank account

items.beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product Docs .

items.beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled

items.beneficiary.bank_details.account_routing_type1string

Routing code type

items.beneficiary.bank_details.account_routing_type2string

Routing code sub type

items.beneficiary.bank_details.account_routing_value1string

Routing code value

items.beneficiary.bank_details.account_routing_value2string

Routing code sub type value

items.beneficiary.bank_details.bank_account_categorystring

bank account type

items.beneficiary.bank_details.bank_branchstring

Specific branch of bank account

items.beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account

items.beneficiary.bank_details.bank_statestring

Bank State

items.beneficiary.bank_details.bank_street_addressstring

Bank street address

items.beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account

items.beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries

items.beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank

items.beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC

items.beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

items.beneficiary.bank_details.swift_codestring

Bank swift code

items.beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account

items.beneficiary.entity_typerequiredstring

Entity type of the beneficiary

items.beneficiary.additional_infoobject

Additional information about the beneficiary

items.beneficiary.additional_info.business_areastring

Category of business activity

items.beneficiary.additional_info.business_phone_numberstring

Business phone number

items.beneficiary.additional_info.business_registration_numberstring

Business registration number

items.beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes

items.beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

items.beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese

items.beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number

items.beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese

items.beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

items.beneficiary.additional_info.personal_emailstring

Personal email

items.beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese

items.beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number

items.beneficiary.additional_info.personal_id_typestring

Personal unique identifier type

items.beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese

items.beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number

items.beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

items.beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.beneficiary.addressobject

Beneficiary's address details

items.beneficiary.address.citystring

Beneficiary's city

items.beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code)

items.beneficiary.address.postcodestring

Beneficiary's post code

items.beneficiary.address.statestring

Beneficiary's state

items.beneficiary.address.street_addressstring

Beneficiary's street address

items.beneficiary.company_namestring

Company name of the beneficiary

items.beneficiary.date_of_birthstring

beneficiary date of birth

items.beneficiary.first_namestring

First name of the beneficiary

items.beneficiary.last_namestring

Last name of the beneficiary

items.beneficiary_idstring

An Airwallex beneficiary_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the beneficiary section and should be empty if the beneficiary fields are provided.

items.fee_paid_bystring

Denotes whether PAYER/BENEFICIARY will be liable for the payment fees, and it affects the actual amount the beneficiary receives.

items.metadataobject

A set of key-value pairs for storing your own data together with the payment.

items.payerobject

Details for the payer in the payment request. If payer_id provided in the payment request then payer should be empty

items.payer.addressrequiredobject

Payer's address details

items.payer.address.country_coderequiredstring

Payer's country code (2-letter ISO 3166-2 country code)

items.payer.address.citystring

Payer's city

items.payer.address.postcodestring

Payer's post code

items.payer.address.statestring

Payer's state

items.payer.address.street_addressstring

Payer's street address

items.payer.entity_typerequiredstring

Entity type of the payer

items.payer.additional_infoobject

Additional information about the payer

items.payer.additional_info.business_registration_numberstring

Business registration number

items.payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority

items.payer.additional_info.external_idstring

Unique identifier of the person in your company

items.payer.additional_info.personal_emailstring

Personal email

items.payer.additional_info.personal_id_numberstring

Personal unique identifier number

items.payer.company_namestring

Company name of the payer

items.payer.date_of_birthstring

Payer's date of birth

items.payer.first_namestring

First name of the payer

items.payer.last_namestring

Last name of the payer

items.payer_idstring

An Airwallex payer_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the payer section and should be empty if the payer fields are provided.

items.payment_amountnumber

Payment amount in payment_currency.

items.payment_methodstring

Payment method, i.e. SWIFT, LOCAL.

items.reasonstring

Reason for the payment instruction.

items.referencestring

A user specified reference that will be displayed to the beneficiary on the payment transaction with their bank.

items.remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

items.source_amountnumber

Source amount in source_currency.

items.swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/{id}/add_items
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/add_items' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "items": [
> {
> "beneficiary": {
> "additional_info": {
> "business_area": "Travel",
> "business_phone_number": "689342234",
> "business_registration_number": "IT593003",
> "legal_rep_bank_account_number": "44250100003700000000",
> "legal_rep_first_name_in_chinese": "小芳",
> "legal_rep_id_number": "110108199304203520",
> "legal_rep_last_name_in_chinese": "刘",
> "legal_rep_mobile_number": "13651362890",
> "personal_email": "[email protected]",
> "personal_first_name_in_chinese": "大明",
> "personal_id_number": "1234567890",
> "personal_id_type": "NATIONAL_ID",
> "personal_last_name_in_chinese": "李",
> "personal_mobile_number": "13651362890",
> "security_question": "What is the name of my second puppy?",
> "security_question_answer": "Scooby Doo"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "bank_details": {
> "account_currency": "AUD",
> "account_name": "Lee Da Ming",
> "account_name_alias": "Lee D M",
> "account_number": "12750852",
> "account_routing_type1": "bsb",
> "account_routing_type2": "sort_code",
> "account_routing_value1": "083064",
> "account_routing_value2": "123456",
> "bank_account_category": "Checking,Savings,Vista,Maestra",
> "bank_branch": "Melbourne",
> "bank_country_code": "AU",
> "bank_name": "National Australia Bank",
> "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
> "binding_mobile_number": "654897612345",
> "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
> "iban": "ES8023100001180000012345",
> "local_clearing_system": "ACH",
> "swift_code": "CTBAAU2S",
> "transaction_reference": "4140110135",
> "intermediary_bank_swift_code": "CTBAAU2S",
> "intermediary_bank_name": "National Australia Bank"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "John",
> "last_name": "Walker"
> },
> "beneficiary_id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "fee_paid_by": "PAYER",
> "metadata": {
> "order_id": "0123456789"
> },
> "payer": {
> "additional_info": {
> "business_registration_number": "EU300503",
> "business_registration_type": "Partnership",
> "external_id": "1234567890",
> "personal_email": "[email protected]",
> "personal_id_number": "1234567890"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "James",
> "last_name": "Smith"
> },
> "payer_id": "46c22228-5831-4c53-a4fa-a3ab4954877c",
> "payment_amount": 10000,
> "payment_currency": "AUD",
> "payment_method": "SWIFT",
> "reason": "travel",
> "reference": "PMT1936398",
> "remarks": "Any information",
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
> "source_amount": 10000,
> "source_currency": "AUD",
> "swift_charge_option": "SHARED"
> }
> ]
>}'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_details": {
5 "code": "insufficient_funds",
6 "iso_code": "AM04",
7 "provider_failure_details": {
8 "code": "R01",
9 "local_clearing_system": "US_ACH",
10 "message": "INSUFFICIENT FUNDS"
11 }
12 },
13 "failure_reason": "regulatory_reason",
14 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
15 "reference": "DD for batch transfer 12345",
16 "status": "FUNDED"
17 },
18 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
19 "metadata": {
20 "order_id": "0123456789"
21 },
22 "name": "batch-name",
23 "quote_summary": {
24 "expires_at": "2024-01-24T18:03:02+1100",
25 "last_quoted_at": "2024-01-24T18:00:02+1100",
26 "quotes": [
27 {
28 "amount_beneficiary_receives": 200,
29 "amount_payer_pays": 1005,
30 "client_rate": 5,
31 "currency_pair": "AUDUSD",
32 "fee_amount": 5,
33 "fee_currency": "USD",
34 "payment_currency": "AUD",
35 "source_currency": "USD"
36 }
37 ],
38 "validity": "MIN_1"
39 },
40 "remarks": "Any information",
41 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
42 "short_reference_id": "B231018-TMA1RTC",
43 "status": "SCHEDULED",
44 "total_item_count": 100,
45 "transfer_date": "2024-01-24",
46 "updated_at": "2024-01-24T18:00:02+1100",
47 "valid_item_count": 99
48}
Was this section helpful?

Delete a batch transfer

POST /api/v1/batch_transfers/{id}/delete

Before submitting a batch transfer, you can delete a batch by specifying the batch transfer id. Please note that you can only delete a batch transfer when its status is DRAFTING.

Parameters
idrequiredstring

Unique identifier of the batch transfer to be deleted

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/{id}/delete
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/delete' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_reason": "regulatory_reason",
5 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
6 "reference": "DD for batch transfer 12345",
7 "status": "FUNDED"
8 },
9 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
10 "metadata": {
11 "order_id": "0123456789"
12 },
13 "name": "batch-name",
14 "quote_summary": {
15 "expires_at": "2024-01-24T18:03:02+1100",
16 "last_quoted_at": "2024-01-24T18:00:02+1100",
17 "quotes": [
18 {
19 "amount_beneficiary_receives": 200,
20 "amount_payer_pays": 1005,
21 "client_rate": 5,
22 "currency_pair": "AUDUSD",
23 "fee_amount": 5,
24 "fee_currency": "USD",
25 "payment_currency": "AUD",
26 "source_currency": "USD"
27 }
28 ],
29 "validity": "MIN_1"
30 },
31 "remarks": "Any information",
32 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
33 "short_reference_id": "B231018-TMA1RTC",
34 "status": "SCHEDULED",
35 "total_item_count": 100,
36 "transfer_date": "2024-01-24",
37 "updated_at": "2024-01-24T18:00:02+1100",
38 "valid_item_count": 99
39}
Was this section helpful?

Delete items within a batch

POST /api/v1/batch_transfers/{id}/delete_items

Before submitting a batch transfer, you can delete invalid or wrong items in the batch by specifying the batch transfer id and item_ids. Please note that you can only delete items when the batch transfer status is DRAFTING.

Parameters
idrequiredstring

Unique identifier of the batch transfer to delete batch transfer items

Request body
item_idsrequiredarray

A list of batch item ids to be deleted.

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/{id}/delete_items
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/delete_items' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "item_ids": []
>}'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_details": {
5 "code": "insufficient_funds",
6 "iso_code": "AM04",
7 "provider_failure_details": {
8 "code": "R01",
9 "local_clearing_system": "US_ACH",
10 "message": "INSUFFICIENT FUNDS"
11 }
12 },
13 "failure_reason": "regulatory_reason",
14 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
15 "reference": "DD for batch transfer 12345",
16 "status": "FUNDED"
17 },
18 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
19 "metadata": {
20 "order_id": "0123456789"
21 },
22 "name": "batch-name",
23 "quote_summary": {
24 "expires_at": "2024-01-24T18:03:02+1100",
25 "last_quoted_at": "2024-01-24T18:00:02+1100",
26 "quotes": [
27 {
28 "amount_beneficiary_receives": 200,
29 "amount_payer_pays": 1005,
30 "client_rate": 5,
31 "currency_pair": "AUDUSD",
32 "fee_amount": 5,
33 "fee_currency": "USD",
34 "payment_currency": "AUD",
35 "source_currency": "USD"
36 }
37 ],
38 "validity": "MIN_1"
39 },
40 "remarks": "Any information",
41 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
42 "short_reference_id": "B231018-TMA1RTC",
43 "status": "SCHEDULED",
44 "total_item_count": 100,
45 "transfer_date": "2024-01-24",
46 "updated_at": "2024-01-24T18:00:02+1100",
47 "valid_item_count": 99
48}
Was this section helpful?

List all items within a batch

GET /api/v1/batch_transfers/{id}/items

Retrieve all items added to the batch transfer by specifying the batch transfer id.

Parameters
idrequiredstring

Unique identifier of the batch transfer to retrieve items

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 and max value is 1000

Response body - 200 OK
itemsarray

Paged results.

items.idstring

System generated batch transfer item id, can be used to delete batch items.

items.request_idstring

Original request_id of the user for the batch item.

items.statusstring

Batch transfer item statuses, can be one of: VALIDATION_FAILED, VALIDATED, BOOKING, BOOKED, BOOKING_FAILED

items.updated_atstring

The time this batch transfer was last updated.

items.errorsarray

Any detailed error codes if status is VALIDATION_FAILED or BOOKING_FAILED.

items.errors.codestring

Unique numeric identifier of the specific validation error encountered.

items.errors.paramsobject

Additional parsable information relating to the specific validation error where applicable, e.g. minimum and maximum character length.

items.errors.sourcestring

The specific field within the request that has failed.

items.transfer_draftobject

Transfer draft preview after obtaining a quote. It will no longer be available once batch transfer is booked.

items.transfer_draft.amount_beneficiary_receivesnumber

The total amount (in payment payment_currency) the beneficiary receives for this payment, and is governed by value specified in fee_paid_by, i.e. if fee_paid_by is PAYER, then the beneficiary receives the exact same payment_amount since payer is responsible for the payment fee. Otherwise, beneficiary receives payment_amount - fee as the fee is implicitly passed onto the beneficiary

items.transfer_draft.amount_payer_paysnumber

The total amount (in source_currency) the payer has to pay for making this payment. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of payment_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as payment_amount

items.transfer_draft.beneficiaryobject

Details of the beneficiary

items.transfer_draft.beneficiary.bank_detailsobject

Beneficiary's bank account details where the payment will be credited

items.transfer_draft.beneficiary.bank_details.account_currencystring

Account Currency

items.transfer_draft.beneficiary.bank_details.account_namestring

Account holder name of the beneficiary’s bank account

items.transfer_draft.beneficiary.bank_details.bank_country_codestring

Bank country code (2-letter ISO 3166-2 country code)

items.transfer_draft.beneficiary.bank_details.fingerprintstring

Fingerprint of current beneficiary's bank account

items.transfer_draft.beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product Docs .

items.transfer_draft.beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled

items.transfer_draft.beneficiary.bank_details.account_routing_type1string

Routing code type

items.transfer_draft.beneficiary.bank_details.account_routing_type2string

Routing code sub type

items.transfer_draft.beneficiary.bank_details.account_routing_value1string

Routing code value

items.transfer_draft.beneficiary.bank_details.account_routing_value2string

Routing code sub type value

items.transfer_draft.beneficiary.bank_details.bank_account_categorystring

bank account type

items.transfer_draft.beneficiary.bank_details.bank_branchstring

Specific branch of bank account

items.transfer_draft.beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account

items.transfer_draft.beneficiary.bank_details.bank_statestring

Bank State

items.transfer_draft.beneficiary.bank_details.bank_street_addressstring

Bank street address

items.transfer_draft.beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account

items.transfer_draft.beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries

items.transfer_draft.beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank

items.transfer_draft.beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC

items.transfer_draft.beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

items.transfer_draft.beneficiary.bank_details.swift_codestring

Bank swift code

items.transfer_draft.beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account

items.transfer_draft.beneficiary.entity_typestring

Entity type of the beneficiary

items.transfer_draft.beneficiary.additional_infoobject

Additional information about the beneficiary

items.transfer_draft.beneficiary.additional_info.business_areastring

Category of business activity

items.transfer_draft.beneficiary.additional_info.business_phone_numberstring

Business phone number

items.transfer_draft.beneficiary.additional_info.business_registration_numberstring

Business registration number

items.transfer_draft.beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes

items.transfer_draft.beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

items.transfer_draft.beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese

items.transfer_draft.beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number

items.transfer_draft.beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese

items.transfer_draft.beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

items.transfer_draft.beneficiary.additional_info.personal_emailstring

Personal email

items.transfer_draft.beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese

items.transfer_draft.beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number

items.transfer_draft.beneficiary.additional_info.personal_id_typestring

Personal unique identifier type

items.transfer_draft.beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese

items.transfer_draft.beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number

items.transfer_draft.beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

items.transfer_draft.beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.transfer_draft.beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.transfer_draft.beneficiary.addressobject

Beneficiary's address details

items.transfer_draft.beneficiary.address.citystring

Beneficiary's city

items.transfer_draft.beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code)

items.transfer_draft.beneficiary.address.postcodestring

Beneficiary's post code

items.transfer_draft.beneficiary.address.statestring

Beneficiary's state

items.transfer_draft.beneficiary.address.street_addressstring

Beneficiary's street address

items.transfer_draft.beneficiary.company_namestring

Company name of the beneficiary

items.transfer_draft.beneficiary.date_of_birthstring

beneficiary date of birth

items.transfer_draft.beneficiary.first_namestring

First name of the beneficiary

items.transfer_draft.beneficiary.last_namestring

Last name of the beneficiary

items.transfer_draft.fee_amountnumber

The payment fee (in source_currency) for sending this payment

items.transfer_draft.fee_currencystring

The payment fee currency. This should always equal to the source_currency

items.transfer_draft.fee_paid_bystring

Denotes whether PAYER / BENEFICIARY will be liable for the the payment fee. Defaults to PAYER unless field is populated in the request

items.transfer_draft.payerobject

Details of the payer

items.transfer_draft.payer.addressobject

Payer's address details

items.transfer_draft.payer.address.country_codestring

Payer's country code (2-letter ISO 3166-2 country code)

items.transfer_draft.payer.address.citystring

Payer's city

items.transfer_draft.payer.address.postcodestring

Payer's post code

items.transfer_draft.payer.address.statestring

Payer's state

items.transfer_draft.payer.address.street_addressstring

Payer's street address

items.transfer_draft.payer.entity_typestring

Entity type of the payer

items.transfer_draft.payer.additional_infoobject

Additional information about the payer

items.transfer_draft.payer.additional_info.business_registration_numberstring

Business registration number

items.transfer_draft.payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority

items.transfer_draft.payer.additional_info.external_idstring

Unique identifier of the person in your company

items.transfer_draft.payer.additional_info.personal_emailstring

Personal email

items.transfer_draft.payer.additional_info.personal_id_numberstring

Personal unique identifier number

items.transfer_draft.payer.company_namestring

Company name of the payer

items.transfer_draft.payer.date_of_birthstring

Payer's date of birth

items.transfer_draft.payer.first_namestring

First name of the payer

items.transfer_draft.payer.last_namestring

Last name of the payer

items.transfer_draft.payment_amountnumber

Amount to be paid.

items.transfer_draft.payment_currencystring

Currency the payment should be made in (3-letter ISO-4217 code).

items.transfer_draft.payment_datestring

Date when payment should be made (Copied from the request if specified)

items.transfer_draft.payment_methodstring

Copied from the request if specified. Otherwise the system will populate this field automatically

items.transfer_draft.reasonstring

Reason for the payment instruction

items.transfer_draft.referencestring

Bank payment reference to be shown on beneficiary's bank transaction history

items.transfer_draft.request_idstring

A unique request identifier specified in the payment request.

items.transfer_draft.short_reference_idstring

Short payment reference for support purposes

items.transfer_draft.source_amountnumber

Amount to be received.

items.transfer_draft.source_currencystring

Copied from the request if specified

items.transfer_draft.beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this payment

items.transfer_draft.metadataobject

A set of key-value pairs for storing your own data together with the payment.

items.transfer_draft.payer_idstring

payer_id of the payer contact used to create this payment

items.transfer_draft.remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

items.transfer_idstring

System generated transaction id of the batch item, if not booked, 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/batch_transfers/{id}/items
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/items' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "errors": [
5 {
6 "code": "002",
7 "params": {
8 "length_min": "5",
9 "length_max": "200"
10 },
11 "source": "beneficiary.address.street_address"
12 }
13 ],
14 "id": "aaaaaaaa-a6a1-4d45-aae7-6858fceeeeee",
15 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
16 "status": "VALIDATED",
17 "transfer_draft": {
18 "amount_beneficiary_receives": 99996,
19 "amount_payer_pays": 10004,
20 "beneficiary": {
21 "additional_info": {
22 "business_area": "Travel",
23 "business_phone_number": "689342234",
24 "business_registration_number": "IT593003",
25 "legal_rep_bank_account_number": "44250100003700000000",
26 "legal_rep_first_name_in_chinese": "小芳",
27 "legal_rep_id_number": "110108199304203520",
28 "legal_rep_last_name_in_chinese": "刘",
29 "legal_rep_mobile_number": "13651362890",
30 "personal_email": "[email protected]",
31 "personal_first_name_in_chinese": "大明",
32 "personal_id_number": "1234567890",
33 "personal_id_type": "NATIONAL_ID",
34 "personal_last_name_in_chinese": "李",
35 "personal_mobile_number": "13651362890",
36 "security_question": "What is the name of my second puppy?",
37 "security_question_answer": "Scooby Doo"
38 },
39 "address": {
40 "city": "Melbourne",
41 "country_code": "AU",
42 "postcode": "3000",
43 "state": "VIC",
44 "street_address": "15 William Street"
45 },
46 "bank_details": {
47 "account_currency": "AUD",
48 "account_name": "Lee Da Ming",
49 "account_name_alias": "Lee D M",
50 "account_number": "12750852",
51 "account_routing_type1": "bsb",
52 "account_routing_type2": "sort_code",
53 "account_routing_value1": "083064",
54 "account_routing_value2": "123456",
55 "bank_account_category": "Checking,Savings,Vista,Maestra",
56 "bank_branch": "Melbourne",
57 "bank_country_code": "AU",
58 "bank_name": "National Australia Bank",
59 "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
60 "binding_mobile_number": "654897612345",
61 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
62 "iban": "ES8023100001180000012345",
63 "local_clearing_system": "ACH",
64 "swift_code": "CTBAAU2S",
65 "transaction_reference": "4140110135",
66 "intermediary_bank_swift_code": "CTBAAU2S",
67 "intermediary_bank_name": "National Australia Bank"
68 },
69 "company_name": "Complete Concrete Pty Ltd",
70 "date_of_birth": "1976-08-26",
71 "entity_type": "COMPANY",
72 "first_name": "John",
73 "last_name": "Walker"
74 },
75 "fee_amount": 4,
76 "fee_currency": "AUD",
77 "fee_paid_by": "PAYER",
78 "metadata": {
79 "order_id": "0123456789"
80 },
81 "payer": {
82 "additional_info": {
83 "business_registration_number": "EU300503",
84 "business_registration_type": "Partnership",
85 "external_id": "1234567890",
86 "personal_email": "[email protected]",
87 "personal_id_number": "1234567890"
88 },
89 "address": {
90 "city": "Melbourne",
91 "country_code": "AU",
92 "postcode": "3000",
93 "state": "VIC",
94 "street_address": "15 William Street"
95 },
96 "company_name": "Complete Concrete Pty Ltd",
97 "date_of_birth": "1976-08-26",
98 "entity_type": "COMPANY",
99 "first_name": "James",
100 "last_name": "Smith"
101 },
102 "payment_amount": 10000,
103 "payment_currency": "AUD",
104 "payment_date": "2021-01-24",
105 "payment_method": "SWIFT",
106 "reason": "travel",
107 "reference": "PMT1936398",
108 "remarks": "string",
109 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
110 "short_reference_id": "20170322-9F6ML2",
111 "source_amount": 10000,
112 "source_currency": "AUD"
113 },
114 "transfer_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
115 "updated_at": "2021-01-24T18:00:02+1100"
116 }
117 ],
118 "page_after": "<string>",
119 "page_before": "<string>"
120}
Was this section helpful?

Quote a batch transfer

POST /api/v1/batch_transfers/{id}/quote

After adding valid transfer items to the batch, you can quote/lock FX rates by specifying the batch transfer id. Please note that only valid items in the batch will be quoted; you can only quote a batch transfer when its status is DRAFTING or IN_APPROVAL.

Parameters
idrequiredstring

Unique identifier of the batch transfer to quote

Request body
validitystring

Quote validity period. Available options: [MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24]. The value will default to MIN_1 if not specified.

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/{id}/quote
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/quote' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "validity": "HR_24"
>}'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_details": {
5 "code": "insufficient_funds",
6 "iso_code": "AM04",
7 "provider_failure_details": {
8 "code": "R01",
9 "local_clearing_system": "US_ACH",
10 "message": "INSUFFICIENT FUNDS"
11 }
12 },
13 "failure_reason": "regulatory_reason",
14 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
15 "reference": "DD for batch transfer 12345",
16 "status": "FUNDED"
17 },
18 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
19 "metadata": {
20 "order_id": "0123456789"
21 },
22 "name": "batch-name",
23 "quote_summary": {
24 "expires_at": "2024-01-24T18:03:02+1100",
25 "last_quoted_at": "2024-01-24T18:00:02+1100",
26 "quotes": [
27 {
28 "amount_beneficiary_receives": 200,
29 "amount_payer_pays": 1005,
30 "client_rate": 5,
31 "currency_pair": "AUDUSD",
32 "fee_amount": 5,
33 "fee_currency": "USD",
34 "payment_currency": "AUD",
35 "source_currency": "USD"
36 }
37 ],
38 "validity": "MIN_1"
39 },
40 "remarks": "Any information",
41 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
42 "short_reference_id": "B231018-TMA1RTC",
43 "status": "SCHEDULED",
44 "total_item_count": 100,
45 "transfer_date": "2024-01-24",
46 "updated_at": "2024-01-24T18:00:02+1100",
47 "valid_item_count": 99
48}
Was this section helpful?

Submit a batch transfer

POST /api/v1/batch_transfers/{id}/submit

Submit a batch transfer by specifying the batch transfer id. Please note that only valid items in the batch will be submitted. If no approval is required, this batch will transition to SCHEDULED status and will be processed by Airwallex accordingly. If approval is required, this batch will transition to IN_APPROVAL status.

Parameters
idrequiredstring

Unique identifier of the batch transfer to submit

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/{id}/submit
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/batch_transfer_id/submit' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_reason": "regulatory_reason",
5 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
6 "reference": "DD for batch transfer 12345",
7 "status": "FUNDED"
8 },
9 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
10 "metadata": {
11 "order_id": "0123456789"
12 },
13 "name": "batch-name",
14 "quote_summary": {
15 "expires_at": "2024-01-24T18:03:02+1100",
16 "last_quoted_at": "2024-01-24T18:00:02+1100",
17 "quotes": [
18 {
19 "amount_beneficiary_receives": 200,
20 "amount_payer_pays": 1005,
21 "client_rate": 5,
22 "currency_pair": "AUDUSD",
23 "fee_amount": 5,
24 "fee_currency": "USD",
25 "payment_currency": "AUD",
26 "source_currency": "USD"
27 }
28 ],
29 "validity": "MIN_1"
30 },
31 "remarks": "Any information",
32 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
33 "short_reference_id": "B231018-TMA1RTC",
34 "status": "SCHEDULED",
35 "total_item_count": 100,
36 "transfer_date": "2024-01-24",
37 "updated_at": "2024-01-24T18:00:02+1100",
38 "valid_item_count": 99
39}
Was this section helpful?

Create a batch transfer

POST /api/v1/batch_transfers/create

Create a new batch transfer.

Request body
request_idrequiredstring

A unique batch payout reference specified by the client. Batch payout create requests with the same request_id will be rejected.

funding_sourceobject

Specify funding source for the batch. If not set, default is wallet.

funding_source.deposit_typestring

The type of deposit you would like to create, either DIRECT_DEBIT or FASTER_DIRECT_DEBIT. If not specified, it will default to DIRECT_DEBIT.

funding_source.idstring

The funding source unique identifier only supports Linked Accounts. Please provide the unique identifier of your Linked Account as returned in Create a Linked Account. Note that if not specified, the funding source will default to your Wallet.

funding_source.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

transfer_datestring

If you are using your Wallet as the funding source, you can specify a current or future date (ISO 8601 format) for when the batch transfer items should be processed. If left blank, the transfer date will default to the earliest possible date.

Response body - 200 OK
fundingobject

The funding information of this batch transfer.

funding.statusstring

The Funding statuses of this batch transfer, can be one of SCHEDULED, PROCESSING, FUNDED, FAILED, REVERSED.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found here ).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found here ).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

funding.referencestring

A user specified reference that will be displayed to the Direct Debit bank account owner on the bank statement.

idstring

System generated batch transfer id.

metadataobject

A set of key-value pairs for storing your own data together with the batch transfer.

namestring

The name of the batch transfer.

quote_summaryobject

Summary of all payment quotes in the batch. Quotes are consolidated based on currency pairs.

quote_summary.expires_atstring

The time this batch transfer's quote will expire.

quote_summary.last_quoted_atstring

The time this batch transfer last quoted.

quote_summary.quotesarray

The quote details of the batch transfer.

quote_summary.quotes.amount_beneficiary_receivesnumber

Total amount beneficiary will need receive quoted in payment_currency.

quote_summary.quotes.amount_payer_paysnumber

Total amount payer need to pays quoted in source_currency.

quote_summary.quotes.client_ratenumber

Conversion rate. If pure payment, it will be null.

quote_summary.quotes.currency_pairstring

Currency pair related with the conversion rate. If pure payment, it will be null.

quote_summary.quotes.fee_amountnumber

Total fee for this quote.

quote_summary.quotes.fee_currencystring

Fee currency.

quote_summary.quotes.payment_currencystring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

quote_summary.quotes.source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

quote_summary.validitystring

Quote validity period in the request.

MIN_1, MIN_15, MIN_30, HR_1, HR_4, HR_8, HR_24

remarksstring

Additional information about this batch transfer, which will not be passed to the beneficiary.

request_idstring

A unique batch transfer reference specified by the client.

short_reference_idstring

System generated batch short reference id.

statusstring

Batch transfer statuses , can be one of: DRAFTING, IN_APPROVAL, APPROVAL_RECALLED, APPROVAL_REJECTED, APPROVAL_BLOCKED, SCHEDULED, OVERDUE, BOOKING, PARTIALLY_BOOKED, BOOKED, FAILED, CANCELLATION_REQUESTED, CANCELLED.

total_item_countinteger

The total count of items within the batch transfer.

transfer_datestring

Date when batch transfer is scheduled to be processed.

updated_atstring

The time this batch transfer was last updated.

valid_item_countinteger

The total count of valid batch transfer items contained. Invalid items will also be stored in the batch, you can use add_items and delete_items API to update it or execute without those invalid items.

Errors
Error statusDescription
401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/batch_transfers/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/batch_transfers/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "funding_source": {
> "deposit_type": "DIRECT_DEBIT",
> "id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "reference": "DD for batch transfer 12345"
> },
> "metadata": {
> "order_id": "0123456789"
> },
> "name": "batch-name",
> "remarks": "Any information",
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
> "transfer_date": "2024-01-24"
>}'
Response (200 OK)
1{
2 "funding": {
3 "deposit_type": "DIRECT_DEBIT",
4 "failure_details": {
5 "code": "insufficient_funds",
6 "iso_code": "AM04",
7 "provider_failure_details": {
8 "code": "R01",
9 "local_clearing_system": "US_ACH",
10 "message": "INSUFFICIENT FUNDS"
11 }
12 },
13 "failure_reason": "regulatory_reason",
14 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
15 "reference": "DD for batch transfer 12345",
16 "status": "FUNDED"
17 },
18 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
19 "metadata": {
20 "order_id": "0123456789"
21 },
22 "name": "batch-name",
23 "quote_summary": {
24 "expires_at": "2024-01-24T18:03:02+1100",
25 "last_quoted_at": "2024-01-24T18:00:02+1100",
26 "quotes": [
27 {
28 "amount_beneficiary_receives": 200,
29 "amount_payer_pays": 1005,
30 "client_rate": 5,
31 "currency_pair": "AUDUSD",
32 "fee_amount": 5,
33 "fee_currency": "USD",
34 "payment_currency": "AUD",
35 "source_currency": "USD"
36 }
37 ],
38 "validity": "MIN_1"
39 },
40 "remarks": "Any information",
41 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d911",
42 "short_reference_id": "B231018-TMA1RTC",
43 "status": "SCHEDULED",
44 "total_item_count": 100,
45 "transfer_date": "2024-01-24",
46 "updated_at": "2024-01-24T18:00:02+1100",
47 "valid_item_count": 99
48}
Was this section helpful?