For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 webhook

You can create webhook as shown in below example.

POST /webhooks

{ "endpoint": "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" } }

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.

Sample

{

"event": "CARD_STATUS_CHANGE",

"card_status_change": {

"card_id": "eef930c7-6e44-4846-948a-dfd7855484b6",

"old_status": "ACTIVE",

"new_status": "SUSPENDED",

"status_reason_code": "S0",

"note": {

"category": "aaa",

"description": "First time activation",

"extras": {}

}

}

}

Transaction webhook

You can create webhook as shown in below example.

POST /webhooks

{ "endpoint": "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" } }

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:

PURCHASE

{

"event": "TRANSACTION",

"card_transaction": {

"id": "9829a089-1804-40b6-9920-d31bacc07f17",

"transaction_timestamp": "2022-09-23T12:13:01.295Z",

"network": "VISA",

"message_type": "AUTHORIZATION",

"transaction_type": "PURCHASE",

"transfer_type": "CHA2CHAOWN",

"transaction_description": "Purchase",

"transmission_date_time": "2022-09-23T12:13:01.000Z",

"date_time_acquirer": "2022-07-18T19:16:25.000Z",

"card_id": "8ac1eba8-9ccd-4cf7-acb1-8666007a9634",

"card_first6_digits": "450133",

"card_last4_digits": "4110",

"card_expiry_date": "052024",

"user_id": "2f8548e5-f505-491a-aeee-830948fa3046",

"acquirer_id": "000000",

"merchant_id": "MERCHID01",

"mcc": "7386",

"merchant_name": "ACQUIRER NAME",

"merchant_city": "Abu Dhabi",

"merchant_country": "ARE",

"terminal_id": "111",

"stan": "000022",

"rrn": "226612000022",

"auth_id_response": "962851",

"transaction_amount": 100,

"transaction_currency": "AED",

"billing_amount": 100,

"billing_currency": "AED",

"billing_amount_account": 10,

"billing_currency_account": "USD",

"conversion_rate_billing_account": 1,

"original_amount_billing": "null",

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

"status_code": "0000",

"status_description": "Transaction approved",

"card_entry": "Unknown",

"pos_environment": "Unknown",

"fallback": false,

"pin_present": false,

"moto": false,

"recurring": false,

"installment_transaction": false,

"reversal_count": 0,

"clearing_count": 0,

"auth_expired_at":"2023-01-04T08:45:09.135Z",

"auth_expired_by":"AUTO",

"source_channel": "OPEN_BANKING",

stip_reason_code: "9020",

"sweep_details":

[

{

"debit_from_currency": "USD",

"debit_from_amount": 10.00,

"credit_to_currency": "AED",

"credit_to_amount": 36.70,

"exchange_rate": "3.6153",

"markup_percentage": 1.5,

"markup_amount": 0.15,

"markup_details": {

"category": "INTERNAL",

"percentage": 1,

"amount": 0.1,

"currency": "USD"

},

}]

"notes": "Performing operation for 10 USD",

"type": "HOLD",

"incrementalTransaction": true,

"isPreAuth": "Y",

"isCancelled": "YES",

"token_details": {

"wallet_identifier": "APPLEPAY",

"token_number": "458965212585236",

"token_type": "01",

"acquirerCountry": "USA",

"device_details": {

"device_type": "MOBILE_PHONE",

} }

}

}

BALANCE_INQUIRY

