Airwallex logo
Airwallex logoAirwallex logo

Platform ReportsBeta

Copy for LLMView as Markdown

Generate reports to understand the activity of your Platform account and connected accounts.

Use Create Platform report to obtain a report id, followed by Get Platform report to retrieve a download URL for the report once it is ready. Subscribe to the Platform Report webhook in the Airwallex webapp to be notified when the report that you have requested is ready. Only files smaller than 100MB can be generated.

Create scheduled reports by specifying future dates for to_created_at, or to_updated_at.

Reports will be generated at the end of the requested interval, once all data has been captured.

For example, if 2023-01-10 is the current date, request a Platform report with from_created_at = 2023-01-01 and to_created_at = 2023-02-01 to obtain data for January. The scheduled report will be generated after the end of the interval.

Endpoints
POST /api/v1/platform_reports/create
GET /api/v1/platform_reports/{id}

Create platform report

POST /api/v1/platform_reports/create

Create a new report. This request triggers an Airwallex job to generate a new report.

A report id is returned that can then be used to retrieve the download link for that file (Get Platform report).

Request body
file_formatrequiredstring

File format of the report. Currently supported formats: CSV.

typerequiredstring

Type of report requested. Currently supported report types:

  • TRANSACTION_RECON_REPORT: all financial transactions having occurred on your Platform account and connected accounts
  • PAYOUT_REPORT: details of all payouts out of your Platform account and connected accounts, across all payout statuses
  • BALANCE_REPORT: balances of your Platform account and connected accounts
  • ACCOUNT_REPORT: account-related information for your Platform and connected accounts, including KYC & KYB information
  • ISSUING_TRANSACTION_REPORT: all issuing transactions having occurred on your Platform account and connected accounts
  • APPLICATION_FEE_REPORT: a consolidated list of application fees that Platform account charges their connected accounts
file_namestring

File name requested for the report. If not provided, a file name will be automatically generated by Airwallex in the following format: {REPORT_TYPE}_{TIMESTAMP}. Format of TIMESTAMP is YYYY-MM-DDThh:mm:ss+0000.

from_created_atstring

