# Acme webhook examples (/guides/webhook-examples)



The examples below have been pretty-formatted for readability. The actual webhook body may be sent
in a more compact form.

## Transactions [#transactions]

Credit transaction landed in bank account:

```json
{
  "id": "wbh_0F2J4CZ4D9FZD",
  "createdAt": "2024-02-08T06:43:29.522388699Z",
  "mode": "LIVE",
  "event": "transactions.created",
  "object": {
    "id": "txn_0F2J4EEQ3SWZG",
    "dataSource": "ICN",
    "transactionType": "PAYNOW",
    "bankReference": "20240208UOVBSGSGBRT8728204",
    "description": "Invoice 123",
    "customerReference": "Invoice 123",
    "remittanceInformation": null,
    "additionalInformation": null,
    "amount": 420,
    "currency": "SGD",
    "direction": "CREDIT",
    "counterparty": {
      "name": "JOHN DOE",
      "bank": "UOVBSGSGXXX",
      "bankAccountNumber": ""
    },
    "bankAccount": {
      "id": "intacc_0F2J4N1CTNB5R",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "1000420001"
    },
    "virtualAccountNumber": null,
    "transactionDate": "2024-02-08",
    "statementId": null,
    "createdAt": "2024-02-08T06:43:29.518610893Z",
    "updatedAt": "2024-02-08T06:43:29.518610893Z"
  }
}
```

Intraday statement received with one or more new transactions:

```json
{
  "id": "wbh_0FBVBN8KS1547",
  "createdAt": "2024-02-08T06:43:29.522388699Z",
  "mode": "LIVE",
  "event": "transactions.created",
  "objects": [
    {
      "id": "txn_0FBVBQARMXEPX",
      "dataSource": "CAMT052",
      "transactionType": "MEPS",
      "bankReference": "20240208UOVBSGSGBRT8728204",
      "description": "Invoice 123",
      "customerReference": "Invoice 123",
      "remittanceInformation": null,
      "additionalInformation": null,
      "amount": 420,
      "currency": "SGD",
      "direction": "CREDIT",
      "counterparty": {
        "name": "JOHN DOE",
        "bank": "UOVBSGSGXXX",
        "bankAccountNumber": ""
      },
      "bankAccount": {
        "id": "intacc_0F2J4N1CTNB5R",
        "bank": "DBSSSGSGXXX",
        "bankAccountNumber": "1000420001"
      },
      "virtualAccountNumber": null,
      "transactionDate": "2024-02-08",
      "statementId": null,
      "createdAt": "2024-02-08T06:43:29.518610893Z",
      "updatedAt": "2024-02-08T06:43:29.518610893Z"
    },
    {
      "id": "txn_0FBVC0JQC4EKE",
      "dataSource": "CAMT052",
      "transactionType": "GIRO",
      "bankReference": "20240208UOVBSGSGBRT8728204",
      "description": "Gym Feb 2024",
      "customerReference": "Gym FEB 2024",
      "remittanceInformation": null,
      "additionalInformation": null,
      "amount": 420,
      "currency": "SGD",
      "direction": "DEBIT",
      "counterparty": {
        "name": "STRONG GYM",
        "bank": "UOVBSGSGXXX",
        "bankAccountNumber": ""
      },
      "bankAccount": {
        "id": "intacc_0F2J4N1CTNB5R",
        "bank": "DBSSSGSGXXX",
        "bankAccountNumber": "1000420001"
      },
      "virtualAccountNumber": null,
      "transactionDate": "2024-02-08",
      "statementId": null,
      "createdAt": "2024-02-08T06:43:29.518610893Z",
      "updatedAt": "2024-02-08T06:43:29.518610893Z"
    }
  ]
}
```

## Statements [#statements]

End-of-day statement has been processed and the transactions reported in it are now available at
[/v1/transactions](/reference/get-transactions):

```json
{
  "id": "wbh_0F2J574HWE0T3",
  "createdAt": "2024-02-08T01:30:24.145087173Z",
  "mode": "LIVE",
  "event": "statements.created",
  "object": {
    "id": "stmt_0F2J5860EFDGS",
    "statementDate": "2024-02-07",
    "type": "CAMT.053",
    "bankAccount": {
      "id": "intacc_0F2J4N1CTNB5R",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "1000420001"
    },
    "createdAt": "2024-02-08T01:30:24.135764249Z",
    "updatedAt": "2024-02-08T01:30:24.135764323Z"
  }
}
```