{

"event": "TRANSACTION",

"card_transaction": {

"id": "bb5b17d3-31f7-43ff-9fe7-bcf4dd78f5f0",

"transaction_timestamp": "2023-01-23T07:44:13.022Z",

"network": "VISA",

"message_type": "AUTHORIZATION",

"transaction_type": "BALANCE_INQUIRY",

"transfer_type": "CHA2CHAOWN",

"transaction_description": "Balance Inquiry",

"transmission_date_time": "2023-01-23T07:44:12.000Z",

"date_time_acquirer": "2023-11-02T12:00:00.000Z",

"card_id": "2a22806a-ff7d-4943-b75a-82baa255471d",

"card_first6_digits": "450133",

"card_last4_digits": "3167",

"card_expiry_date": "092024",

"user_id": "ahsansiddiqui34",

"acquirer_id": "000000",

"merchant_id": "MERCHID01",

"mcc": "5011",

"merchant_name": "ACQUIRER NAME",

"merchant_city": "New York",

"merchant_country": "ARE",

"terminal_id": "TERMID01",

"stan": "000044",

"rrn": "302307000044",

"auth_id_response": "379457",

"transaction_amount": 0,

"transaction_currency": "AED",

"billing_amount": 0,

"billing_currency": "AED",

"fee_details": [],

"status_code": "0000",

"status_description": "Transaction approved",

"card_entry": "Unknown",

"pos_environment": "Unknown",

"fallback": false,

"pin_present": false,

"moto": false,

"recurring": false,

"installment_transaction": false,

"reversal_count": 0,

"acquirerCountry": "USA",

"clearing_count": 0

}

}

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:

WALLET_CREDIT
WALLET_DEBIT
WALLET_TRANSFER

{

"event": "TRANSACTION",

"card_transaction": {

"id": "b90e1563-7438-42b7-a997-9b871ad64ffb",

"transaction_timestamp": "2022-09-23T14:26:42.881Z",

"message_type": "API",

"transaction_type": "WALLET_TRANSFER",

"transfer_type": "CHA2CHAOWN",

"transaction_description": "Wallet Transfer",

"user_id": "hkuser282",

"sender_user_id": "hkuser282",

"account_id1": "77779999999999999210",

"card_product1": "Description of the cardproducthk77",

"account_id2": "77779999999999999211",

"card_product2": "Description of the cardproducthk77",

"rrn": "2266142642hO",

"transaction_amount": 10,

"transaction_currency": "AED",

"fee_amount": 0,

"original_amount_billing": "null",

"status_code": "0000",

"transfer_id": "b90e1563-7438-42b7-a997-9b871ad64ffb",

"reversal_count": 0,

"clearing_count": 0,

"notes": "Performing operation for 10 AED",

"receiver_user_id": "0dcbdc26-41cb-48b1-bdb8-b9e3db9ff40c"

}

}

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

KYC result webhook

You can create webhook as shown in below example.

POST /webhooks

{ "endpoint": "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" } }

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.

KYC_RESULT / KYC STATUS: SUBMITTED

{

"event": "KYC_RESULT",

"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",

"kyc_id": "b70c8e15-fde2-420b-ba4b-e0a248231310",

"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",

"note": "Some note",

"status": "SUBMITTED",

"status_code": "S0",

"created": "2022-09-22T06:08:07.987Z",

"modified": "2022-09-22T06:08:07.987Z"

}

KYC_RESULT / KYC STATUS: INCONCLUSIVE

{

"event": "KYC_RESULT",

"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",

"kyc_id": "b70c8e15-fde2-420b-ba4b-e0a248231310",

"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",

"note": "Some note",

"old_status": "SUBMITTED",

"status": "INCONCLUSIVE",

"status_code": "C0",

"created": "2022-09-22T06:08:07.987Z",

"modified": "2022-09-22T06:08:15.202Z"

}

KYC_RESULT / KYC STATUS: PASS

{

"event": "KYC_RESULT",

"kyc_policy": "UAE_INDIVIDUAL_PRIMARY",

"kyc_id": "a0b896ef-ba81-43fc-ab23-b3d53359fe30",

"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",

"note": "Some note",

"old_status": "SUBMITTED",

"status": "PASS",

"status_code": "P0",

"created": "2022-09-22T06:09:32.215Z",

"modified": "2022-09-22T06:09:37.802Z"

}

User creation webhook