Timestamp (inclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • created_at field in the TRANSACTION_RECON_REPORT
  • created_at field in the PAYOUT_REPORT
  • created_at field in the ISSUING_TRANSACTION_REPORT
  • created_at field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_created_at = 2023-01-01 and to_created_at = 2023-01-02 to obtain records created during the day 2023-01-01 in UTC.

The max interval size between from_created_at and to_created_at is 366 days.

from_updated_atstring

Timestamp (inclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • last_update field in the TRANSACTION_RECON_REPORT
  • last_update field in the PAYOUT_REPORT
  • last_update field in the ISSUING_TRANSACTION_REPORT
  • last_update field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_updated_at = 2023-01-01 and to_updated_at = 2023-01-02 to obtain records last updated during the day 2023-01-01 in UTC.

The max interval size between from_updated_at and to_updated_at is 366 days.

to_created_atstring

Timestamp (exclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • created_at field in the TRANSACTION_RECON_REPORT
  • created_at field in the PAYOUT_REPORT
  • created_at field in the ISSUING_TRANSACTION_REPORT
  • created_at field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_created_at = 2023-01-01 and to_created_at = 2023-01-02 to obtain records created during the day 2023-01-01 in UTC.

The max interval size between from_created_at and to_created_at is 366 days.

to_updated_atstring

Timestamp (exclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • last_update field in the TRANSACTION_RECON_REPORT
  • last_update field in the PAYOUT_REPORT
  • last_update field in the ISSUING_TRANSACTION_REPORT
  • last_update field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_updated_at = 2023-01-01 and to_updated_at = 2023-01-02 to obtain records last updated during the day 2023-01-01 in UTC.

The max interval size between from_updated_at and to_updated_at is 366 days.

Response body - 201 Created
idstring

Airwallex-generated unique identifier for the report

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/platform_reports/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/platform_reports/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "file_format": "CSV",
> "file_name": "my_report_1",
> "from_created_at": "2023-01-01",
> "from_updated_at": "<string>",
> "to_created_at": "2023-01-02",
> "to_updated_at": "<string>",
> "type": "TRANSACTION_RECON_REPORT"
>}'
Response (201 Created)
1{
2 "id": "b4ac9a1e-8cd8-11ed-a1eb-0242ac1200a2"
3}
Was this section helpful?

Get platform report

GET /api/v1/platform_reports/{id}

Retrieve the download URL of a report once the report is ready.

Subscribe to the Platform Report webhook in the Airwallex webapp to be notified when the report that you have requested is ready.

The download link obtained is only valid for 1 minute, due to security considerations. If clients opens the link within 1 minute, the report download can be completed even if the total download time takes longer than 1 minute.

Parameters
idrequiredstring

Airwallex-generated unique identifier for the report

Response body - 200 OK
download_urlstring

URL that can be used to retrieve the file. For security reasons, this URL expires 1 minute after it is generated. Only returned if the report status is COMPLETED.

download_url_expires_atstring

Download URL expiry timestamp in ISO8601 standard (UTC). Only returned if the status is COMPLETED.

failed_reasonstring

Reason for the report generation failing. One of REPORT_SIZE_LIMIT_EXCEEDED, SYSTEM_FAILURE. Only returned if the status is FAILED.

file_formatstring

File format of the report. Currently supported formats: CSV.

file_namestring

File name of the report

from_created_atstring

Timestamp (inclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • created_at field in the TRANSACTION_RECON_REPORT
  • created_at field in the PAYOUT_REPORT
  • created_at field in the ISSUING_TRANSACTION_REPORT
  • created_at field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_created_at = 2023-01-01 and to_created_at = 2023-01-02 to obtain records created during the day 2023-01-01 in UTC.

The max interval size between from_created_at and to_created_at is 366 days.

from_updated_atstring

Timestamp (inclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • last_update field in the TRANSACTION_RECON_REPORT
  • last_update field in the PAYOUT_REPORT
  • last_update field in the ISSUING_TRANSACTION_REPORT
  • last_update field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_updated_at = 2023-01-01 and to_updated_at = 2023-01-02 to obtain records last updated during the day 2023-01-01 in UTC.

The max interval size between from_updated_at and to_updated_at is 366 days.

idstring

Airwallex-generated unique identifier for the report

statusstring

Status of the report availability for download. One of PENDING, COMPLETED, FAILED.

to_created_atstring

Timestamp (exclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • created_at field in the TRANSACTION_RECON_REPORT
  • created_at field in the PAYOUT_REPORT
  • created_at field in the ISSUING_TRANSACTION_REPORT
  • created_at field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_created_at = 2023-01-01 and to_created_at = 2023-01-02 to obtain records created during the day 2023-01-01 in UTC.

The max interval size between from_created_at and to_created_at is 366 days.

to_updated_atstring

Timestamp (exclusive, in ISO8601 standard, UTC) to specify data records that the report should include. This parameter is a filter for:

  • last_update field in the TRANSACTION_RECON_REPORT
  • last_update field in the PAYOUT_REPORT
  • last_update field in the ISSUING_TRANSACTION_REPORT
  • last_update field in the APPLICATION_FEE_REPORT

For example, request a Platform report with from_updated_at = 2023-01-01 and to_updated_at = 2023-01-02 to obtain records last updated during the day 2023-01-01 in UTC.

The max interval size between from_updated_at and to_updated_at is 366 days.

typestring

Type of report requested. Currently supported report types:

  • TRANSACTION_RECON_REPORT: all financial transactions having occurred on your Platform account and connected accounts
  • PAYOUT_REPORT: details of all payouts out of your Platform account and connected accounts, across all payout statuses
  • BALANCE_REPORT: balances of your Platform account and connected accounts
  • ACCOUNT_REPORT: account-related information for your Platform and connected accounts, including KYC & KYB information
  • ISSUING_TRANSACTION_REPORT: all issuing transactions having occurred on your Platform account and connected accounts
  • APPLICATION_FEE_REPORT: a consolidated list of application fees that Platform account charges their connected accounts
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/platform_reports/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/platform_reports/platform_report_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "download_url": "<string>",
3 "download_url_expires_at": "2023-01-02T00:01:00+0000",
4 "failed_reason": "REPORT_SIZE_LIMIT_EXCEEDED",
5 "file_format": "CSV",
6 "file_name": "my_report_1",
7 "from_created_at": "2023-01-01T00:00:00+0000",
8 "from_updated_at": "<string>",
9 "id": "b4ac9a1e-8cd8-11ed-a1eb-0242ac1200a2",
10 "status": "COMPLETED",
11 "to_created_at": "2023-01-02T00:00:00+0000",
12 "to_updated_at": "<string>",
13 "type": "TRANSACTION_RECON_REPORT"
14}
Was this section helpful?