## Refunds [#refunds]

Successful Refund:

```json
{
  "id": "wbh_0JG1DNT3YJH9C",
  "createdAt": "2025-01-13T09:50:25.426288002Z",
  "mode": "LIVE",
  "event": "refunds.succeeded",
  "object": {
    "id": "rfnd_0JG1DPYE5WFRE",
    "transactionId": "txn_0JG1DQRY85S4F",
    "amount": 1240,
    "currency": "SGD",
    "status": "SUCCEEDED",
    "resultCode": null,
    "createdAt": "2025-01-13T09:50:20.414585928Z",
    "updatedAt": "2025-01-13T09:50:25.421203112Z"
  }
}
```

Failed Refund:

```json
{
  "id": "wbh_0JG1DT15Y615K",
  "createdAt": "2025-01-13T09:50:58.068242142Z",
  "mode": "LIVE",
  "event": "refunds.failed",
  "object": {
    "id": "rfnd_0JG1DXBCEW7KW",
    "transactionId": "txn_0JG1DY79RB7PK",
    "amount": 150,
    "currency": "SGD",
    "status": "FAILED",
    "resultCode": "REQUESTED_REFUND_AMOUNT_EXCEEDS_REFUNDABLE_AMOUNT",
    "createdAt": "2025-01-13T09:50:53.053604294Z",
    "updatedAt": "2025-01-13T09:50:58.059934341Z"
  }
}
```

## Hosted Payments [#hosted-payments]

Successful Hosted Payment:

```json
{
  "id": "wbh_0F2J5NXQ0SFT8",
  "createdAt": "2024-02-08T06:51:58.806639732Z",
  "mode": "LIVE",
  "event": "hosted-payments.succeeded",
  "object": {
    "id": "hpymt_0F2J5PYEZJ09V",
    "status": "SUCCEEDED",
    "resultCode": null,
    "amount": 1250,
    "currency": "SGD",
    "channel": "APP_ANDROID",
    "method": "PAYNOW",
    "returnUrl": "rocketshop://paid/12340001",
    "redirectUrl": "https://api.tryacme.com/redirection/hosted-payments/hpymt_0F2J5PYEZJ09V/submit",
    "referenceId": "12340001",
    "tokenization": false,
    "hostedPaymentMethodId": null,
    "customerProxy": null,
    "createdAt": "2024-02-08T06:51:27.967830Z",
    "updatedAt": "2024-02-08T06:51:58.800309301Z"
  }
}
```

Successful Hosted Payment (FPX):

```json
{
  "id": "wbh_0F2J5NXQ0SFT8",
  "createdAt": "2024-02-08T06:51:58.806639732Z",
  "mode": "LIVE",
  "event": "hosted-payments.succeeded",
  "object": {
    "id": "hpymt_0F2J5PYEZJ09V",
    "status": "SUCCEEDED",
    "resultCode": null,
    "amount": 1250,
    "currency": "MYR",
    "channel": null,
    "method": "FPX_ONLINEBANKING",
    "returnUrl": "rocketshop://paid/12340001",
    "redirectUrl": "https://api.tryacme.com/redirection/hosted-payments/hpymt_0F2J5PYEZJ09V/submit",
    "referenceId": "0F2J5PYEZJ09V",
    "tokenization": false,
    "hostedPaymentMethodId": null,
    "customerProxy": null,
    "payer": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "test@gmail.com",
      "phone": "+60125127643"
    },
    "paymentInformation": [
      {
        "itemReference": "ID-1",
        "itemName": "DEPOSIT",
        "unitAmount": 1250,
        "numberOfUnits": 1,
        "totalTaxAmount": 1250
      }
    ],
    "expiredAt": "2024-02-08T07:06:27.967830Z",
    "createdAt": "2024-02-08T06:51:27.967830Z",
    "updatedAt": "2024-02-08T06:51:58.800301Z"
  }
}
```

## Hosted Refunds [#hosted-refunds]

Successful Hosted Refund:

```json
{
  "id": "wbh_0F2J601GAHE4B",
  "createdAt": "2024-02-08T06:44:36.366190544Z",
  "mode": "LIVE",
  "event": "hosted-refunds.succeeded",
  "object": {
    "id": "hrfnd_0F2J614SGZHVP",
    "status": "SUCCEEDED",
    "amount": 420,
    "currency": "SGD",
    "hostedPaymentId": "hpymt_0F2J633MQT94K",
    "referenceId": "12340005",
    "createdAt": "2024-02-08T06:44:34.233697504Z",
    "updatedAt": "2024-02-08T06:44:36.353554901Z"
  }
}
```

## Direct Debit Authorizations [#direct-debit-authorizations]

Successful Direct Debit Authorization:

```json
{
  "id": "wbh_0F2J6ARSYY9JC",
  "createdAt": "2024-02-07T13:06:58.325593865Z",
  "mode": "LIVE",
  "event": "direct-debit-authorizations.succeeded",
  "object": {
    "id": "dda_0F2J6BRASA16R",
    "billReferenceNumber": "ROCKETCUST123",
    "payerSwiftBic": "DBSSSGSGXXX",
    "payerBankCode": null,
    "payerSegment": "RETAIL",
    "payerName": "JOHN DOE",
    "payerBankAccountNumber": "9999429999",
    "status": "SUCCEEDED",
    "failureReason": null,
    "underlyingErrorMessage" : null,
    "startDate": "2024-02-07",
    "maxAmount": 100000,
    "maxAmountCurrency": "SGD",
    "payerAuthorizedMaxAmount": 100000,
    "endDate": null,
    "authorizeUrl": "https://egiro.rocketbank.com/create?ref=123001"
    "cancelUrl": null,
    "returnUrl": "https://rocketshop.com/egiro-return",
    "cancelReturnUrl": null,
    "createdAt": "2024-02-07T13:03:36.065141Z",
    "updatedAt": "2024-02-07T13:06:58.318189595Z"
  }
}
```

## Direct Debit Payments [#direct-debit-payments]

Successful Direct Debit Payment:

```json
{
  "id": "wbh_0F2J756ANHF1T",
  "createdAt": "2024-01-31T05:49:56.143613113Z",
  "mode": "LIVE",
  "event": "direct-debit-payments.succeeded",
  "object": {
    "id": "dpymt_0F2J767QNWY48",
    "type": "FAST",
    "amount": 1250,
    "currency": "SGD",
    "directDebitAuthorizationId": "dda_0F2J7879XXDP1",
    "customerReference": "FEBSUBFEE",
    "status": "SUCCEEDED",
    "resultCode": null,
    "underlyingErrorMessage": null,
    "createdAt": "2024-01-31T05:49:54.557605921Z",
    "updatedAt": "2024-01-31T05:49:56.135109989Z"
  }
}
```

## Direct Debit Payment Batches [#direct-debit-payment-batches]

Direct Debit Payment Batch submitted:

```json
{
  "id": "wbh_0GFWFD8Z10K4X",
  "createdAt": "2026-05-29T02:20:07.288188Z",
  "mode": "LIVE",
  "event": "direct-debit-payment-batches.submitted",
  "object": {
    "id": "bddp_0GFWFD7V10GX9",
    "type": "DIRECT_DEBIT",
    "paymentDate": "2026-05-30",
    "currency": "SGD",
    "status": "SUBMITTED",
    "metadata": {
      "fileName": "ddp_batch_20260529.xml"
    },
    "createdAt": "2026-05-29T02:20:06.995Z",
    "updatedAt": "2026-05-29T02:20:07.288097Z"
  }
}
```

Direct Debit Payment Batch rejected:

```json
{
  "id": "wbh_0GFWFD9R10K5Y",
  "createdAt": "2026-05-29T02:25:11.402113Z",
  "mode": "LIVE",
  "event": "direct-debit-payment-batches.rejected",
  "object": {
    "id": "bddp_0GFWFD7V10GX9",
    "type": "DIRECT_DEBIT",
    "paymentDate": "2026-05-30",
    "currency": "SGD",
    "status": "FAILED",
    "metadata": {
      "fileName": "ddp_batch_20260529.xml"
    },
    "createdAt": "2026-05-29T02:20:06.995Z",
    "updatedAt": "2026-05-29T02:25:11.401874Z"
  }
}
```

## Payments [#payments]