You can create webhook as shown in below example.

POST /webhooks

{ "endpoint": "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" } }

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.

Sample

{

"event": "USER_CREATED",

"user_id": "ea27ae20-82a6-4940-a361-bc52c3147d7f",

"new_status": "PENDINGKYB",

"new_status_reason_code": "I0",

"user_type": "BUSINESS",

"created": "2022-09-23T12:35:51.798Z"

}

User status change webhook

You can create webhook as shown in below example.

POST /webhooks

{ "endpoint": "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" } }

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.

Sample

{

"event": "USER_STATUS_CHANGE",

"user_id": "0d7f87bf-0390-40a2-988a-c5cb0187066a",

"old_status": "PENDINGKYC",

"old_status_reason_code": "I0",

"new_status": "ACTIVE",

"new_status_reason_code": "A0",

"user_type": "INDIVIDUAL",

"created": "2022-09-22T06:09:37.839Z"

}

User document alert webhook

You can create a webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/"

"events": [

"USER_DOCUMENT_ALERT"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2021-08-24T07:01:42.185Z",

"modified": "2021-08-24T07:01:42.185Z"

}

}

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:

  • triggered when document is near expiry

Sample

{

"event": "USER_DOCUMENT_ALERT",

"alert_type": "DOCUMENT_NEAR_EXPIRY",

"user_id": "9377a07a-a191-45b8-9af2-7635fea37274",

"identification_id": "81e1f962-df62-4bdf-badd-51827074ad4d",

"type": "NATIONAL_ID",

"number": "804",

"issuance_authority": "Ministry of Interior",

"place_of_issuance": "Taiwan",

"expiration_date": "2022-09-28",

"issuance_date": "2022-09-16"

}

  • triggered when document is expired

Sample

{

"event": "USER_DOCUMENT_ALERT",

"alert_type": "DOCUMENT_EXPIRED",

"user_id": "116afe44-131b-4502-8369-7206f301f4ab",

"identification_id": "23747e45-86f5-4973-87d6-7aa62e5f9071",

"type": "NATIONAL_ID",

"number": "705",

"issuance_authority": "Ministry of Interior",

"place_of_issuance": "Cocos (Keeling) Islands",

"expiration_date": "2022-09-06",

"issuance_date": "2022-08-26",

"grace_period_end_date": "2022-11-05"

}

Identity verification webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/"

"events": [

"IDENTITY_VERIFICATION"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2021-08-24T07:01:42.185Z",

"modified": "2021-08-24T07:01:42.185Z"

}

}

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:

Sample

{

"event": "IDENTITY_VERIFICATION",

"user_id": "1ae3f657-5ce0-4fc6-8e56-c6d9e9866bac",

"applicant_id": "a187fc40-1189-4d99-a878-9728f70bf81f",

"sdk_token": "eyJhbGciOiJFUzUxMiJ9.eyJleHAiOjE2NjM5Mzg3NjMsInBheWxvYWQiOnsiYXBwIjoiYTE4N2ZjNDAtMTE4OS00ZDk5LWE4NzgtOTcyOGY3MGJmODFmIiwiY2xpZW50X3V1aWQiOiJiNjM1OTA3OC01N2Q4LTQyMGMtYjdkZC02NWMxODljMThmYmEiLCJpc19zYW5kYm94IjpmYWxzZSwic2FyZGluZV9zZXNzaW9uIjoiYjFlMDJiOTAtYmU3Mi00NWE3LTkwY2EtM2VjODBjNjViYzIxIn0sInV1aWQiOiJXdncyOTNleWFmMyIsInVybHMiOnsiZGV0ZWN0X2RvY3VtZW50X3VybCI6Imh0dHBzOi8vc2RrLm9uZmlkby5jb20iLCJzeW5jX3VybCI6Imh0dHBzOi8vc3luYy5vbmZpZG8uY29tIiwiaG9zdGVkX3Nka191cmwiOiJodHRwczovL2lkLm9uZmlkby5jb20iLCJhdXRoX3VybCI6Imh0dHBzOi8vYXBpLm9uZmlkby5jb20iLCJvbmZpZG9fYXBpX3VybCI6Imh0dHBzOi8vYXBpLm9uZmlkby5jb20iLCJ0ZWxlcGhvbnlfdXJsIjoiaHR0cHM6Ly9hcGkub25maWRvLmNvbSJ9fQ.MIGIAkIB15_-N53zYfYQZ1DigFvRl2eOxU5QpltIH-8391oiKnWQfhqSIYDWfJyMgjYT9s7I0CATsZxnljgRTEeb8NS5sKQCQgCsXWfHBnromgtaqCGGtimoXsc1n_nXNAkZqE-rS5FqVnn8OwjyO1CGphNI69uIzn_Jk04BAqyfiF4qjIIivP-ndA",

"status": "PENDINGIDVERIFICATION",

"status_reason_code": "I0"

}

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

