Airwallex logo

Risk reports

Subscribe to webhook events for risk report generation.

Copy for LLMView as Markdown

The following webhook events let you track risk report generation asynchronously, so you can be notified when a report is ready to download or when generation fails, instead of polling.

EventDescription
risk.risk_reports.completedA risk report has been generated successfully and is ready to download.
risk.risk_reports.failedRisk report generation has failed.

Payload examples

The data object is the risk report, matching the response of the Retrieve a risk report API.

risk.risk_reports.completed

Sent when a report finishes generating. The file object contains a short-lived, signed download_url. The link expires at expires_at; if it has expired, call the Retrieve a risk report API to obtain a fresh one.

JSON
1{
2 "id": "evt_100_2026070902013102020043_8321220011893766",
3 "name": "risk.risk_reports.completed",
4 "account_id": "acct_dk_FmEGnOSeoCCg3RpmJBA",
5 "created_at": "2026-07-09T02:31:12+0000",
6 "data": {
7 "id": "320ef695-691a-4827-93f0-227155efca8a",
8 "status": "COMPLETED",
9 "start_date": "2026-04-01",
10 "end_date": "2026-06-30",
11 "type": "PAYMENT_FRAUD_REPORT",
12 "file": {
13 "name": "risk_report_123.csv",
14 "download_url": "https://files.airwallex.com/d/320ef695-691a-4827-93f0-227155efca8a?signature=abc123",
15 "expires_at": "2026-07-10T02:41:12Z"
16 }
17 }
18}

risk.risk_reports.failed

Sent when report generation fails. The failure_reason field describes the cause.

JSON
1{
2 "id": "evt_100_2026070902013102020044_8321220011893767",
3 "name": "risk.risk_reports.failed",
4 "account_id": "acct_dk_FmEGnOSeoCCg3RpmJBA",
5 "created_at": "2026-07-09T02:31:12+0000",
6 "data": {
7 "id": "320ef695-691a-4827-93f0-227155efca8a",
8 "status": "FAILED",
9 "start_date": "2026-04-01",
10 "end_date": "2026-06-30",
11 "type": "PAYMENT_FRAUD_REPORT",
12 "failure_reason": "row limit exceeded"
13 }
14}
Was this page helpful?