<Callout type="info">
  For failed payments the event is `payments.failed`, the contents (Payment object) are the same.
</Callout>

Successful payment (single):

```json
{
  "id": "wbh_0G4A8SKQ2W7T1",
  "createdAt": "2026-05-25T10:00:00.000Z",
  "mode": "LIVE",
  "event": "payments.succeeded",
  "object": {
    "id": "pymt_0G4A8SE26W65V",
    "type": "FAST",
    "amount": 150000,
    "currency": "SGD",
    "customerReference": "INV-20260525-001",
    "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
    "receiver": {
      "name": "John Tan",
      "bank": "OCBCSGSGXXX",
      "bankAccountNumber": "7654321098",
      "localRoutingIdentifier": null,
      "proxyType": null,
      "proxyValue": null,
      "address": null
    },
    "paymentDate": null,
    "bankChargeBearer": null,
    "instructionForSenderBank": null,
    "paymentDetails": "Payment for Invoice INV-001",
    "currencyExchange": null,
    "senderAccountCurrency": "SGD",
    "status": "COMPLETED",
    "resultCode": null,
    "underlyingErrorMessage": null,
    "paymentAdviceEmails": null,
    "bankReference": "FT241290AB12345678",
    "createdAt": "2026-05-25T09:59:50.000Z",
    "updatedAt": "2026-05-25T10:00:00.000Z",
    "review": null
  }
}
```

Successful payments (batch) - Multiple Successful payments within an objects array :

* Batch payment webhooks are delivered with the objects array (plural), triggered when the bank's ACK file is processed.
* Each webhook carries up to 100 payments; batches larger than 100 are split across multiple webhooks.
* Partial settlements — where only some payments in a batch are confirmed in a given ACK cycle — updates for those payments will be delivered first, with the remainder arriving in subsequent webhooks as later ACK files are processed.
* All payments inside an objects array belong to the same batch, but you should still loop through the array and process each payment independently using its id rather than relying on order or position.

```json
{
  "id": "wbh_0GFWFKQTD0HV0",
  "createdAt": "2024-06-28T02:21:00.243432Z",
  "mode": "LIVE",
  "event": "payments.succeeded",
  "objects": [
    {
      "id": "pymt_0G4A8SE26W65V",
      "type": "FAST",
      "amount": 150000,
      "currency": "SGD",
      "customerReference": "INV-20260525-001",
      "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
      "receiver": {
        "name": "John Tan",
        "bank": "OCBCSGSGXXX",
        "bankAccountNumber": "7654321098",
        "localRoutingIdentifier": null,
        "proxyType": null,
        "proxyValue": null,
        "address": null
      },
      "paymentDate": null,
      "bankChargeBearer": null,
      "instructionForSenderBank": null,
      "paymentDetails": "Payment for Invoice INV-001",
      "currencyExchange": null,
      "senderAccountCurrency": "SGD",
      "status": "COMPLETED",
      "resultCode": null,
      "underlyingErrorMessage": null,
      "paymentAdviceEmails": null,
      "bankReference": null,
      "createdAt": "2026-05-25T09:59:50.000Z",
      "updatedAt": "2026-05-25T10:00:00.000Z",
      "review": null
    },
    {
      "id": "pymt_0GFWFD7V90GQW",
      "type": "FAST",
      "amount": 100,
      "currency": "SGD",
      "customerReference": "CR0FWY9XQNZQ1N3",
      "senderAccountId": "intacc_0GFWFD7T10GA9",
      "receiver": {
        "name": "OTHER PARTY",
        "bank": "UOVBSGSGXXX",
        "bankAccountNumber": "000000002",
        "localRoutingIdentifier": null,
        "proxyType": null,
        "proxyValue": null,
        "address": null
      },
      "paymentDate": null,
      "bankChargeBearer": null,
      "instructionForSenderBank": null,
      "paymentDetails": "Payment for Invoice INV-001",
      "currencyExchange": null,
      "senderAccountCurrency": "SGD",
      "status": "COMPLETED",
      "resultCode": null,
      "underlyingErrorMessage": null,
      "paymentAdviceEmails": null,
      "bankReference": null,
      "createdAt": "2026-05-25T09:59:50.000Z",
      "updatedAt": "2026-05-25T10:00:00.000Z"
    }
  ]
}
```