Sample

{

"event": "IDENTITY_VERIFICATION",

"user_id": "user478",

"applicant_id": "8ecac870-bf18-4583-8d8d-fa6bacca3cd5",

"status": "PENDINGIDVERIFICATION",

"old_status_reason_code": "I0",

"status_reason_code": "B0"

}

PIN change webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"PIN_CHANGE"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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.

Sample

{

"event": "PIN_CHANGE",

"user_id": "hkuser282",

"card_id": "77779999999999999212",

"card_status": "ACTIVE",

"card_status_reason": "A0",

"created": "2022-09-27T12:39:51.293Z"

}

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

  • Partial Reversals

  • Full reversals

  • Refund

  • Original Credit Transaction

  • Partial Capture Clearing

  • Over Capture Clearing

  • Multi-capture Clearing

  • Forced Capture Clearing

  • Partial Refund Clearing

  • Reverse Clearing

DOCX format
PDF format

Auth/pre-auth expiry

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"EXPIRED_AUTH"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "EXPIRED_AUTH",

"card_transaction": {

"id": "3b9ac07c-4e5c-4b69-be55-1dee49320d2b",

"transaction_timestamp": "2023-01-04T08:27:43.390Z",

"network": "VISA",

"message_type": "AUTHORIZATION",

"transaction_type": "PURCHASE",

"transaction_description": "Purchase",

"transmission_date_time": "2023-01-04T08:27:42.000Z",

"date_time_acquirer": "2023-01-04T13:27:40.000Z",

"card_id": "59e056c2-0645-48fb-890f-ef08ba1a7ff9",

"card_first6_digits": "456789",

"card_last4_digits": "0007",

"card_expiry_date": "102024",

"user_id": "users1285",

"acquirer_id": "12345678901",

"merchant_id": "CARD ACCEPTOR",

"mcc": "5999",

"merchant_name": "ACQUIRER NAME",

"merchant_city": "CITY NAME",

"merchant_country": "USA",

"terminal_id": "TERMID01",

"stan": "001394",

"rrn": "300408001394",

"auth_id_response": "339305",

"network_transaction_id": "313004045401395",

"transaction_amount": 10,

"transaction_currency": "USD",

"billing_amount": 10,

"billing_currency": "USD",

"billing_amount_account": 10,

"billing_currency_account": "USD",

"conversion_rate_billing_account": 1,

"acquirer_fee_amount": 0.1,

"fee_amount": 0.5,

"status_code": "0000",

"status_description": "Transaction approved",

"card_entry": "Physical entry",

"pos_environment": "Attended POS",

"fallback": false,

"pin_present": false,

"moto": false,

"recurring": false,

"installment_transaction": false,

"reversal_count": 1,

"clearing_count": 0,

"auth_expired_at": "2023-01-04T08:45:09.135Z",

"auth_expired_by": "AUTO"

}

}

