# Webhooks samples

nCore platform supported webhook events and sample notifications are given below.

On this page you can find samples of the following webhooks:

* [Card status change](#card-status-change-webhook)
* [Transaction](#transaction-webhook)
* [KYC result](#kyc-result-webhook)
* [User creation](#user-creation-webhook)
* [User status change](#user-status-change-webhook)
* [User document alert](#user-document-alert-webhook)
* [Identity verification](#identity-verification-webhook)
* [PIN change](#pin-change-webhook)
* [Authorizations and clearing](#authorization-and-clearing-webhooks)
* [Auth/pre-auth expiry](#auth-pre-auth-expiry)
* [Charges](#charges-webhook)
* [Account status change](#account-status-change-webhook)
* [Card provisioning](#card-provisioning-webhook)
* [Token notification](#token-notification-webhook)
* [Successfully created card/account](#successfully-created-card-account-webhook)
* [Card delivery partner assignment](#card-delivery-partner-assignment-webhook)
* [Card delivery status change](#card-delivery-status-change-webhook)

### Card status change webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**\
`    `**`"endpoint": "`**[**`https://example.com/`**](https://example.com/)**`",`**\
`    `**`"events": [`**\
`        `**`"CARD_STATUS_CHANGE"`**\
`  `**`],`**\
`    `**`"config": {`**\
`        `**`"basic_auth_username": "username",`**\
`        `**`"basic_auth_password": "password",`**\
`        `**`"custom_headers": [`**\
`        `**`{`**\
`            `**`"header_name": "apikey",`**\
`            `**`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**\
`        `**`}`**\
`        `**`],`**\
`        `**`"created": "2021-05-27T18:48:00.074Z",`**\
`        `**`"modified": "2021-05-27T18:48:00.074Z"`**\
`    `**`}`**\
\&#xNAN;**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a card status change event (CARD\_STATUS\_CHANGE) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "CARD_STATUS_CHANGE",`**

&#x20; **`"card_status_change": {`**

&#x20;   **`"card_id": "eef930c7-6e44-4846-948a-dfd7855484b6",`**

&#x20;   **`"old_status": "ACTIVE",`**

&#x20;   **`"new_status": "SUSPENDED",`**

&#x20;   **`"status_reason_code": "S0",`**

&#x20;   **`"note": {`**

&#x20;     **`"category": "aaa",`**

&#x20;     **`"description": "First time activation",`**

&#x20;     **`"extras": {}`**

&#x20;   **`}`**

&#x20; **`}`**

**`}`**

</details>

### Transaction webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**\
`    `**`"endpoint": "`**[**`https://example.com/`**](https://example.com/)**`",`**\
`    `**`"events": [`**\
`        `**`"TRANSACTION"`**\
`  `**`],`**\
`    `**`"config": {`**\
`        `**`"basic_auth_username": "username",`**\
`        `**`"basic_auth_password": "password",`**\
`        `**`"custom_headers": [`**\
`        `**`{`**\
`            `**`"header_name": "apikey",`**\
`            `**`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**\
`        `**`}`**\
`        `**`],`**\
`        `**`"created": "2021-05-27T18:48:00.074Z",`**\
`        `**`"modified": "2021-05-27T18:48:00.074Z"`**\
`    `**`}`**\
\&#xNAN;**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a transaction event (TRANSACTION) after creating a webhook endpoint as shown below.

When the **event = TRANSACTION,** **message\_type = AUTHORIZATION;** then the webhook notification can be received for **CASH\_WITHDRAWAL, PURCHASE, BALANCE\_INQUIRY,** **REFUND,** and **REVERSAL** as per the configured transaction type shown below:

<details>

<summary><strong>PURCHASE</strong></summary>

**`{`**

&#x20; **`"event": "TRANSACTION",`**

&#x20; **`"card_transaction": {`**

&#x20;   **`"id": "9829a089-1804-40b6-9920-d31bacc07f17",`**

&#x20;   **`"transaction_timestamp": "2022-09-23T12:13:01.295Z",`**

&#x20;   **`"network": "VISA",`**

&#x20;   **`"message_type": "AUTHORIZATION",`**

&#x20;   **`"transaction_type": "PURCHASE",`**

&#x20;   **`"transfer_type": "CHA2CHAOWN",`**

&#x20;   **`"transaction_description": "Purchase",`**

&#x20;   **`"transmission_date_time": "2022-09-23T12:13:01.000Z",`**

&#x20;   **`"date_time_acquirer": "2022-07-18T19:16:25.000Z",`**

&#x20;   **`"card_id": "8ac1eba8-9ccd-4cf7-acb1-8666007a9634",`**

&#x20;   **`"card_first6_digits": "450133",`**

&#x20;   **`"card_last4_digits": "4110",`**

&#x20;   **`"card_expiry_date": "052024",`**

&#x20;   **`"user_id": "2f8548e5-f505-491a-aeee-830948fa3046",`**

&#x20;   **`"acquirer_id": "000000",`**

&#x20;   **`"merchant_id": "MERCHID01",`**

&#x20;   **`"mcc": "7386",`**

&#x20;   **`"merchant_name": "ACQUIRER NAME",`**

&#x20;   **`"merchant_city": "Abu Dhabi",`**

&#x20;   **`"merchant_country": "ARE",`**

&#x20;   **`"terminal_id": "111",`**

&#x20;   **`"stan": "000022",`**

&#x20;   **`"rrn": "226612000022",`**

&#x20;   **`"auth_id_response": "962851",`**

&#x20;   **`"transaction_amount": 100,`**

&#x20;   **`"transaction_currency": "AED",`**

&#x20;   **`"billing_amount": 100,`**

&#x20;   **`"billing_currency": "AED",`**

&#x20;   **`"billing_amount_account": 10,`**

&#x20;   **`"billing_currency_account": "USD",`**

&#x20;   **`"conversion_rate_billing_account": 1,`**

&#x20;   **`"original_amount_billing": "null",`**

**`"fee_amount": 1.5,`**\
**`"fee_details": [`**\
**`{`**\
**`"fee_id": "Fee1",`**\
**`"description": "PURCHASE FEE",`**\
**`"amount": 0.5,`**\
**`"currency": "AED",`**\
**`"is_advanced": false`**\
**`},`**

&#x20;   **`"status_code": "0000",`**

&#x20;   **`"status_description": "Transaction approved",`**

&#x20;   **`"card_entry": "Unknown",`**

&#x20;   **`"pos_environment": "Unknown",`**

&#x20;   **`"fallback": false,`**

&#x20;   **`"pin_present": false,`**

&#x20;   **`"moto": false,`**

&#x20;   **`"recurring": false,`**

&#x20;   **`"installment_transaction": false,`**

&#x20;   **`"reversal_count": 0,`**

&#x20;   **`"`**[**`clear`**](#user-content-fn-1)[^1]**`ing_count": 0,`**

&#x20;   **`"auth_expired_at":"2023-01-04T08:45:09.135Z",`**

&#x20;   **`"auth_expired_by":"AUTO",`**

&#x20;   **`"source_channel": "OPEN_BANKING",`**

**`stip_reason_code: "9020",`**

**`"sweep_details":`**&#x20;

**`[`**

&#x20; **`{`**

&#x20;   **`"debit_from_currency": "USD",`**

&#x20;   **`"debit_from_amount": 10.00,`**  &#x20;

&#x20;   **`"credit_to_currency": "AED",`**

&#x20;   **`"credit_to_amount": 36.70,`**

&#x20;   **`"exchange_rate": "3.6153",`**

&#x20;   **`"markup_percentage": 1.5,`**

&#x20;   **`"markup_amount": 0.15,`**

&#x20;   **`"markup_details": {`**

&#x20;     **`"category": "INTERNAL",`**

&#x20;     **`"percentage": 1,`**

&#x20;     **`"amount": 0.1,`**

&#x20;     **`"currency": "USD"`**

&#x20;   **`},`**

&#x20;      **`}]`**

&#x20;   **`"notes": "Performing operation for 10 USD",`**

&#x20;   **`"type": "HOLD",`**

&#x20;   **`"incrementalTransaction": true,`**

&#x20;   **`"isPreAuth": "Y",`**

&#x20;   **`"isCancelled": "YES",`**

&#x20;   **`"token_details": {`**                 &#x20;

&#x20;    **`"wallet_identifier": "APPLEPAY",`**

&#x20;    **`"token_number": "458965212585236",`**

&#x20;    **`"token_type": "01",`**

&#x20;    **`"acquirerCountry": "USA",`**

&#x20;    **`"device_details": {`**

&#x20;      **`"device_type": "MOBILE_PHONE",`**

&#x20;    **`} }`**

&#x20; **`}`**

**`}`**

</details>

<details>

<summary>BALANCE_INQUIRY</summary>

**`{`**

&#x20; **`"event": "TRANSACTION",`**

&#x20; **`"card_transaction": {`**

&#x20;   **`"id": "bb5b17d3-31f7-43ff-9fe7-bcf4dd78f5f0",`**

&#x20;   **`"transaction_timestamp": "2023-01-23T07:44:13.022Z",`**

&#x20;   **`"network": "VISA",`**

&#x20;   **`"message_type": "AUTHORIZATION",`**

&#x20;   **`"transaction_type": "BALANCE_INQUIRY",`**

&#x20;   **`"transfer_type": "CHA2CHAOWN",`**

&#x20;   **`"transaction_description": "Balance Inquiry",`**

&#x20;   **`"transmission_date_time": "2023-01-23T07:44:12.000Z",`**

&#x20;   **`"date_time_acquirer": "2023-11-02T12:00:00.000Z",`**

&#x20;   **`"card_id": "2a22806a-ff7d-4943-b75a-82baa255471d",`**

&#x20;   **`"card_first6_digits": "450133",`**

&#x20;   **`"card_last4_digits": "3167",`**

&#x20;   **`"card_expiry_date": "092024",`**

&#x20;   **`"user_id": "ahsansiddiqui34",`**

&#x20;   **`"acquirer_id": "000000",`**

&#x20;   **`"merchant_id": "MERCHID01",`**

&#x20;   **`"mcc": "5011",`**

&#x20;   **`"merchant_name": "ACQUIRER NAME",`**

&#x20;   **`"merchant_city": "New York",`**

&#x20;   **`"merchant_country": "ARE",`**

&#x20;   **`"terminal_id": "TERMID01",`**

&#x20;   **`"stan": "000044",`**

&#x20;   **`"rrn": "302307000044",`**

&#x20;   **`"auth_id_response": "379457",`**

&#x20;   **`"transaction_amount": 0,`**

&#x20;   **`"transaction_currency": "AED",`**

&#x20;   **`"billing_amount": 0,`**

&#x20;   **`"billing_currency": "AED",`**

&#x20;   **`"fee_details": [],`**

&#x20;   **`"status_code": "0000",`**

&#x20;   **`"status_description": "Transaction approved",`**

&#x20;   **`"card_entry": "Unknown",`**

&#x20;   **`"pos_environment": "Unknown",`**

&#x20;   **`"fallback": false,`**

&#x20;   **`"pin_present": false,`**

&#x20;   **`"moto": false,`**

&#x20;   **`"recurring": false,`**

&#x20;   **`"installment_transaction": false,`**

&#x20;   **`"reversal_count": 0,`**

&#x20;   **`"acquirerCountry": "USA",`**

&#x20;   **`"clearing_count": 0`**

&#x20; **`}`**

**`}`**

</details>

When the **event = TRANSACTION,** **message\_type = API;** then the webhook notification can be received for **WALLET\_CREDIT, WALLET\_DEBIT,** and **WALLET\_TRANSFER** as per the configured transaction type shown below:

<details>

<summary><strong>WALLET_CREDIT</strong></summary>

```
{
"event": "TRANSACTION",
"card_transaction": {
"id": "wqwrhsDfEGGJn",
"transaction_timestamp": "2022-09-23T11:15:01.043Z",
"message_type": "API",
"transaction_type": "WALLET_CREDIT",
"transfer_type": "CHA2CHAOWN",
"transaction_description": "Wallet Credit",
"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",
"account_id1": "1443a27f-46e7-44a3-b92b-f4391f634ed2",
"card_product1": "DescrirptgefjjgfcfaFRjFrdproluf",
"rrn": "2266111501sc",
"transaction_amount": 3000,
"transaction_currency": "AED",
"fee_amount": 0,
"feeDetail":[
{
"fee_id":"173427",
"description":"transaction fee",
"amount":"6.0",
"currency":"AED"
}],
"original_amount_billing": "null",
"status_code": "0000",
"load_id": "wqwrhsDfEGGJn",
"reversal_count": 0,
"clearing_count": 0,
"notes": "Performing operation for 3000 AED",
{
  "account_details":[
    {
      "id":"1256352443",
      "balances":[
        {
        "currency": "USD",
        "available_balance": 1500.75,
        "ledger_balance": 2000.00
        },
        {
        "currency": "AED",
        "available_balance": 1510.75,
        "ledger_balance": 2000.00
        }
      ]
    },
    }
}

```

</details>

<details>

<summary><strong>WALLET_DEBIT</strong></summary>

```
{
"event": "TRANSACTION",
"card_transaction": {
"id": "testeTsRRdgfyR",
"transaction_timestamp": "2022-09-23T11:15:54.909Z",
"message_type": "API",
"transaction_type": "WALLET_DEBIT",
"transfer_type": "CHA2CHAOWN",
"transaction_description": "Wallet Debit",
"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",
"account_id1": "1443a27f-46e7-44a3-b92b-f4391f634ed2",
"card_product1": "DescrirptgefjjgfcfaFRjFrdproluf",
"rrn": "2266111554WY",
"transaction_amount": 50,
"transaction_currency": "AED",
"fee_amount": 0,
"original_amount_billing": "null",
"status_code": "0000",
"unload_id": "testeTsRRdgfyR",
"reversal_count": 0,
"clearing_count": 0,
"notes": "Performing operation for 50 AED",
{
  "account_details":[
    {
      "id":"1256352443",
      "balances":[
        {
        "currency": "USD",
        "available_balance": 1500.75,
        "ledger_balance": 2000.00
        },
        {
        "currency": "AED",
        "available_balance": 1510.75,
        "ledger_balance": 2000.00
        }
      ]
    },
}
}

```

</details>

<details>

<summary><strong>WALLET_TRANSFER</strong></summary>

**`{`**

&#x20; **`"event": "TRANSACTION",`**

&#x20; **`"card_transaction": {`**

&#x20;   **`"id": "b90e1563-7438-42b7-a997-9b871ad64ffb",`**

&#x20;   **`"transaction_timestamp": "2022-09-23T14:26:42.881Z",`**

&#x20;   **`"message_type": "API",`**

&#x20;   **`"transaction_type": "WALLET_TRANSFER",`**

&#x20;   **`"transfer_type": "CHA2CHAOWN",`**

&#x20;   **`"transaction_description": "Wallet Transfer",`**

&#x20;   **`"user_id": "hkuser282",`**

&#x20;   **`"sender_user_id": "hkuser282",`**

&#x20;   **`"account_id1": "77779999999999999210",`**

&#x20;   **`"card_product1": "Description of the cardproducthk77",`**

&#x20;   **`"account_id2": "77779999999999999211",`**

&#x20;   **`"card_product2": "Description of the cardproducthk77",`**

&#x20;   **`"rrn": "2266142642hO",`**

&#x20;   **`"transaction_amount": 10,`**

&#x20;   **`"transaction_currency": "AED",`**

&#x20;   **`"fee_amount": 0,`**

&#x20;   **`"original_amount_billing": "null",`**

&#x20;   **`"status_code": "0000",`**

&#x20;   **`"transfer_id": "b90e1563-7438-42b7-a997-9b871ad64ffb",`**

&#x20;   **`"reversal_count": 0,`**

&#x20;   **`"clearing_count": 0,`**

&#x20;   **`"notes": "Performing operation for 10 AED",`**

&#x20;   **`"receiver_user_id": "0dcbdc26-41cb-48b1-bdb8-b9e3db9ff40c"`**

&#x20; **`}`**

**`}`**

</details>

Below you can find a document with transaction event types and messages scenarios:

{% file src="/files/3PIvnITPBuvePcOEOuIa" %}

### KYC result webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**\
`    `**`"endpoint": "`**[**`https://example.com/`**](https://example.com/)**`",`**\
`    `**`"events": [`**\
`        `**`"KYC_RESULT"`**\
`  `**`],`**\
`    `**`"config": {`**\
`        `**`"basic_auth_username": "username",`**\
`        `**`"basic_auth_password": "password",`**\
`        `**`"custom_headers": [`**\
`        `**`{`**\
`            `**`"header_name": "apikey",`**\
`            `**`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**\
`        `**`}`**\
`        `**`],`**\
`        `**`"created": "2021-05-27T18:48:00.074Z",`**\
`        `**`"modified": "2021-05-27T18:48:00.074Z"`**\
`    `**`}`**\
\&#xNAN;**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a KYC result event (KYC\_RESULT) after creating a webhook endpoint as shown below.

<details>

<summary><strong>KYC_RESULT / KYC STATUS: SUBMITTED</strong></summary>

**`{`**

&#x20; **`"event": "KYC_RESULT",`**

&#x20; **`"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",`**

&#x20; **`"kyc_id": "b70c8e15-fde2-420b-ba4b-e0a248231310",`**

&#x20; **`"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",`**

&#x20; **`"note": "Some note",`**

&#x20; **`"status": "SUBMITTED",`**

&#x20; **`"status_code": "S0",`**

&#x20; **`"created": "2022-09-22T06:08:07.987Z",`**

&#x20; **`"modified": "2022-09-22T06:08:07.987Z"`**

**`}`**

</details>

<details>

<summary>KYC_RESULT / KYC STATUS: INCONCLUSIVE</summary>

**`{`**

&#x20; **`"event": "KYC_RESULT",`**

&#x20; **`"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",`**

&#x20; **`"kyc_id": "b70c8e15-fde2-420b-ba4b-e0a248231310",`**

&#x20; **`"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",`**

&#x20; **`"note": "Some note",`**

&#x20; **`"old_status": "SUBMITTED",`**

&#x20; **`"status": "INCONCLUSIVE",`**

&#x20; **`"status_code": "C0",`**

&#x20; **`"created": "2022-09-22T06:08:07.987Z",`**

&#x20; **`"modified": "2022-09-22T06:08:15.202Z"`**

**`}`**

</details>

<details>

<summary>KYC_RESULT / KYC STATUS: PASS</summary>

**`{`**

&#x20; **`"event": "KYC_RESULT",`**

&#x20; **`"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",`**

&#x20; **`"kyc_id": "a0b896ef-ba81-43fc-ab23-b3d53359fe30",`**

&#x20; **`"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",`**

&#x20; **`"note": "Some note",`**

&#x20; **`"old_status": "SUBMITTED",`**

&#x20; **`"status": "PASS",`**

&#x20; **`"status_code": "P0",`**

&#x20; **`"created": "2022-09-22T06:09:32.215Z",`**

&#x20; **`"modified": "2022-09-22T06:09:37.802Z"`**

**`}`**

</details>

### User creation webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**\
`    `**`"endpoint": "`**[**`https://example.com/`**](https://example.com/)**`",`**\
`    `**`"events": [`**\
`        `**`"USER_CREATED"`**\
`  `**`],`**\
`    `**`"config": {`**\
`        `**`"basic_auth_username": "username",`**\
`        `**`"basic_auth_password": "password",`**\
`        `**`"custom_headers": [`**\
`        `**`{`**\
`            `**`"header_name": "apikey",`**\
`            `**`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**\
`        `**`}`**\
`        `**`],`**\
`        `**`"created": "2021-05-27T18:48:00.074Z",`**\
`        `**`"modified": "2021-05-27T18:48:00.074Z"`**\
`    `**`}`**\
\&#xNAN;**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a user creation event (USER\_CREATED) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "USER_CREATED",`**

&#x20; **`"user_id": "ea27ae20-82a6-4940-a361-bc52c3147d7f",`**

&#x20; **`"new_status": "PENDINGKYB",`**

&#x20; **`"new_status_reason_code": "I0",`**

&#x20; **`"user_type": "BUSINESS",`**

&#x20; **`"created": "2022-09-23T12:35:51.798Z"`**

**`}`**

</details>

### User status change webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**\
`    `**`"endpoint": "`**[**`https://example.com/`**](https://example.com/)**`",`**\
`    `**`"events": [`**\
`        `**`"USER_STATUS_CHANGE"`**\
`  `**`],`**\
`    `**`"config": {`**\
`        `**`"basic_auth_username": "username",`**\
`        `**`"basic_auth_password": "password",`**\
`        `**`"custom_headers": [`**\
`        `**`{`**\
`            `**`"header_name": "apikey",`**\
`            `**`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**\
`        `**`}`**\
`        `**`],`**\
`        `**`"created": "2021-05-27T18:48:00.074Z",`**\
`        `**`"modified": "2021-05-27T18:48:00.074Z"`**\
`    `**`}`**\
\&#xNAN;**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a user status change event (USER\_STATUS\_CHANGE) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "USER_STATUS_CHANGE",`**

&#x20; **`"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",`**

&#x20; **`"old_status": "PENDINGKYC",`**

&#x20; **`"old_status_reason_code": "I0",`**

&#x20; **`"new_status": "ACTIVE",`**

&#x20; **`"new_status_reason_code": "A0",`**

&#x20; **`"user_type": "INDIVIDUAL",`**

&#x20; **`"created": "2022-09-22T06:09:37.839Z"`**

**`}`**

</details>

### User document alert webhook

You can create a webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/"`**      &#x20;

&#x20; **`"events": [`**

&#x20;   **`"USER_DOCUMENT_ALERT"`**                 &#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2021-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2021-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a USER\_DOCUMENT\_ALERT event after creating a webhook endpoint.

There are 2 types of notification samples for this webhook event:

* &#x20;triggered when document is near expiry

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "USER_DOCUMENT_ALERT",`**

&#x20; **`"alert_type": "DOCUMENT_NEAR_EXPIRY",`**

&#x20; **`"user_id": "9377a07a-a191-45b8-9af2-7635fea37274",`**

&#x20; **`"identification_id": "81e1f962-df62-4bdf-badd-51827074ad4d",`**

&#x20; **`"type": "NATIONAL_ID",`**

&#x20; **`"number": "804",`**

&#x20; **`"issuance_authority": "Ministry of Interior",`**

&#x20; **`"place_of_issuance": "Taiwan",`**

&#x20; **`"expiration_date": "2022-09-28",`**

&#x20; **`"issuance_date": "2022-09-16"`**

**`}`**

</details>

* triggered when document is expired

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "USER_DOCUMENT_ALERT",`**

&#x20; **`"alert_type": "DOCUMENT_EXPIRED",`**

&#x20; **`"user_id": "116afe44-131b-4502-8369-7206f301f4ab",`**

&#x20; **`"identification_id": "23747e45-86f5-4973-87d6-7aa62e5f9071",`**

&#x20; **`"type": "NATIONAL_ID",`**

&#x20; **`"number": "705",`**

&#x20; **`"issuance_authority": "Ministry of Interior",`**

&#x20; **`"place_of_issuance": "Cocos (Keeling) Islands",`**

&#x20; **`"expiration_date": "2022-09-06",`**

&#x20; **`"issuance_date": "2022-08-26",`**

&#x20; **`"grace_period_end_date": "2022-11-05"`**

**`}`**

</details>

### Identity verification webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/"`**     &#x20;

&#x20; **`"events": [`**

&#x20;   **`"IDENTITY_VERIFICATION"`**                 &#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2021-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2021-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for an IDENTITY\_VERIFICATION event after creating a webhook endpoint.

1. Webhook received upon user creation:

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "IDENTITY_VERIFICATION",`**

&#x20; **`"user_id": "1ae3f657-5ce0-4fc6-8e56-c6d9e9866bac",`**

&#x20; **`"applicant_id": "a187fc40-1189-4d99-a878-9728f70bf81f",`**

&#x20; **`"sdk_token": "eyJhbGciOiJFUzUxMiJ9.eyJleHAiOjE2NjM5Mzg3NjMsInBheWxvYWQiOnsiYXBwIjoiYTE4N2ZjNDAtMTE4OS00ZDk5LWE4NzgtOTcyOGY3MGJmODFmIiwiY2xpZW50X3V1aWQiOiJiNjM1OTA3OC01N2Q4LTQyMGMtYjdkZC02NWMxODljMThmYmEiLCJpc19zYW5kYm94IjpmYWxzZSwic2FyZGluZV9zZXNzaW9uIjoiYjFlMDJiOTAtYmU3Mi00NWE3LTkwY2EtM2VjODBjNjViYzIxIn0sInV1aWQiOiJXdncyOTNleWFmMyIsInVybHMiOnsiZGV0ZWN0X2RvY3VtZW50X3VybCI6Imh0dHBzOi8vc2RrLm9uZmlkby5jb20iLCJzeW5jX3VybCI6Imh0dHBzOi8vc3luYy5vbmZpZG8uY29tIiwiaG9zdGVkX3Nka191cmwiOiJodHRwczovL2lkLm9uZmlkby5jb20iLCJhdXRoX3VybCI6Imh0dHBzOi8vYXBpLm9uZmlkby5jb20iLCJvbmZpZG9fYXBpX3VybCI6Imh0dHBzOi8vYXBpLm9uZmlkby5jb20iLCJ0ZWxlcGhvbnlfdXJsIjoiaHR0cHM6Ly9hcGkub25maWRvLmNvbSJ9fQ.MIGIAkIB15_-N53zYfYQZ1DigFvRl2eOxU5QpltIH-8391oiKnWQfhqSIYDWfJyMgjYT9s7I0CATsZxnljgRTEeb8NS5sKQCQgCsXWfHBnromgtaqCGGtimoXsc1n_nXNAkZqE-rS5FqVnn8OwjyO1CGphNI69uIzn_Jk04BAqyfiF4qjIIivP-ndA",`**

&#x20; **`"status": "PENDINGIDVERIFICATION",`**

&#x20; **`"status_reason_code": "I0"`**

**`}`**

</details>

2\. Webhook received upon updating user status from PENDINIDVERIFICATION I0 to PENDINGIDVERIFICATION B0:

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "IDENTITY_VERIFICATION",`**

&#x20; **`"user_id": "user478",`**

&#x20; **`"applicant_id": "8ecac870-bf18-4583-8d8d-fa6bacca3cd5",`**

&#x20; **`"status": "PENDINGIDVERIFICATION",`**

&#x20; **`"old_status_reason_code": "I0",`**

&#x20; **`"status_reason_code": "B0"`**

**`}`**

</details>

### &#x20;PIN change webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"PIN_CHANGE"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

#### Webhook notification sample

You will start to receive the notification for a PIN change event (PIN\_CHANGE) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "PIN_CHANGE",`**

&#x20; **`"user_id": "hkuser282",`**

&#x20; **`"card_id": "77779999999999999212",`**

&#x20; **`"card_status": "ACTIVE",`**

&#x20; **`"card_status_reason": "A0",`**

&#x20; **`"created": "2022-09-27T12:39:51.293Z"`**

**`}`**

</details>

### Authorization and clearing webhooks

In the document below (docx or pdf format) you can find samples of such webhooks, as:

* Cash withdrawal
* Pre Auth and Incremental Authorization&#x20;
* Partial Reversals&#x20;
* Full reversals&#x20;
* Refund
* Original Credit Transaction
* Partial Capture Clearing
* Over Capture Clearing
* Multi-capture Clearing
* Forced Capture Clearing
* Partial Refund Clearing
* Reverse Clearing

{% file src="/files/4EuNEotdQIbzbL2DPDFy" %}
DOCX format
{% endfile %}

{% file src="/files/lBLFoqWOGN3e91Fb9y07" %}
PDF format
{% endfile %}

### Auth/pre-auth expiry

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"EXPIRED_AUTH"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for an auth/pre-auth expiry event (EXPIRED\_AUTH) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

{

&#x20; "event": "EXPIRED\_AUTH",

&#x20; "card\_transaction": {

&#x20;   "id": "3b9ac07c-4e5c-4b69-be55-1dee49320d2b",

&#x20;   "transaction\_timestamp": "2023-01-04T08:27:43.390Z",

&#x20;   "network": "VISA",

&#x20;   "message\_type": "AUTHORIZATION",

&#x20;   "transaction\_type": "PURCHASE",

&#x20;   "transaction\_description": "Purchase",

&#x20;   "transmission\_date\_time": "2023-01-04T08:27:42.000Z",

&#x20;   "date\_time\_acquirer": "2023-01-04T13:27:40.000Z",

&#x20;   "card\_id": "59e056c2-0645-48fb-890f-ef08ba1a7ff9",

&#x20;   "card\_first6\_digits": "456789",

&#x20;   "card\_last4\_digits": "0007",

&#x20;   "card\_expiry\_date": "102024",

&#x20;   "user\_id": "users1285",

&#x20;   "acquirer\_id": "12345678901",

&#x20;   "merchant\_id": "CARD ACCEPTOR",

&#x20;   "mcc": "5999",

&#x20;   "merchant\_name": "ACQUIRER NAME",

&#x20;   "merchant\_city": "CITY NAME",

&#x20;   "merchant\_country": "USA",

&#x20;   "terminal\_id": "TERMID01",

&#x20;   "stan": "001394",

&#x20;   "rrn": "300408001394",

&#x20;   "auth\_id\_response": "339305",

&#x20;   "network\_transaction\_id": "313004045401395",

&#x20;   "transaction\_amount": 10,

&#x20;   "transaction\_currency": "USD",

&#x20;   "billing\_amount": 10,

&#x20;   "billing\_currency": "USD",

&#x20;   "billing\_amount\_account": 10,

&#x20;   "billing\_currency\_account": "USD",

&#x20;   "conversion\_rate\_billing\_account": 1,

&#x20;   "acquirer\_fee\_amount": 0.1,

&#x20;   "fee\_amount": 0.5,

&#x20;   "status\_code": "0000",

&#x20;   "status\_description": "Transaction approved",

&#x20;   "card\_entry": "Physical entry",

&#x20;   "pos\_environment": "Attended POS",

&#x20;   "fallback": false,

&#x20;   "pin\_present": false,

&#x20;   "moto": false,

&#x20;   "recurring": false,

&#x20;   "installment\_transaction": false,

&#x20;   "reversal\_count": 1,

&#x20;   "clearing\_count": 0,

&#x20;   "auth\_expired\_at": "2023-01-04T08:45:09.135Z",

&#x20;   "auth\_expired\_by": "AUTO"

&#x20; }

}

</details>

### Charges webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"CHARGE_APPLIED"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for charges event (CHARGE\_APPLIED) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "CHARGE_APPLIED",`**

&#x20; **`"charge_applied":`**&#x20;

&#x20; **`{`**

&#x20; **`"id"          : "ide20259037739",`**

&#x20; **`"card_id"     : "3198413a-0083-4dbc-92cf-77f47f1ee23b",`**

&#x20; **`"account_id"  : "43b1a6d8-6cf2-4abe-ac01-52d5c50753e8",`**

&#x20; **`"charge_id"   : "irty20259345354",`**

&#x20; **`charge_type   : "PHYSICAL_CARD_ISSUANCE"`**

&#x20; **`"amount"      : 5.00,`**

&#x20; **`"currency"    : "USD",`**

&#x20; **`"description" : "ISSUANCE CHARGES - Yearly 2023"`**

&#x20; **`}`**

**`}`**

</details>

### Account status change webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"ACCOUNT_STATUS_CHANGE"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for account status event (ACCOUNT\_STATUS\_CHANGE) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "ACCOUNT_STATUS_CHANGE",`**

&#x20; **`"old_status": "ACTIVE",`**

&#x20; **`"new_status": "TERMINATED",`**

&#x20; **`"account_id": "0a8735ca-2c2d-4a5f-bfd3-79b20c60ea14",`**

&#x20; **`"note": "Changing the account status from <ACTIVE> to <TERMINATED>."`**

**`}`**

</details>

### Card provisioning webhook

{% hint style="info" %}
Please note that CARD\_PROVISIONING event is only applicable for VISA at the moment.
{% endhint %}

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"CARD_PROVISIONING"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for card provisioning event (CARD\_PROVISIONING) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

**`"event": "CARD_PROVISIONING",`**

**`"user_id": "055ef899-9650-4700-9497-e71826dd2825",`**

**`"card_id": "055ef899-9650-4700-9497-e71826dd2822",`**

**`"network": "VISA",`**

**`"wallet_identifier": "APPLEPAY",`**

**`"token_number": "458965212585236",`**

**`"token_type": "SECURE_ELEMENT",`**

**`"device_name": "Apple MaxPro 14",`**

**`"device_type": "MOBILE_PHONE",`**

**`"status": "APPROVED",`**

**`"created": "2018-01-02T19:42:32.987Z",`**

**`"pan_source": "MOBILE_BANKING_APP",`**

&#x20; **`"consumer_entry_mode": "KEY_ENTERED",`**

&#x20; **`"timestamp": "2025-09-18T12:32:26.059Z",`**

&#x20; **`"device_ip_address_v4": "49.207.217.141",`**

&#x20; **`"client_wallet_account_id": "933F30AC6A9A9631",`**

&#x20; **`"token_expiration_date": "09/2028",`**

&#x20; **`"number_of_active_tokens_for_pan": 0`**

**`}`**

</details>

### Token notification webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"TOKEN_NOTIFICATION"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for token notification event (TOKEN\_NOTIFICATION) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

**`"event": "TOKEN_NOTIFICATION",`**

**`"alert_type": "TOKEN_STATUS_UPDATE",`**

**`"user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",`**

**`"card_id": "145236599",`**

**`"token_info":`**

**`{`**

**`"id" : "124563289",`**

**`"token_reference_id" : "56985236",`**

**`"old_token_status" : "INACTIVE",`**

**`"new_token_status" : "INACTIVE",`**

**`"token_requestor_id" : "523658963246",`**

**`"wallet_provider": "APPLEPAY"`**

**`},`**

**`"device_info":`**

**`{`**

**`"device_id" : "124563289",`**

**`"device_type" : "MOBILE",`**

**`"device_name" : "apple",`**

**`"device_number" : "523658963246"`**

**`}`**

**`"pan_source": "MOBILE_BANKING_APP",`**

&#x20; **`"consumer_entry_mode": "KEY_ENTERED",`**

&#x20; **`"timestamp": "2025-09-18T12:32:26.059Z",`**

&#x20; **`"device_ip_address_v4": "49.207.217.141",`**

&#x20; **`"client_wallet_account_id": "933F30AC6A9A9631",`**

&#x20; **`"token_expiration_date": "09/2028",`**

&#x20; **`"number_of_active_tokens_for_pan": 0`**

**`}`**

</details>

### Successfully created card/account webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"SUCCESSFULLY_CREATED"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for this event (SUCCESSFULLY\_CREATED) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "SUCCESSFULLY_CREATED",`**

&#x20; **`"event_type": "card_created",`**

&#x20; **`"user_id": "Buiness_user_for_MSRQ_bank",`**

&#x20; **`"card_details": {`**

&#x20;   **`"card_id": "d7c5451f-d381-409e-a9dc-05ea557c3dfd",`**

&#x20;   **`"first_four_digits": "473212",`**

&#x20;   **`"last_four_digits": "5966",`**

&#x20;   **`"name_on_card": "Ahsan Siddiqui",`**

&#x20;   **`"card_product_id": "CP_04",`**

&#x20;   **`"card_type": "PHYSICAL",`**

&#x20;   **`"status": "INACTIVE",`**

&#x20;   **`"status_reason": "I2"`**

&#x20; **`}`**

**`}`**

</details>

### Card delivery partner assignment webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"CARD_DELIVERY_PARTNER_ASSIGNED"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for this event (CARD\_DELIVERY\_PARTNER\_ASSIGNED) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "CARD_DELIVERY_PARTNER_ASSIGNED",`**

&#x20; **`"user_id": "User_QA_210525_02",`**

&#x20; **`"card_id": "264c6885-1b73-4f50-88df-b00aa215894e",`**

&#x20; **`"waybill_number": "44262738752",`**

&#x20; **`"status_description": "Delivery partner assigned",`**

&#x20; **`"modified_date": "2025-06-18T06:19:52.652Z"`**

**`}`**&#x20;

</details>

### Card delivery status change webhook

You can create webhook as shown in below example.

<details>

<summary><a href="https://nymcard.com/docs/api#tag/Webhooks/operation/createWebhookNotification">POST /webhooks</a></summary>

**`{`**

&#x20; **`"endpoint": "https://example.com/",`**&#x20;

&#x20; **`"events": [`**

&#x20;   **`"CARD_DELIVERY_STATUS_CHANGED"`**&#x20;

&#x20; **`],`**

&#x20; **`"config": {`**

&#x20;   **`"basic_auth_username": "username",`**

&#x20;   **`"basic_auth_password": "password",`**

&#x20;   **`"custom_headers": [`**

&#x20;     **`{`**

&#x20;       **`"header_name": "apikey",`**

&#x20;       **`"header_value": "306e38e4-54be-469f-beca-4297129289d6"`**

&#x20;     **`}`**

&#x20;   **`],`**

&#x20;   **`"created": "2022-08-24T07:01:42.185Z",`**

&#x20;   **`"modified": "2022-08-24T07:01:42.185Z"`**

&#x20; **`}`**

**`}`**

</details>

You will start to receive the notification for this event (CARD\_DELIVERY\_STATUS\_CHANGED) after creating a webhook endpoint as shown below.

<details>

<summary>Sample</summary>

**`{`**

&#x20; **`"event": "CARD_DELIVERY_STATUS_CHANGED",`**

&#x20; **`"user_id": "User_QA_210525_02",`**

&#x20; **`"card_id": "65b4bcb8-b112-470b-95dc-6bc1b686af4e",`**

&#x20; **`"waybill_number": "44262738741",`**

&#x20; **`"status_description": "Picked Up From Shipper",`**

&#x20; **`"modified_date": "2025-03-07T15:43:00.000+03:00"`**

**`}`**

</details>

Below you can find several examples, which can be returned by '**`status_description'`** parameter in the sample above:

• Record Created – The shipment record has been created in the system.\
• Picked Up From Shipper – The package has been collected from the sender.\
• Received at Origin Operation Facility – The package has reached the first processing center.\
• Out for Delivery – The package is out for final delivery to the recipient.\
• Delivered – The package has been successfully delivered.

{% hint style="info" %}
Please note that if there is an event update, the job retrieves the status and forwards it to clients at two-hour intervals.
{% endhint %}

[^1]:


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nymcard.com/get-started/webhooks/webhooks-samples.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
