Platform Liquidity Programs
Manage platform liquidity programs, spending accounts, transactions, and fund deposit and withdrawal.
GET /api/v1/platform_liquidity_programs/{id}POST /api/v1/platform_liquidity_programs/{id}/depositPOST /api/v1/platform_liquidity_programs/{id}/withdrawPOST /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/createGET /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/{spending_account_id}GET /api/v1/platform_liquidity_programs/{id}/program_spending_accountsPOST /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/{spending_account_id}/adjust_limitsGET /api/v1/platform_liquidity_programs/{id}/transactions
Retrieve a ProgramBeta
GET /api/v1/platform_liquidity_programs/{id}
Retrieve details of a Platform Liquidity Program.
Unique identifier of the program.
The time the program was created.
Unique identifier of the Platform Liquidity Program.
Array of program balance information.
Available balance.
Three-letter ISO 4217 currency code.
Reserved balance.
Account total balance.
Name of the Platform Liquidity Program.
Status of the Platform Liquidity Program, either ACTIVE or INACTIVE.
Array of two-letter region codes, in ISO 3166-1 alpha-2 format, that determine which connected account regions may onboard to this program.
(Deprecated) Array of currency configurations.
Three-letter ISO 4217 currency code.
Low balance threshold amount. When the available balance drops below this threshold, the low balance webhook will be triggered.
The time the program was last updated.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 404 |
|
| 429 |
|
| 500 |
|
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "created_at": "2023-06-01T15:30:00Z",3 "id": "123e4567-e89b-12d3-a456-426614174000",4 "limit_balances": [5 {6 "available_amount": 10000,7 "currency": "HKD",8 "reserved_amount": 2000,9 "total_amount": 1200010 }11 ],12 "supported_connected_account_regions": [13 "HK",14 "SG"15 ],16 "name": "Merchant A Program",17 "status": "ACTIVE",18 "supported_currencies": [19 {20 "currency": "HKD",21 "low_balance_threshold": 100022 }23 ],24 "updated_at": "2023-06-01T15:45:30Z"25}
Deposit Funds Into a ProgramBeta
POST /api/v1/platform_liquidity_programs/{id}/deposit
Deposits funds into the program's settlement Airwallex account from the platform's wallet. The program limit balance will increase by the deposited amount.
Unique identifier of the program.
Deposit amount, greater than 0.
Currency in 3-letter ISO-4217 format.
A unique request identifier specified by the client. It's used by Airwallex for idempotency check. In case of timeout, the client can retry with the same request_id.
The time the program was created.
Unique identifier of the Platform Liquidity Program.
Array of program balance information.
Available balance.
Three-letter ISO 4217 currency code.
Reserved balance.
Account total balance.
Name of the Platform Liquidity Program.
Status of the Platform Liquidity Program, either ACTIVE or INACTIVE.
Array of two-letter region codes, in ISO 3166-1 alpha-2 format, that determine which connected account regions may onboard to this program.
(Deprecated) Array of currency configurations.
Three-letter ISO 4217 currency code.
Low balance threshold amount. When the available balance drops below this threshold, the low balance webhook will be triggered.
The time the program was last updated.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 429 |
|
| 500 |
|
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/deposit' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "amount": 500,> "currency": "USD",> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2">}'
1{2 "created_at": "2023-06-01T15:30:00Z",3 "id": "123e4567-e89b-12d3-a456-426614174000",4 "limit_balances": [5 {6 "available_amount": 10000,7 "currency": "HKD",8 "reserved_amount": 2000,9 "total_amount": 1200010 }11 ],12 "supported_connected_account_regions": [13 "HK",14 "SG"15 ],16 "name": "Merchant A Program",17 "status": "ACTIVE",18 "supported_currencies": [19 {20 "currency": "HKD",21 "low_balance_threshold": 100022 }23 ],24 "updated_at": "2023-06-01T15:45:30Z"25}
Withdraw Funds From a ProgramBeta
POST /api/v1/platform_liquidity_programs/{id}/withdraw
Withdraws funds from the program's settlement Airwallex account into the platform's wallet. The program limit balance will decrease by the withdrawn amount.
Unique identifier of the program.
Withdraw amount, greater than 0.
Currency in 3-letter ISO-4217 format.
A unique request identifier specified by the client. It's used by Airwallex for idempotency check. In case of timeout, the client can retry with the same request_id.
The time the program was created.
Unique identifier of the Platform Liquidity Program.
Array of program balance information.
Available balance.
Three-letter ISO 4217 currency code.
Reserved balance.
Account total balance.
Name of the Platform Liquidity Program.
Status of the Platform Liquidity Program, either ACTIVE or INACTIVE.
Array of two-letter region codes, in ISO 3166-1 alpha-2 format, that determine which connected account regions may onboard to this program.
(Deprecated) Array of currency configurations.
Three-letter ISO 4217 currency code.
Low balance threshold amount. When the available balance drops below this threshold, the low balance webhook will be triggered.
The time the program was last updated.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 429 |
|
| 500 |
|
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/withdraw' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "amount": 500,> "currency": "USD",> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2">}'
1{2 "created_at": "2023-06-01T15:30:00Z",3 "id": "123e4567-e89b-12d3-a456-426614174000",4 "limit_balances": [5 {6 "available_amount": 10000,7 "currency": "HKD",8 "reserved_amount": 2000,9 "total_amount": 1200010 }11 ],12 "supported_connected_account_regions": [13 "HK",14 "SG"15 ],16 "name": "Merchant A Program",17 "status": "ACTIVE",18 "supported_currencies": [19 {20 "currency": "HKD",21 "low_balance_threshold": 100022 }23 ],24 "updated_at": "2023-06-01T15:45:30Z"25}
Create a Program Spending AccountBeta
POST /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/create
Creates a spending account for a program, allowing access to program funds when transacting.
Unique identifier of the program.
Unique identifier of the Connected Account that the spending account is linked to.
Unique identifier of the Connected Account that the spending account is linked to.
The time the spending account was created.
Unique identifier of the funding source. Use this identifier to link a card to the program's spending account. Refer to Create a Card.
Unique identifier of the program spending account.
Status of the spending account, either ACTIVE or INACTIVE.
The time the spending account was last updated.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 429 |
|
| 500 |
|
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/program_spending_accounts/create' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "connected_account_id": "ACCT_123e4567">}'
1{2 "connected_account_id": "ACCT_123e4567",3 "created_at": "2023-06-01T15:30:00Z",4 "funding_source_id": "123e4567-e89b-12d3-a456-426614174001",5 "id": "123e4567-e89b-12d3-a456-426614174000",6 "status": "ACTIVE",7 "updated_at": "2023-06-01T15:45:30Z"8}
Retrieve a Program Spending AccountBeta
GET /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/{spending_account_id}
Retrieve details of a program spending account.
Unique identifier of the program.
Program Spending Account unique identifier.
Unique identifier of the Connected Account that the spending account is linked to.
The time the spending account was created.
Unique identifier of the funding source. Use this identifier to link a card to the program's spending account. Refer to Create a Card.
Unique identifier of the program spending account.
Per-currency balances when limit_policy is ENFORCED; null when limit_policy is BYPASSED.
Amount available for new spending.
Three-letter ISO 4217 currency code.
Amount reserved by pending spending.
Sum of available_amount and reserved_amount.
Policy controlling whether local spending limits are enforced.
BYPASSEDENFORCEDStatus of the spending account, either ACTIVE or INACTIVE.
The time the spending account was last updated.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 404 |
|
| 429 |
|
| 500 |
|
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/program_spending_accounts/spending_account_id' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "connected_account_id": "ACCT_123e4567",3 "created_at": "2023-06-01T15:30:00Z",4 "funding_source_id": "123e4567-e89b-12d3-a456-426614174001",5 "id": "123e4567-e89b-12d3-a456-426614174000",6 "limit_balances": [7 {8 "available_amount": 1300,9 "currency": "USD",10 "reserved_amount": 120,11 "total_amount": 142012 }13 ],14 "limit_policy": "ENFORCED",15 "status": "ACTIVE",16 "updated_at": "2023-06-01T15:45:30Z"17}
List all Program Spending AccountsBeta
GET /api/v1/platform_liquidity_programs/{id}/program_spending_accounts
Retrieve a list of spending accounts associated with a Platform Liquidity Program.
Unique identifier of the program.
Page marker to retrieve the previous or next page of results. Set this field to the value returned by page_before or page_after to retrieve the previous or next page, respectively.
The number of items to return per page, range [10, 100], default to 10.
Array of program spending accounts.
Policy controlling whether local spending limits are enforced.
BYPASSEDENFORCEDUnique identifier of the Connected Account that the spending account is linked to.
The time the spending account was created.
Unique identifier of the funding source. Use this identifier to link a card to the program's spending account. Refer to Create a Card.
Unique identifier of the program spending account.
Per-currency balances when limit_policy is ENFORCED; null when limit_policy is BYPASSED.
Amount available for new spending.
Three-letter ISO 4217 currency code.
Amount reserved by pending spending.
Sum of available_amount and reserved_amount.
Status of the spending account, either ACTIVE or INACTIVE.
The time the spending account was last updated.
A marker for retrieving the next page of results. Include this value in the page request parameter to retrieve subsequent pages.
A marker for retrieving the previous page of results. Include this value in the page request parameter to retrieve previous pages.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 429 |
|
| 500 |
|
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/program_spending_accounts' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "items": [3 {4 "connected_account_id": "ACCT_123e4567",5 "created_at": "2023-06-01T15:30:00Z",6 "funding_source_id": "123e4567-e89b-12d3-a456-426614174001",7 "id": "123e4567-e89b-12d3-a456-426614174000",8 "limit_balances": [9 {10 "available_amount": 1300,11 "currency": "USD",12 "reserved_amount": 120,13 "total_amount": 142014 }15 ],16 "limit_policy": "ENFORCED",17 "status": "ACTIVE",18 "updated_at": "2023-06-01T15:45:30Z"19 }20 ],21 "page_after": "eyJpZCI6ImIxMjM0NSJ9",22 "page_before": "eyJpZCI6ImEzNTUzMiJ9"23}
Adjust Program Spending Account LimitsBeta
POST /api/v1/platform_liquidity_programs/{id}/program_spending_accounts/{spending_account_id}/adjust_limits
Updates a spending account's spending limits. Set limit_policy to ENFORCED to apply per-currency limits, or BYPASSED to turn them off. When enforcing, you can include limit_adjustments to raise or lower each currency's limit (a positive amount increases it, a negative amount decreases it). Leave limit_adjustments out when limit_policy is BYPASSED.
Unique identifier of the program.
Program Spending Account unique identifier.
Target limit policy.
BYPASSEDENFORCEDA globally unique UUID specified by the client to ensure idempotency. If the request times out, retry with the same request_id.
Non-empty signed per-currency adjustments for ENFORCED; omitted for BYPASSED.
Amount to adjust the available limit. Positive values increase the limit; negative values decrease it. Supports up to two decimal places.
Supported uppercase three-letter ISO 4217 currency code.
Unique identifier of the Connected Account that the spending account is linked to.
The time the spending account was created.
Unique identifier of the funding source. Use this identifier to link a card to the program's spending account. Refer to Create a Card.
Unique identifier of the program spending account.
Per-currency balances when limit_policy is ENFORCED; null when limit_policy is BYPASSED.
Amount available for new spending.
Three-letter ISO 4217 currency code.
Amount reserved by pending spending.
Sum of available_amount and reserved_amount.
Policy controlling whether local spending limits are enforced.
BYPASSEDENFORCEDStatus of the spending account, either ACTIVE or INACTIVE.
The time the spending account was last updated.
| Error status | Description |
|---|---|
| 400 |
|
| 401 | Possible errors: |
| 403 |
|
| 404 |
|
| 409 |
|
| 429 |
|
| 500 | Possible errors: |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/program_spending_accounts/spending_account_id/adjust_limits' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "limit_adjustments": [> {> "amount": -300,> "currency": "USD"> }> ],> "limit_policy": "ENFORCED",> "request_id": "550e8400-e29b-41d4-a716-446655440002">}'
1{2 "connected_account_id": "ACCT_123e4567",3 "created_at": "2023-06-01T15:30:00Z",4 "funding_source_id": "123e4567-e89b-12d3-a456-426614174001",5 "id": "123e4567-e89b-12d3-a456-426614174000",6 "limit_balances": [7 {8 "available_amount": 1300,9 "currency": "USD",10 "reserved_amount": 120,11 "total_amount": 142012 }13 ],14 "limit_policy": "ENFORCED",15 "status": "ACTIVE",16 "updated_at": "2023-06-01T15:45:30Z"17}
List all Program TransactionsBeta
GET /api/v1/platform_liquidity_programs/{id}/transactions
Retrieve a list of transactions that contributed to the balance in the Platform Liquidity Program.
Unique identifier of the program.
Unique identifier of the Connected Account that the spending account is linked to.
The transaction currency in 3-letter ISO-4217 format.
The start date (inclusive) of the date range during which balance activity occurred in your program fund balance. If not specified, from_post_at defaults to 7 days before to_post_at.
Page marker to retrieve the previous or next page of results. Set this field to the value returned by page_before or page_after to retrieve the previous or next page, respectively.
Page size, range [10, 1000], default to 100.
The end date (exclusive) of the date range during which the balance activity occurred in your program fund balance. Defaults to today if neither this field nor from_post_at are specified. If from_post_at is specified, then to_post_at defaults to 7 days after the from_post_at date.
Array of program transactions.
The transaction amount.
The available limit after this transaction.
Unique identifier of the Connected Account to which the spending account is linked. Empty for DC_CREDIT/DEBIT transactions, which represent limit updates resulting from deposits and withdrawals.
The transaction currency in 3-letter ISO-4217 format.
Unique identifier of the transaction object.
Timestamp of the transaction posted to balance.
Unique identifier of the source transaction. For LIQUIDITY_* transactions, this is the Issuing card transaction event identifier, which can be retrieved using Retrieve a Card Transaction Event. For DC_CREDIT and DC_DEBIT transactions, this is the financial transaction identifier, which can be looked up using List Financial Transactions by passing it as the source_id query parameter.
The transaction type. Can be one of: LIQUIDITY_AUTH_CREDIT / LIQUIDITY_AUTH_DEBIT: Limit balance movement between Platform Liquidity Program and program spending account for card auth and release; LIQUIDITY_FUNDING_CREDIT / LIQUIDITY_FUNDING_DEBIT: Limit balance movement between Platform Liquidity Program and program spending account for card capture and refund; DC_CREDIT: Program limit credit; DC_DEBIT: Program limit debit.
A marker for retrieving the next page of results. Include this value in the page request parameter to retrieve subsequent pages.
A marker for retrieving the previous page of results. Include this value in the page request parameter to retrieve previous pages.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 403 |
|
| 404 |
|
| 429 |
|
| 500 |
|
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/platform_liquidity_programs/platform_liquidity_program_id/transactions' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "items": [3 {4 "amount": 500,5 "available_limit": 9500,6 "connected_account_id": "ACCT_123e4567",7 "currency": "USD",8 "id": "123e4567-e89b-12d3-a456-426614174000",9 "posted_at": "2023-06-01T15:30:00Z",10 "source_id": "123e4567-e89b-12d3-a456-426614174000",11 "transaction_type": "LIQUIDITY_AUTH_DEBIT"12 }13 ],14 "page_after": "eyJpZCI6ImIxMjM0NSJ9",15 "page_before": "eyJpZCI6ImEzNTUzMiJ9"16}