Charges webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"CHARGE_APPLIED"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "CHARGE_APPLIED",

"charge_applied":

{

"id" : "ide20259037739",

"card_id" : "3198413a-0083-4dbc-92cf-77f47f1ee23b",

"account_id" : "43b1a6d8-6cf2-4abe-ac01-52d5c50753e8",

"charge_id" : "irty20259345354",

charge_type : "PHYSICAL_CARD_ISSUANCE"

"amount" : 5.00,

"currency" : "USD",

"description" : "ISSUANCE CHARGES - Yearly 2023"

}

}

Account status change webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"ACCOUNT_STATUS_CHANGE"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "ACCOUNT_STATUS_CHANGE",

"old_status": "ACTIVE",

"new_status": "TERMINATED",

"account_id": "0a8735ca-2c2d-4a5f-bfd3-79b20c60ea14",

"note": "Changing the account status from <ACTIVE> to <TERMINATED>."

}

Card provisioning webhook

Please note that CARD_PROVISIONING event is only applicable for VISA at the moment.

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"CARD_PROVISIONING"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"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",

"consumer_entry_mode": "KEY_ENTERED",

"timestamp": "2025-09-18T12:32:26.059Z",

"device_ip_address_v4": "49.207.217.141",

"client_wallet_account_id": "933F30AC6A9A9631",

"token_expiration_date": "09/2028",

"number_of_active_tokens_for_pan": 0

}

Token notification webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"TOKEN_NOTIFICATION"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"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",

"consumer_entry_mode": "KEY_ENTERED",

"timestamp": "2025-09-18T12:32:26.059Z",

"device_ip_address_v4": "49.207.217.141",

"client_wallet_account_id": "933F30AC6A9A9631",

"token_expiration_date": "09/2028",

"number_of_active_tokens_for_pan": 0

}

Successfully created card/account webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"SUCCESSFULLY_CREATED"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "SUCCESSFULLY_CREATED",

"event_type": "card_created",

"user_id": "Buiness_user_for_MSRQ_bank",

"card_details": {

"card_id": "d7c5451f-d381-409e-a9dc-05ea557c3dfd",

"first_four_digits": "473212",

"last_four_digits": "5966",

"name_on_card": "Ahsan Siddiqui",

"card_product_id": "CP_04",

"card_type": "PHYSICAL",

"status": "INACTIVE",

"status_reason": "I2"

}

}

Card delivery partner assignment webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"CARD_DELIVERY_PARTNER_ASSIGNED"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "CARD_DELIVERY_PARTNER_ASSIGNED",

"user_id": "User_QA_210525_02",

"card_id": "264c6885-1b73-4f50-88df-b00aa215894e",

"waybill_number": "44262738752",

"status_description": "Delivery partner assigned",

"modified_date": "2025-06-18T06:19:52.652Z"

}

Card delivery status change webhook

You can create webhook as shown in below example.

POST /webhooks

{

"endpoint": "https://example.com/",

"events": [

"CARD_DELIVERY_STATUS_CHANGED"

],

"config": {

"basic_auth_username": "username",

"basic_auth_password": "password",

"custom_headers": [

{

"header_name": "apikey",

"header_value": "306e38e4-54be-469f-beca-4297129289d6"

}

],

"created": "2022-08-24T07:01:42.185Z",

"modified": "2022-08-24T07:01:42.185Z"

}

}

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

Sample

{

"event": "CARD_DELIVERY_STATUS_CHANGED",

"user_id": "User_QA_210525_02",

"card_id": "65b4bcb8-b112-470b-95dc-6bc1b686af4e",

"waybill_number": "44262738741",

"status_description": "Picked Up From Shipper",

"modified_date": "2025-03-07T15:43:00.000+03:00"

}

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.

Please note that if there is an event update, the job retrieves the status and forwards it to clients at two-hour intervals.

Last updated

Was this helpful?