Maker-checker Payment Flow - Payment pending approval:

```json
{
  "id": "wbh_0H2K3L4M5N6P7",
  "createdAt": "2026-05-29T03:41:28.376879Z",
  "mode": "LIVE",
  "event": "payments.pending-approval",
  "object": {
    "id": "pymt_0H2K3L3X5N5W6",
    "type": "FAST",
    "amount": 11000,
    "currency": "SGD",
    "customerReference": "INV-2026-0429",
    "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
    "receiver": {
      "name": "Undisclosed",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "123456789"
    },
    "senderAccountCurrency": "SGD",
    "paymentDetails": "Invoice payment",
    "status": "PENDING_APPROVAL",
    "review": {
      "requestedBy": "apik_0CQ74RAB9C2X1",
      "expiresAt": "2026-05-30T03:41:26.929745Z",
      "approvedAt": null,
      "approvedBy": null,
      "rejectedAt": null,
      "rejectedBy": null,
      "rejectionReason": null
    },
    "createdAt": "2026-05-29T03:41:26.929745Z",
    "updatedAt": "2026-05-29T03:41:26.929745Z"
  }
}
```

Maker-checker Payment Flow - Payment approved:

```json
{
  "id": "wbh_0H2K4Q5R6S7T8",
  "createdAt": "2026-05-29T04:12:55.110044Z",
  "mode": "LIVE",
  "event": "payments.approved",
  "object": {
    "id": "pymt_0H2K3L3X5N5W6",
    "type": "FAST",
    "amount": 11000,
    "currency": "SGD",
    "customerReference": "INV-2026-0429",
    "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
    "receiver": {
      "name": "Undisclosed",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "123456789"
    },
    "senderAccountCurrency": "SGD",
    "paymentDetails": "Invoice payment",
    "status": "PENDING_APPROVAL",
    "review": {
      "requestedBy": "apik_0CQ74RAB9C2X1",
      "expiresAt": "2026-05-30T03:41:26.929745Z",
      "approvedAt": "2026-05-29T04:12:54.882011Z",
      "approvedBy": "apik_0CQ74RCD8E4Z3",
      "rejectedAt": null,
      "rejectedBy": null,
      "rejectionReason": null
    },
    "createdAt": "2026-05-29T03:41:26.929745Z",
    "updatedAt": "2026-05-29T04:12:54.882011Z"
  }
}
```

Note: status remains `PENDING_APPROVAL` at this point. A separate `payments.succeeded` (or `payments.failed`) webhook will follow once the underlying transfer settles.

Maker-checker Payment Flow - Payment approval rejected:

```json
{
  "id": "wbh_0H2K5U6V7W8X9",
  "createdAt": "2026-05-29T04:30:12.554302Z",
  "mode": "LIVE",
  "event": "payments.approval-rejected",
  "object": {
    "id": "pymt_0H2K3L3X5N5W6",
    "type": "FAST",
    "amount": 11000,
    "currency": "SGD",
    "customerReference": "INV-2026-0429",
    "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
    "receiver": {
      "name": "Undisclosed",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "123456789"
    },
    "senderAccountCurrency": "SGD",
    "paymentDetails": "Invoice payment",
    "status": "APPROVAL_REJECTED",
    "review": {
      "requestedBy": "apik_0CQ74RAB9C2X1",
      "expiresAt": "2026-05-30T03:41:26.929745Z",
      "approvedAt": null,
      "approvedBy": null,
      "rejectedAt": "2026-05-29T04:30:12.231019Z",
      "rejectedBy": "apik_0CQ74RCD8E4Z3",
      "rejectionReason": "Beneficiary not on approved vendor list"
    },
    "createdAt": "2026-05-29T03:41:26.929745Z",
    "updatedAt": "2026-05-29T04:30:12.231019Z"
  }
}
```

Maker-checker Payment Flow - Payment approval expired:

