Airwallex logo
Airwallex logoAirwallex logo

Offboardings

Copy for LLMView as Markdown

The Offboarding API allows platforms to programmatically submit offboarding requests for connected accounts and query the status of submitted offboardings.

Endpoints
GET /api/v1/accounts/{account_id}/offboardings
GET /api/v1/accounts/{account_id}/offboardings/{id}
POST /api/v1/accounts/{account_id}/offboardings/create

List offboardings

GET /api/v1/accounts/{account_id}/offboardings

Retrieve a paginated list of offboardings for a connected account.

Parameters
account_idrequiredstring

The account ID of the connected account to list offboardings for

from_created_atstring

The start date of created_at in ISO8601 format (inclusive)

pagestring

A bookmark for use in pagination to retrieve the next or previous page of results

page_sizeinteger

Number of results per page. Default 100, min 10, max 200

statusstring

Status of offboarding request

CANCELLED, COMPLETED, PENDING

to_created_atstring

The end date of created_at in ISO8601 format (inclusive)

Response body - 200 OK
itemsarray

Paged results.

items.commentstring

Optional comment specified in the request

items.created_atstring

The time when this case was created

items.idstring

A unique ID of the offboarding case

items.reason_codestring

Reason for the offboarding specified in the request

items.statusstring

Status of the offboarding case. One of: PENDING, COMPLETED, CANCELLED

items.updated_atstring

The time when this case was last updated

page_afterstring

The page bookmark used for search the item after the result.

page_beforestring

The page bookmark used for search the item before the result.

Errors
Error statusDescription
400

Possible errors: invalid_argument, bad_request, operation_failed

GET /api/v1/accounts/{account_id}/offboardings
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/accounts/account_id/offboardings' \
> --header 'Authorization: Bearer <token>' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "comment": "Account no longer needed",
5 "created_at": "2026-03-24T10:00:00+0000",
6 "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
7 "reason_code": "OTHER",
8 "status": "PENDING",
9 "updated_at": "2026-04-10T12:00:00+0000"
10 }
11 ],
12 "page_after": "<string>",
13 "page_before": "<string>"
14}
Was this section helpful?

Get an offboarding by ID

GET /api/v1/accounts/{account_id}/offboardings/{id}

Retrieve details of a specific offboarding by its unique ID.

Parameters
account_idrequiredstring

The account ID of the connected account

idrequiredstring

The unique ID of the offboarding case

Response body - 200 OK
commentstring

Optional comment specified in the request

created_atstring

The time when this case was created

idstring

A unique ID of the offboarding case

reason_codestring

Reason for the offboarding specified in the request

statusstring

Status of the offboarding case. One of: PENDING, COMPLETED, CANCELLED

updated_atstring

The time when this case was last updated

Errors
Error statusDescription
400

Possible errors: invalid_argument, bad_request, operation_failed

404

Possible errors: not_found

GET /api/v1/accounts/{account_id}/offboardings/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/accounts/account_id/offboardings/offboarding_id' \
> --header 'Authorization: Bearer <token>' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "comment": "Account no longer needed",
3 "created_at": "2026-03-24T10:00:00+0000",
4 "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
5 "reason_code": "OTHER",
6 "status": "PENDING",
7 "updated_at": "2026-04-10T12:00:00+0000"
8}
Was this section helpful?

Create an offboarding

POST /api/v1/accounts/{account_id}/offboardings/create

Submit an offboarding request for a connected account. The system will generate a case within the offboarding system.

Parameters
account_idrequiredstring

The account ID of the connected account to offboard

Request body
commentstring

Optional comment providing additional context for the offboarding request.

reason_coderequiredstring

Reason code for offboarding the connected account. Possible values:

  • COMMERCIAL_DECISION: Account closure due to a commercial factors, such as account inactivity, low profitability, or other business-strategy reasons.

  • INCOMPLETE_ONBOARDING_KYC: The account holder signed up but did not complete KYC within specific timeframe.

  • COMPANY_DISSOLVED_OR_LIQUIDATING: The associated company has been dissolved or entered liquidation.

  • POLICY_VIOLATION: Offboarding due to a breach of the Acceptable Use Policy or Terms of Service. This includes operating an unsupported business model (e.g., prohibited industry, unsupported country) or actively misusing the account (e.g., personal use, circumvention of controls).

  • FRAUDULENT_ACTIVITY: Offboarding due to evidence of fraud. Some examples: application fraud (stolen/fake identity), merchant fraud, payment fraud, or card testing.

  • SANCTIONS_EXPOSURE: Offboarding due to a confirmed sanctions link or exposure, violating global sanctions policies.

  • SUSPECTED_MONEY_LAUNDERING_OR_TERRORIST_FINANCING: Offboarding due to suspicion of Money Laundering (ML), Terrorist Financing (TF), or other serious financial crimes, based on transaction patterns, unclear source of funds/wealth, or links to illicit activities (e.g., human trafficking, shell companies).

  • REPUTATIONAL_RISK_OR_ADVERSE_MEDIA: Offboarding due to negative public information (adverse media) or other factors that pose a significant reputational risk to Airwallex, even if not directly linked to a confirmed financial crime.

  • NOT_COMPLY_WITH_ONGOING_REVIEWS: Offboarding due to repeated failure to respond to Risk and Compliance-related Requests for Information (RFI) or Customer Due Diligence (CDD) reviews regarding their account activity.

  • LINKAGE_TO_HIGH_RISK_CLIENT: Offboarding due to a confirmed connection (e.g., shared ownership, validated linked devices) to another entity that has been flagged or offboarded for high-risk activity, such as fraud or financial crime.

  • OTHER: Client initiated closure or other reason if not listed above.

Response body - 201 Created
commentstring

Optional comment specified in the request

created_atstring

The time when this case was created

idstring

A unique ID of the offboarding case

reason_codestring

Reason for the offboarding specified in the request

statusstring

Status of the offboarding case. One of: PENDING, COMPLETED, CANCELLED

updated_atstring

The time when this case was last updated

Errors
Error statusDescription
400

Possible errors: invalid_argument, bad_request, operation_failed

POST /api/v1/accounts/{account_id}/offboardings/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/accounts/account_id/offboardings/create' \
> --header 'Authorization: Bearer <token>' \
> --header 'Content-Type: application/json' \
> --data '{
> "comment": "Account no longer needed",
> "reason_code": "OTHER"
>}'
Response (201 Created)
1{
2 "comment": "Account no longer needed",
3 "created_at": "2026-03-24T10:00:00+0000",
4 "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
5 "reason_code": "OTHER",
6 "status": "PENDING",
7 "updated_at": "2026-04-10T12:00:00+0000"
8}
Was this section helpful?