```json
{
  "id": "wbh_0H2L6Y7Z8A9B0",
  "createdAt": "2026-05-30T03:41:30.001284Z",
  "mode": "LIVE",
  "event": "payments.approval-expired",
  "object": {
    "id": "pymt_0H2K3L3X5N5W6",
    "type": "FAST",
    "amount": 11000,
    "currency": "SGD",
    "customerReference": "INV-2026-0429",
    "senderAccountId": "intacc_0CQ74R1XD8Y0Y",
    "receiver": {
      "name": "Undisclosed",
      "bank": "DBSSSGSGXXX",
      "bankAccountNumber": "123456789"
    },
    "senderAccountCurrency": "SGD",
    "paymentDetails": "Invoice payment",
    "status": "APPROVAL_EXPIRED",
    "review": {
      "requestedBy": "apik_0CQ74RAB9C2X1",
      "expiresAt": "2026-05-30T03:41:26.929745Z",
      "approvedAt": null,
      "approvedBy": null,
      "rejectedAt": null,
      "rejectedBy": null,
      "rejectionReason": null
    },
    "createdAt": "2026-05-29T03:41:26.929745Z",
    "updatedAt": "2026-05-30T03:41:30.001284Z"
  }
}
```

## Batch Payments [#batch-payments]

<Callout type="info">
  For rejected batches the event is `payment-batches.rejected`, the contents (Batch Payment object) are the same.
</Callout>

Batch payment submitted:

```json
{
  "id": "wbh_0GFWFD8Z10K4X",
  "createdAt": "2024-06-28T02:20:07.288188Z",
  "mode": "LIVE",
  "event": "payment-batches.submitted",
  "object": {
    "id": "bpmt_0GFWFD7V10GX9",
    "type": "FAST",
    "paymentDate": "2024-04-30",
    "senderAccountId": "intacc_0GFWFD7T10GA9",
    "senderAccountCurrency": "SGD",
    "currency": "SGD",
    "status": "SUBMITTED",
    "createdAt": "2024-06-28T02:20:06.995Z",
    "updatedAt": "2024-06-28T02:20:07.288097Z"
  }
}
```

## Tracked QR Payments [#tracked-qr-payments]

<Callout type="info">
  For failed tracked qr payments the event is `qr-payments.failed`, the contents (Tracked QR Payment object) are the same.
</Callout>

Successful Tracked QR Payment:

```json
{
  "id": "wbh_0NB65NFCFJWH1",
  "createdAt": "2025-10-23T07:34:31.779284847Z",
  "mode": "LIVE",
  "event": "qr-payments.succeeded",
  "object": {
    "id": "qrpymt_0NB3YB2P791T3",
    "status": "SUCCEEDED",
    "type": "PAYNOW",
    "proxyType": "UEN",
    "proxyValue": "100312345",
    "amount": 10,
    "currency": "SGD",
    "expirySeconds": 900,
    "transactionReference": "QR-123",
    "amountEditable": false,
    "qrCodeImageUrl": "https://acme-paynow-qr-code.s3.ap-southeast-1.amazonaws.com/sample.png",
    "bankReference": "1112127058552804C100000000000",
    "statusSource": "txn_0NB3RNT8ZJE0V",
    "createdAt": "2025-10-23T07:21:19.281Z",
    "updatedAt": "2025-10-23T07:34:31.767Z"
  }
}
```

## Virtual Account [#virtual-account]

<Callout type="info">
  For failed virtual account creation the event is `virtual-accounts.failed`, the contents (Virtual Accounts object) are the same.
</Callout>

Successful Virtual Account Creation:

```json
{
  "id": "wbh_0NB61NFAFJWP1",
  "createdAt": "2025-10-15T05:50:07.779284847Z",
  "mode": "LIVE",
  "event": "virtual-accounts.succeeded",
  "object": {
    "id": "vacc_0N8G124B1JMS9",
    "virtualAccountNumber": "8859991234",
    "virtualAccountName": "ACME VA 1",
    "accountDetails": {
      "alias": "acme-va1",
      "type": "PERSONAL",
      "idType": "PASSPORT",
      "idNumber": "A30235519",
      "idCountry": "MY",
      "address": {
        "line1": "1 Main St",
        "line2": "Some Building",
        "city": "Singapore",
        "postalCode": "570308",
        "state": "Singapore",
        "country": "SG"
      },
      "dateOfIncorporation": null,
      "countryOfIncorporation": null,
      "nationality": "MY",
      "dateOfBirth": "1991-02-01"
    },
    "status": "ACTIVE",
    "resultCode": null,
    "createdAt": "2025-10-15T05:50:07.441Z",
    "updatedAt": "2025-10-15T05:50:09.149Z"
  }
}
```
