Zoqq Webhook API Documentation
Integrating the webhook service enables end users to receive notifications and updates regarding their account activity, transactions, security alerts, and other pertinent information. This integration ensures that users are promptly informed about important events related to their accounts.
🔄 Webhook Management
📥 Get All Webhooks
This returns a list of all webhooks associated with a program.
GET {{baseUrl}}/getallwebhooks
📩 Request Headers
x-api-key string required
Content-Type string required
application/json🔍 Query Parameters
program_code string required
Response Example
{
"data": [
{
"event_description": "Onboarding",
"event_name": "account.submitted",
"program_code": "program-code"
},
{
"event_description": "Currency Conversion",
"event_name": "conversion.cancelled",
"program_code": "program-code"
},
{
"event_description": "Currency Conversion",
"event_name": "conversion.overdue",
"program_code": "program-code"
},
{
"event_description": "Currency Conversion",
"event_name": "conversion.scheduled",
"program_code": "program-code"
},
{
"event_description": "Currency Conversion",
"event_name": "conversion.settled",
"program_code": "program-code"
},
{
"event_description": "Virtual Account Creation",
"event_name": "ga.new",
"program_code": "program-code"
},
{
"event_description": "Card Status",
"event_name": "issuing.card.active",
"program_code": "program-code"
},
{
"event_description": "Card Status",
"event_name": "issuing.card.blocked",
"program_code": "program-code"
},
{
"event_description": "Cardholder Status",
"event_name": "issuing.cardholder.pending",
"program_code": "program-code"
},
{
"event_description": "Cardholder Status",
"event_name": "issuing.cardholder.ready",
"program_code": "program-code"
},
{
"event_description": "Card Transction",
"event_name": "issuing.transaction.succeeded",
"program_code": "program-code"
},
{
"event_description": "Payout Transfer",
"event_name": "payout.transfer.funding.funded",
"program_code": "program-code"
},
{
"event_description": "Request For Information",
"event_name": "rfi.action_required",
"program_code": "program-code"
}
],
"status": "success"
}
📨 Subscribe Webhook
Subscribe to a webhook for a specific event.
POST {{baseUrl}}/api/subscribe
📩 Request Headers
x-api-key string required
Content-Type string required
application/json📦 Request Body Parameters
event_name string required
subscription_type string required
w for webhook or n for notification )agent_code string required
subagent_code string required
program_code string required
company_code string required
created_by string required
webhook_url string conditional
sender_email string conditional
x-api-key string conditional
⚠️ Important Note on subscription_type
subscription_type: "w" (Webhook)- You must provide these fields in request body:
webhook_urlx-api-keysender_emailis not required in the request body.
subscription_type: "n" (Email Notification)- You do not need to provide these fields in request body:
webhook_urlx-api-keyProvide
sender_emailonly if your email ID has been whitelisted by Zoqq Support. Until then, all email notifications will be sent from Zoqq’s default system email.
If you want notification emails to be sent from your own email address instead of Zoqq’s generic email, you must contact Zoqq Customer Support to whitelist your email ID.
Request Body for subscription_type: "w"
{
"event_name": "{{event_name}}",
"subscription_type": "w",
"agent_code": "{{agent_code}}",
"subagent_code": "{{sub_agent_code}}",
"program_code": "{{Shared ProductID By Zoqq}}",
"company_code": "{{company_code}}",
"created_by": "Test",
"webhook_url": "{{webhook_url}}",
"x_api_key": "{{Shared X-API key By Zoqq}}"
}
Request Body for subscription_type: "n"
{
"event_name": "{{event_name}}",
"subscription_type": "n",
"agent_code": "{{agent_code}}",
"subagent_code": "{{sub_agent_code}}",
"program_code": "{{Shared ProductID By Zoqq}}",
"company_code": "{{company_code}}",
"created_by": "Test"
}
Response Example
{
{
"message": "Webhook successfully subscribed",
"status": "SUCCESS"
}
}
📥 Retrieve Subscribed Webhook Details
Retrieves the details of all subscribed webhooks for a specific program.
POST {{baseUrl}}/api/subscribedwebhook
📩 Request Headers
x-api-key string required
Content-Type string required
application/json📦 Request Body Parameters
agent_code string required
subagent_code string required
🔍 Query Parameters
program_code string required
Response Example
[
{
"agent_code": "agent-code",
"company_code": "company-code",
"created_by": "Pabitra",
"created_time": "Thu, 07 Aug 2025 09:34:19 GMT",
"event_name": "account.submitted",
"program_code": "program-code",
"sender_email": "notification@zoqq.com",
"sl_no": 1,
"subagent_code": "sub-agent-code",
"subscription_type": "n",
"updated_by": null,
"updated_time": "Thu, 07 Aug 2025 09:34:19 GMT",
"webhook_url": "test",
"x_api_key": "TEST"
},
{
"agent_code": "agent-code",
"company_code": "company-code",
"created_by": "Pabitra",
"created_time": "Thu, 07 Aug 2025 09:34:19 GMT",
"event_name": "conversion.cancelled",
"program_code": "program-code",
"sender_email": "notification@zoqq.com",
"sl_no": 2,
"subagent_code": "sub-agent-code",
"subscription_type": "n",
"updated_by": null,
"updated_time": "Thu, 07 Aug 2025 09:34:19 GMT",
"webhook_url": "test",
"x_api_key": "TEST"
}
]
♻️ Update Webhook
This API is used to update an existing webhook configuration. It allows you to modify the subscription type, webhook URL, x-api-key, and sender email through the request body.
PATCH {{baseUrl}}/api/subscribe
📩 Request Headers
x-api-key string required
Content-Type string required
application/json📦 Request Body Parameters
event_name string required
subscription_type string required
w for webhook or n for notification )agent_code string required
subagent_code string required
program_code string required
company_code string required
webhook_url string conditional
sender_email string conditional
x-api-key string conditional
updated_by string required
Request Example
{
"event_name": "{{event_name}}",
"subscription_type": "w",
"agent_code": "{{agent_code}}",
"subagent_code": "{{sub_agent_code}}",
"program_code": "{{Shared ProductID By Zoqq}}",
"company_code": "{{company_code}}",
"webhook_url": "{{webhook_url}}",
"x_api_key":"{{Shared X-API key By Zoqq}}",
"updated_by":"Test Admin"
}
Response Example
{
"message": "Successfully Updated the webhook",
"status": "SUCCESS"
}
❌ Delete Webhook
Delete an existing webhook subscription.
DELETE {{baseUrl}}/api/subscribe
📩 Request Headers
x-api-key string required
Content-Type string required
application/json📦 Request Body Parameters
event_name string required
agent_code string required
subagent_code string required
program_code string required
company_code string required
Request Example
{
"event_name": "{{event_name}}",
"agent_code": "{{agent_code}}",
"subagent_code": "{{sub_agent_code}}",
"program_code": "{{Shared ProductID By Zoqq}}",
"company_code": "{{company_code}}"
}
Response Example
{
"message": "Successfully Deleted the webhook",
"status": "SUCCESS"
}
📨 Webhook Events
1. Account Status
Account Submitted
Triggered when an account application is first submitted for verification.
Description
Sent when a new account application is submitted and awaiting verification.
📦 Event Details
id string
name string
account.submitted.account_id string
data object
created_at string
version string
Request Body Example
{
"id": "evt_UVU43_95Onav3lShzYmSVw",
"name": "account.submitted",
"account_id": "acct_wUwt_u52MDCIvG8KqbC1YA",
"data": {},
"created_at": "2025-04-23T06:16:35+0000",
"version": "2025-02-14"
}
Account Active
Triggered when an account becomes active after successful verification.
Description
Sent when an account has completed verification and is now active for transactions.
📦 Event Details
id string
name string
account.active.account_id string
data object
account_details object
business_details object
address object
address_line1 string
suburb string
state string
postcode string
country_code string
address_english object
country_code string
postcode string
as_trustee boolean
business_address object
address_line1 string
created_at string
version string
Request Body Example
{
"id": "evt_iLMoFQxuM4iEc3XPwIqxmw",
"name": "account.active",
"account_id": "acct_wUwt_u52MDCIvG8KqbC1YA",
"data": {
"account_details": {
"business_details": {
"address": {
"address_line1": "3837 Violette Knolls",
"suburb": "Fadelton",
"country_code": "US",
"postcode": "58888",
"state": "FL"
},
"address_english": {
"country_code": "US",
"postcode": "58888"
},
"as_trustee": false,
"business_address": {
"address_line1": "44583 Gislason Trail"
}
}
}
},
"created_at": "2025-04-23T06:16:35+0000",
"version": "2025-02-14"
}
Account Suspended
Triggered when account verification fails or is suspended.
Description
Sent when an account fails verification or is suspended for compliance reasons.
📦 Event Details
id string
name string
account.suspended.account_id string
data object
account_details object
business_details object
address object
address_line1 string
suburb string
state string
postcode string
country_code string
business_name string
tax_id object
number string
type string
EIN).status string
SUSPENDED.created_at string
version string
Request Body Example
{
"id": "evt_l_NMv9_MPDGZqP-5Z9vHlw",
"name": "account.suspended",
"account_id": "acct_wUwt_u52MDCIvG8KqbC1YA",
"data": {
"account_details": {
"business_details": {
"address": {
"address_line1": "44583 Gislason Trail",
"suburb": "New Tryciaburgh",
"country_code": "US",
"postcode": "58888",
"state": "FL"
},
"business_name": "Bartell and Sons US",
"tax_id": {
"number": "123456789",
"type": "EIN"
}
}
},
"status": "SUSPENDED"
},
"created_at": "2025-04-23T09:46:48+0000",
"version": "2025-02-14"
}
Account Action Required
Triggered when additional information is needed to complete account verification.
Description
Sent when the verification process cannot be completed without additional action or documentation from the user.
📦 Event Details
id string
name string
rfi.action_required.account_id string
data object
id string
type string
Type of action required. Allowed values:
KYC– Know Your Customer documentation requiredAML– Anti-Money Laundering verificationADDRESS– Proof of address requiredIDENTITY– Identity verification required
created_at string
version string
Request Body Example
{
"id": "8be6af0f-f946-4b2d-ab4c-a04e66cfe82a",
"name": "rfi.action_required",
"account_id": "acct_5zJ0AJ2HMHKKvUGZf6os8w",
"data": {
"id": "89362bcb-0fbc-41ab-ae57-2cb7c3d8dbec",
"type": "KYC"
},
"created_at": "2025-04-23T10:23:36+0000",
"version": "2025-02-14"
}
2. Global Accounts
Global Account New
Triggered when a deposit is received via Global Account, pending settlement to wallet balance.
Description
Sent when a new deposit is received in a global account but hasn't yet been settled to the wallet balance.
📦 Event Details
id string
name string
ga.new.account_id string
data object
amount double
ccy string
transaction_type string
DEPOSIT.process_status string
Current processing status.
Status flow:
NEW → PENDING → SETTLED.
May transition to FAILED if settlement fails.
settlement_info object
beneficiary_account_number string
beneficiary_name string
payer_name string
created_at string
version string
Request Body Example
{
"id": "b19b2529-3f6c-4a79-b575-c595a0043985_ga.new",
"name": "ga.new",
"account_id": "acct_hUiVInamMd68NDDm5VVmyA",
"data": {
"amount": 100.0,
"ccy": "SGD",
"transaction_type": "DEPOSIT",
"process_status": "NEW",
"settlement_info": {
"beneficiary_account_number": "88520209770",
"beneficiary_name": "Zoqq (Singapore) Pte Ltd",
"payer_name": "JS"
}
},
"created_at": "2025-04-28T12:06:45+0000",
"version": "2025-02-14"
}
Balance Collection
Triggered when wallet balance increases due to a settled deposit from Global Account.
Description
Sent when funds from a Global Account deposit have been successfully settled and added to the wallet balance.
📦 Event Details
id string
name string
balance.ga.top_up.account_id string
data object
ccy string
amount double
balance double
type string
DEPOSIT.transaction_reference object
deposit_id string
global_account_id string
payer_name string
payer_bank_name string
reference string
created_at string
created_at string
version string
Request Body Example
{
"id": "d5429604-0f3e-3e60-9058-46f44e4552f5",
"name": "balance.ga.top_up",
"account_id": "acct_hUiVInamMd68NDDm5VVmyA",
"data": {
"ccy": "SGD",
"amount": 100,
"balance": 100,
"type": "DEPOSIT",
"transaction_reference": {
"deposit_id": "b19b2529-3f6c-4a79-b575-c595a0043985",
"global_account_id": "2a5f4d31-e290-4192-9746-61c862ba2d27",
"payer_name": "JS",
"payer_bank_name": "SBI"
},
"reference": "123",
"created_at": "2025-04-28T12:06:45+0000"
},
"created_at": "2025-04-28T12:06:45+0000",
"version": "2025-02-14"
}
3. Conversions
Conversion Scheduled
Triggered when a currency conversion has been successfully booked and scheduled for future settlement.
Description
Sent when a currency conversion request has been accepted and scheduled for execution on the specified conversion date.
📦 Event Details
id string
name string
conversion.scheduled.account_id string
data object
conversion_id string
short_reference_id string
status string
SCHEDULED.currency_pair string
Currency pair involved in the conversion, represented using two
(3-letter ISO-4217) currency codes concatenated together
(e.g., USD + SGD → USDSGD).
client_rate double
buy_currency string
buy_amount double
sell_currency string
sell_amount double
conversion_date string
YYYY-MM-DD).settlement_cutoff_time string
created_at string
created_at string
version string
Request Body Example
{
"id": "0d549741-f460-4457-8f15-2965b7af108dSCHEDULED",
"name": "conversion.scheduled",
"account_id": "acct_i74Os0HwMhmqPw9ND12TRQ",
"data": {
"conversion_id": "0d549741-f460-4457-8f15-2965b7af108d",
"short_reference_id": "C250429-5UBTP0F",
"status": "SCHEDULED",
"currency_pair": "USDSGD",
"client_rate": 1.315168,
"buy_currency": "USD",
"buy_amount": 1,
"sell_currency": "SGD",
"sell_amount": 1.32,
"conversion_date": "2025-04-29",
"settlement_cutoff_time": "2025-04-29T09:55:59+0000",
"created_at": "2025-04-29T09:55:59+0000"
},
"created_at": "2025-04-29T09:55:59+0000",
"version": "2025-02-14"
}
Conversion Settled
Triggered when funds from a currency conversion have been successfully settled in the wallet.
Description
Sent when a scheduled currency conversion has been successfully executed and funds are available in the wallet.
📦 Event Details
id string
name string
conversion.settled.account_id string
data object
conversion_id string
short_reference_id string
status string
SETTLED.currency_pair string
Currency pair involved in the conversion, represented using two
(3-letter ISO-4217) currency codes concatenated together
(e.g., USD + SGD → USDSGD).
client_rate double
buy_currency string
buy_amount double
sell_currency string
sell_amount double
conversion_date string
YYYY-MM-DD).updated_at string
created_at string
version string
Request Body Example
{
"id": "0d549741-f460-4457-8f15-2965b7af108dSETTLED",
"name": "conversion.settled",
"account_id": "acct_i74Os0HwMhmqPw9ND12TRQ",
"data": {
"conversion_id": "0d549741-f460-4457-8f15-2965b7af108d",
"short_reference_id": "C250429-5UBTP0F",
"status": "SETTLED",
"currency_pair": "USDSGD",
"client_rate": 1.315168,
"buy_currency": "USD",
"buy_amount": 1,
"sell_currency": "SGD",
"sell_amount": 1.32,
"conversion_date": "2025-04-29",
"updated_at": "2025-04-29T09:55:59+0000"
},
"created_at": "2025-04-29T09:55:59+0000",
"version": "2025-02-14"
}
4. Deposits
Deposit Settled
Triggered when a deposit has been successfully processed and settled to the wallet balance.
Description
Sent when funds from a deposit have cleared all processing and are fully available in the wallet balance.
📦 Event Details
id string
name string
deposit.settled.account_id string
data object
id string
amount double
currency string
fee object
amount double
currency string
global_account_id string
payer object
name string
provider_transaction_id string
reference string
status string
SETTLED.type string
BANK_TRANSFER.settled_at long
created_at string
version string
Request Body Example
{
"id": "1a06397d-6919-40d7-98de-e10c66f250c1_deposit.settled",
"name": "deposit.settled",
"account_id": "acct_hUiVInamMd68NDDm5VVmyA",
"data": {
"amount": 50.0,
"currency": "USD",
"fee": {
"amount": 0,
"currency": "USD"
},
"global_account_id": "bc2669d5-9ae3-41a5-9589-f8c424c47da5",
"id": "1a06397d-6919-40d7-98de-e10c66f250c1",
"payer": {
"name": "JS"
},
"provider_transaction_id": "5487287789",
"reference": "123",
"status": "SETTLED",
"type": "BANK_TRANSFER",
"settled_at": 1746006056378
},
"created_at": "2025-04-30T09:40:56+0000",
"version": "2025-02-14"
}
Deposit Rejected
Triggered when a deposit has been rejected during processing by Zoqq or the clearing system.
Description
Sent when a deposit fails verification or is rejected by compliance checks, preventing settlement to the wallet balance.
📦 Event Details
id string
name string
deposit.rejected.account_id string
data object
id string
amount double
currency string
fee object
amount double
currency string
global_account_id string
payer object
name string
provider_transaction_id string
reference string
status string
REJECTED.type string
BANK_TRANSFER.created_at string
version string
Request Body Example
{
"id": "303ae28f-3ab0-4682-8253-3f605beb3db1_deposit.rejected",
"name": "deposit.rejected",
"account_id": "acct_hUiVInamMd68NDDm5VVmyA",
"data": {
"amount": 50.0,
"currency": "USD",
"fee": {},
"global_account_id": "bc2669d5-9ae3-41a5-9589-f8c424c47da5",
"id": "303ae28f-3ab0-4682-8253-3f605beb3db1",
"payer": {
"name": "JS"
},
"provider_transaction_id": "5487287789",
"reference": "123",
"status": "REJECTED",
"type": "BANK_TRANSFER"
},
"created_at": "2025-04-30T12:05:35+0000",
"version": "2025-02-14"
}
5. Transfers
Payout Transfer Funding Scheduled
Description: Transfer funding scheduled.
Description
The funding is scheduled to be processed on the transfer date.
Funding Details
- Indicates scheduled processing
- Contains complete transfer details
- Includes fee breakdown
- Shows both payer and beneficiary information
- Provides transfer timing information
📦 Event Details
id string
name string
payout.transfer.funding.scheduled.account_id string
data object
id string
amount_beneficiary_receives double
amount_payer_pays double
beneficiary object
address object
street_address string
city string
state string
country_code string
postcode string
bank_details object
account_name string
account_number string
account_currency string
bank_name string
bank_country_code string
swift_code string
company_name string
entity_type string
COMPANY.type string
BANK_ACCOUNT.fee_amount double
fee_currency string
fee_paid_by string
PAYER.payer object
additional_info object
business_registration_number string
business_registration_type string
COMPANY.business_incorporation_date string
YYYY-MM-DD).address object
street_address string
city string
state string
country_code string
postcode string
company_name string
entity_type string
COMPANY.funding object
status string
SCHEDULED.transfer_date string
YYYY-MM-DD).transfer_amount double
transfer_currency string
transfer_method string
SWIFT.source_currency string
swift_charge_option string
SHARED.short_reference_id string
request_id string
reason string
professional_business_services.reference string
remarks string
updated_at string
created_at string
version string
Request Body Example
{
"id": "c7096585-ea08-460a-a404-794a7b7c3051",
"name": "payout.transfer.funding.scheduled",
"account_id": "acct_i74Os0HwMhmqPw9ND12TRQ",
"data": {
"amount_beneficiary_receives": 1000.0,
"amount_payer_pays": 153.32,
"beneficiary": {
"address": {
"street_address": "4456 Boyle Dale",
"city": "Altamonte Springs",
"state": "Brisaside",
"country_code": "CN",
"postcode": "25000"
},
"bank_details": {
"account_currency": "CNY",
"account_name": "Sylvia Hayes",
"account_number": "75312643",
"bank_country_code": "CN",
"bank_name": "Denesik Inc",
"swift_code": "ABOCCNBJ"
},
"company_name": "Considine - Jones",
"entity_type": "COMPANY",
"type": "BANK_ACCOUNT"
},
"created_at": "2025-04-30T12:31:37+0000",
"fee_amount": 15.32,
"fee_currency": "USD",
"fee_paid_by": "PAYER",
"funding": {
"status": "SCHEDULED"
},
"id": "0ae18279-3260-4fb5-9658-61fb74cec888",
"payer": {
"additional_info": {
"business_incorporation_date": "2024-02-19",
"business_registration_number": "SG-444-32-9207",
"business_registration_type": "COMPANY"
},
"address": {
"city": "Melbourne",
"country_code": "SG",
"postcode": "3000",
"state": "VIC",
"street_address": "Melbourne St, Melbourne St"
},
"company_name": "demo_zoqq",
"entity_type": "COMPANY"
},
"reason": "professional_business_services",
"reference": "Test 5672b696-418e-4f56-a6cb-f3c77403409f",
"remarks": "",
"request_id": "4f5eaad9-35a6-4f4d-8a88-5d9e7d390113",
"short_reference_id": "P250430-2PR7PF3",
"source_currency": "USD",
"status": "SCHEDULED",
"swift_charge_option": "SHARED",
"transfer_amount": 1000.0,
"transfer_currency": "CNY",
"transfer_date": "2025-04-30",
"transfer_method": "SWIFT",
"updated_at": "2025-04-30T12:31:37+0000"
},
"created_at": "2025-04-30T12:31:38+0000",
"version": "2025-02-14"
}
Payout Transfer Funded
Triggered when funds for a payout transfer have been successfully allocated and are ready for processing.
Description
Sent when the funding stage of a payout transfer is complete, indicating funds are secured for the upcoming transfer.
Funding Details
- Confirms funds are secured for transfer
- Shows complete fee breakdown
- Includes beneficiary bank details
- Contains payer information
- Provides transfer method details
📦 Event Details
id string
name string
payout.transfer.funding.funded.account_id string
data object
id string
amount_beneficiary_receives double
amount_payer_pays double
beneficiary object
bank_details object
account_name string
account_number string
account_currency string
bank_name string
bank_country_code string
swift_code string
company_name string
entity_type string
COMPANY.fee_amount double
fee_currency string
payer object
company_name string
entity_type string
COMPANY.funding object
status string
FUNDED.transfer_amount double
transfer_currency string
transfer_method string
SWIFT.source_currency string
reference string
short_reference_id string
updated_at string
created_at string
version string
Request Body Example
{
"id": "a16aba92-7ff3-49fd-91f0-5109c8391f9f",
"name": "payout.transfer.funding.funded",
"account_id": "acct_i74Os0HwMhmqPw9ND12TRQ",
"data": {
"amount_beneficiary_receives": 1000.0,
"amount_payer_pays": 153.32,
"beneficiary": {
"bank_details": {
"account_currency": "CNY",
"account_name": "Sylvia Hayes",
"account_number": "75312643",
"bank_country_code": "CN",
"bank_name": "Denesik Inc",
"swift_code": "ABOCCNBJ"
},
"company_name": "Considine - Jones",
"entity_type": "COMPANY"
},
"fee_amount": 15.32,
"fee_currency": "USD",
"funding": {
"status": "FUNDED"
},
"id": "0ae18279-3260-4fb5-9658-61fb74cec888",
"payer": {
"company_name": "demo_zoqq",
"entity_type": "COMPANY"
},
"reference": "Test 5672b696-418e-4f56-a6cb-f3c77403409f",
"short_reference_id": "P250430-2PR7PF3",
"source_currency": "USD",
"status": "SCHEDULED",
"transfer_amount": 1000.0,
"transfer_currency": "CNY",
"transfer_method": "SWIFT",
"updated_at": "2025-04-30T12:31:38+0000"
},
"created_at": "2025-04-30T12:31:38+0000",
"version": "2025-02-14"
}
6. Cardholder
Cardholder Ready
Description
Cardholder has passed the review process and is ready to be issued cards.
📦 Event Details
id string
name string
issuing.cardholder.ready.account_id string
data object
cardholder_id string
email string
individual object
null.date_of_birth string
YYYY-MM-DD))name object
title string
first_name string
middle_name string
last_name string
address object
city string
country string
line1 string
state string
postcode string
employers array
null.business_identifiers array
country_code string
number string
type string
business_name string
mobile_number string
postal_address object
Postal address of the cardholder, if applicable. Otherwise: null.
city string
country string
line1 string
state string>
postcode string
status string
READY.type string
INDIVIDUAL, DELEGATE.created_at string
version string
Request Body Example
{
"id": "606deff5-df70-31de-ac72-bf4ec4cbdd65",
"name": "issuing.cardholder.ready",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"cardholder_id": "699f578c-04d2-418f-9da4-5c60b30c68ac",
"email": "Lon_Sauer@gmail.com",
"individual": null,
"mobile_number": "58-15961607",
"postal_address": null,
"status": "READY",
"type": "DELEGATE"
},
"created_at": "2025-10-15T06:27:06+0000",
"version": "2025-02-14"
}
Cardholder Pending
Description
Cardholder needs to pass the review process before accessing card details.
📦 Event Details
id string
name string
issuing.cardholder.pending.account_id string
data object
cardholder_id string
email string
individual object
null.date_of_birth string
YYYY-MM-DD).name object
title string
first_name string
middle_name string
last_name string
address object
line1 string
line2 string
null.city string
state string
postcode string
country string
employers array
null.business_identifiers array
country_code string
number string
type string
business_name string
identification object
null.nationality string
null.mobile_number string
postal_address object
null.line1 string
line2 string
null.city string
state string
postcode string
country string
status string
PENDING.type string
INDIVIDUAL, DELEGATE.created_at string
version string
Request Body Example
{
"id": "d63af2a2-01ed-347e-9361-8349219f7f20",
"name": "issuing.cardholder.pending",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"cardholder_id": "0515792e-8d22-4dd7-bbd5-d34a2bc0316e",
"email": "Nichole_Jacobson@yahoo.com",
"individual": {
"address": {
"city": "Austin",
"country": "US",
"line1": "1234 Elm Street",
"line2": null,
"postcode": "94932",
"state": "TX"
},
"date_of_birth": "1990-01-01",
"employers": null,
"identification": null,
"name": {
"first_name": "John",
"last_name": "Doe vh",
"middle_name": "P",
"name_on_card": "miss John Doe vh",
"title": null
},
"nationality": null
},
"mobile_number": "91-95053039",
"postal_address": {
"city": "Los Angeles",
"country": "US",
"line1": "5678 Oak Avenue",
"line2": null,
"postcode": "94932",
"state": "CA"
},
"status": "PENDING",
"type": "INDIVIDUAL"
},
"created_at": "2025-10-15T06:40:45+0000",
"version": "2025-02-14"
}
Cardholder Deleted
Description
After the cardholder is deleted successfully, then this event will be triggered.
📦 Event Details
id string
name string
issuing.cardholder.deleted.account_id string
data object
cardholder_id string
deleted boolean
true.created_at string
version string
Request Body Example
{
"id": "697769df-c6c4-3e33-878a-f10cdf03698a",
"name": "issuing.cardholder.deleted",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"cardholder_id": "0515792e-8d22-4dd7-bbd5-d34a2bc0316e",
"deleted": true
},
"created_at": "2025-10-15T06:47:46+0000",
"version": "2025-02-14"
}
7. Cards
Card Active (Delegate-Virtual)
Description
The card is active and can be used for transactions.
📦 Event Details
id string
name string
issuing.card.active.account_id string
data object
activate_on_issue boolean
null.additional_cardholder_ids array of string
null.authorization_controls object
active_from string
null.active_to string
null.allowed_currencies array of string
allowed_merchant_categories array of string
allowed_transaction_count string
SINGLE, MULTIPLE. Single Use means that the card can only be used for 1 successful debit transaction.transaction_limits object
cash_withdrawal_limits array
amount double
interval string
DAILY.currency string
limits array
amount double
interval string
PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME.brand string
VISA.card_id string
card_number string
card_status string
ACTIVE.card_version number
cardholder_id string
null.client_data object
null.created_at string
created_by string
delivery_details object
null.form_factor string
VIRTUAL.is_personalized boolean
issue_to string
null.metadata object
null.name_on_card string
nick_name string
null.note string
null.postal_address object
null.primary_contact_details object
null.program object
interchange_percent double
null.purpose string
COMMERCIAL.sub_type string
null.type string
DEBIT.purpose string
BUSINESS_EXPENSES.request_id string
type string
null.updated_at string
created_at string
version string
Request Body Example
{
"id": "b42f7e95-7158-30fd-a8b1-ff8919a80ea1",
"name": "issuing.card.active",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"activate_on_issue": null,
"additional_cardholder_ids": null,
"authorization_controls": {
"active_from": null,
"active_to": null,
"allowed_currencies": [],
"allowed_merchant_categories": [],
"allowed_transaction_count": "MULTIPLE",
"transaction_limits": {
"cash_withdrawal_limits": [
{
"amount": 5000,
"interval": "DAILY"
}
],
"currency": "HKD",
"limits": [
{
"amount": 10000,
"interval": "PER_TRANSACTION"
}
]
}
},
"brand": "VISA",
"card_id": "2fa9bee6-b233-4952-863b-e0506b2d2f6d",
"card_number": "************5230",
"card_status": "ACTIVE",
"card_version": 1,
"cardholder_id": null,
"client_data": null,
"created_at": "2025-10-15T10:38:50.408+0000",
"created_by": "dba7e321-9740-4ec2-85b6-9b8c1738e3d7",
"delivery_details": null,
"form_factor": "VIRTUAL",
"is_personalized": false,
"issue_to": null,
"metadata": null,
"name_on_card": "PRPPCmedia OU",
"nick_name": "null",
"note": null,
"postal_address": null,
"primary_contact_details": null,
"program": {
"interchange_percent": null,
"purpose": "COMMERCIAL",
"sub_type": null,
"type": "DEBIT"
},
"purpose": "BUSINESS_EXPENSES",
"request_id": "2e0c6a53-4373-427a-b9da-80929bee4ba6",
"type": null,
"updated_at": "2025-10-15T10:38:50.408+0000"
},
"created_at": "2025-10-15T10:38:50+0000",
"version": "2025-02-14"
}
Card Active (Individual - Virtual)
Description
The card is active and can be used for transactions.
📦 Event Details
id string
name string
issuing.card.active.account_id string
data object
activate_on_issue boolean
null.additional_cardholder_ids array of string
null.authorization_controls object
active_from string
null.active_to string
null.allowed_currencies array of string
allowed_merchant_categories array of string
allowed_transaction_count string
SINGLE, MULTIPLE. Single Use means that the card can only be used for 1 successful debit transaction.transaction_limits object
cash_withdrawal_limits array
amount double
interval string
DAILY.currency string
limits array
amount double
interval string
PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME.brand string
VISA.card_id string
card_number string
card_status string
ACTIVE.card_version number
cardholder_id string
null.client_data object
null.created_at string
created_by string
delivery_details object
null.form_factor string
VIRTUAL.is_personalized boolean
issue_to string
null.metadata object
null.name_on_card string
nick_name string
null.note string
null.postal_address object
null.primary_contact_details object
null.program object
interchange_percent double
null.purpose string
COMMERCIAL.sub_type string
null.type string
DEBIT.purpose string
BUSINESS_EXPENSES.request_id string
type string
null.updated_at string
created_at string
version string
Request Body Example
{
"id": "45e7eabc-1cfb-3aa6-b2ad-8ede17f78ddc",
"name": "issuing.card.active",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"activate_on_issue": null,
"additional_cardholder_ids": null,
"authorization_controls": {
"active_from": null,
"active_to": null,
"allowed_currencies": [],
"allowed_merchant_categories": [],
"allowed_transaction_count": "MULTIPLE",
"transaction_limits": {
"cash_withdrawal_limits": [
{
"amount": 5000,
"interval": "DAILY"
}
],
"currency": "HKD",
"limits": [
{
"amount": 10000,
"interval": "PER_TRANSACTION"
}
]
}
},
"brand": "VISA",
"card_id": "f5cc6b7d-e56b-4350-8bb9-ab098db6ab9d",
"card_number": "************8006",
"card_status": "ACTIVE",
"card_version": 1,
"cardholder_id": null,
"client_data": null,
"created_at": "2025-10-15T11:10:22.624+0000",
"created_by": "dba7e321-9740-4ec2-85b6-9b8c1738e3d7",
"delivery_details": null,
"form_factor": "VIRTUAL",
"is_personalized": false,
"issue_to": null,
"metadata": null,
"name_on_card": "PRPPCmedia OU",
"nick_name": "null",
"note": null,
"postal_address": null,
"primary_contact_details": null,
"program": {
"interchange_percent": null,
"purpose": "COMMERCIAL",
"sub_type": null,
"type": "DEBIT"
},
"purpose": "BUSINESS_EXPENSES",
"request_id": "c20e1d30-4d90-443b-b415-774ba65f91e5",
"type": null,
"updated_at": "2025-10-15T11:10:22.624+0000"
},
"created_at": "2025-10-15T11:10:22+0000",
"version": "2025-02-14"
}
Card Inactive
Description
The card is successfully frozen and cannot be used for transactions. However, it can be unfrozen and used again.
📦 Event Details
id string
name string
issuing.card.inactive.account_id string
data object
activate_on_issue boolean
null.additional_cardholder_ids array of string
null.authorization_controls object
active_from string
active_to string
allowed_currencies array of string
allowed_merchant_categories array of string
allowed_transaction_count string
SINGLE, MULTIPLE. Single Use means that the card can only be used for 1 successful debit transaction.transaction_limits object
cash_withdrawal_limits array
amount double
interval string
DAILY.currency string
limits array
amount double
interval string
PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME.brand string
VISA.card_id string
card_number string
card_status string
INACTIVE.card_version number
cardholder_id string
null.created_at string
updated_at string
created_at string
version string
Request Body Example
{
"id": "563b6d32-abea-3dc2-be0f-de2f13c3409a",
"name": "issuing.card.inactive",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"activate_on_issue": null,
"additional_cardholder_ids": null,
"authorization_controls": {
"active_from": "2025-05-01T00:00:00.000+00:00",
"active_to": "2025-12-31T23:59:59.000+00:00",
"allowed_currencies": ["USD", "EUR", "INR"],
"allowed_merchant_categories": ["5411", "5732", "5999"],
"allowed_transaction_count": "MULTIPLE",
"transaction_limits": {
"cash_withdrawal_limits": [
{
"amount": 500,
"interval": "DAILY"
}
],
"currency": "USD",
"limits": [
{
"amount": 1,
"interval": "DAILY"
},
{
"amount": 10000,
"interval": "PER_TRANSACTION"
}
]
}
},
"brand": "VISA",
"card_id": "f5cc6b7d-e56b-4350-8bb9-ab098db6ab9d",
"card_number": "************8006",
"card_status": "INACTIVE",
"card_version": 1,
"cardholder_id": null,
"client_data": null,
"created_at": "2025-10-15T11:10:22.624+0000",
"created_by": "dba7e321-9740-4ec2-85b6-9b8c1738e3d7",
"delivery_details": null,
"form_factor": "VIRTUAL",
"is_personalized": false,
"issue_to": null,
"metadata": null,
"name_on_card": "PRPPCmedia OU",
"nick_name": "null",
"note": null,
"postal_address": null,
"primary_contact_details": null,
"program": {
"interchange_percent": null,
"purpose": "COMMERCIAL",
"sub_type": null,
"type": "DEBIT"
},
"purpose": "BUSINESS_EXPENSES",
"request_id": "c20e1d30-4d90-443b-b415-774ba65f91e5",
"type": null,
"updated_at": "2025-10-15T11:40:56.717+0000"
},
"created_at": "2025-10-15T11:40:56+0000",
"version": "2025-02-14"
}
Card Closed
Description
The card is cancelled. This is a terminal state.
📦 Event Details
id string
name string
issuing.card.closed.account_id string
data object
activate_on_issue boolean
null.additional_cardholder_ids array of string
null.authorization_controls object
active_from string
active_to string
allowed_currencies array of string
allowed_merchant_categories array of string
allowed_transaction_count string
SINGLE, MULTIPLE. Single Use means that the card can only be used for 1 successful debit transaction.transaction_limits object
cash_withdrawal_limits array
amount double
interval string
DAILY.currency string
limits array
amount double
interval string
PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME.brand string
VISA.card_id string
card_number string
card_status string
CLOSED.card_version number
cardholder_id string
null.client_data object
null.created_at string
created_by string
delivery_details object
null.form_factor string
VIRTUAL.is_personalized boolean
issue_to string
null.metadata object
null.name_on_card string
nick_name string
null.note string
null.postal_address object
null.primary_contact_details object
null.program object
interchange_percent double
null.purpose string
COMMERCIAL.sub_type string
null.type string
DEBIT.purpose string
BUSINESS_EXPENSES.request_id string
type string
null.updated_at string
created_at string
version string
Request Body Example
{
"id": "0ea973d5-3e4b-3c2b-a82b-b303c916b9dd",
"name": "issuing.card.closed",
"account_id": "acct__F86YxUYP2CeUQoucTySnA",
"data": {
"activate_on_issue": null,
"additional_cardholder_ids": null,
"authorization_controls": {
"active_from": "2025-05-01T00:00:00.000+00:00",
"active_to": "2025-12-31T23:59:59.000+00:00",
"allowed_currencies": ["USD", "EUR", "INR"],
"allowed_merchant_categories": ["5411", "5732", "5999"],
"allowed_transaction_count": "MULTIPLE",
"transaction_limits": {
"cash_withdrawal_limits": [
{
"amount": 500,
"interval": "DAILY"
}
],
"currency": "USD",
"limits": [
{
"amount": 1,
"interval": "DAILY"
},
{
"amount": 10000,
"interval": "PER_TRANSACTION"
}
]
}
},
"brand": "VISA",
"card_id": "f5cc6b7d-e56b-4350-8bb9-ab098db6ab9d",
"card_number": "************8006",
"card_status": "CLOSED",
"card_version": 1,
"cardholder_id": null,
"client_data": null,
"created_at": "2025-10-15T11:10:22.624+0000",
"created_by": "dba7e321-9740-4ec2-85b6-9b8c1738e3d7",
"delivery_details": null,
"form_factor": "VIRTUAL",
"is_personalized": false,
"issue_to": null,
"metadata": null,
"name_on_card": "PRPPCmedia OU",
"nick_name": "null",
"note": null,
"postal_address": null,
"primary_contact_details": null,
"program": {
"interchange_percent": null,
"purpose": "COMMERCIAL",
"sub_type": null,
"type": "DEBIT"
},
"purpose": "BUSINESS_EXPENSES",
"request_id": "c20e1d30-4d90-443b-b415-774ba65f91e5",
"type": null,
"updated_at": "2025-10-15T12:16:59.923+0000"
},
"created_at": "2025-10-15T12:16:59+0000",
"version": "2025-02-14"
}
Successful Transaction on an Issued Card
Description
Successful transaction on an issued card.
📦 Event Details
id string
name string
issuing.transaction.succeeded.account_id string
data object
acquiring_institution_identifier string
auth_code string
billing_amount double
billing_currency string
card_id string
card_nickname string
null.client_data object
null.failure_reason string
null.lifecycle_id string
masked_card_number string
merchant object
category_code string
city string
country string
identifier string
name string
postcode string
null.state string
null.network_transaction_id string
posted_date string
retrieval_ref string
status string
PENDING.transaction_amount double
transaction_currency string
transaction_date string
transaction_id string
transaction_type string
AUTHORIZATION.created_at string
version string
Request Body Example
{
"id": "f88c8fe0-aeec-31ef-9778-ebbbae7e7734",
"name": "issuing.transaction.succeeded",
"account_id": "acct_ot2tV8ecOZij3EMn9Ksuzg",
"data": {
"acquiring_institution_identifier": "30344929405",
"auth_code": "QPSQFV",
"billing_amount": -10.1,
"billing_currency": "USD",
"card_id": "dd1f2226-5871-4e1b-a3d4-beacbd83ea43",
"card_nickname": "null",
"client_data": null,
"failure_reason": null,
"lifecycle_id": "776d74fc-81e6-4341-82ac-4a5ed1122b21",
"masked_card_number": "************2647",
"merchant": {
"category_code": "7531",
"city": "n____________",
"country": "",
"identifier": "380086636828641",
"name": "Airwallex Cards Simulatio",
"postcode": null,
"state": null
},
"network_transaction_id": "990540637164692",
"posted_date": "2025-10-16T10:06:53.269+0000",
"retrieval_ref": "055440877874",
"status": "PENDING",
"transaction_amount": -10.1,
"transaction_currency": "USD",
"transaction_date": "2025-10-16T10:06:53.269+0000",
"transaction_id": "d1dc0dfa-f426-4cc8-a085-a58b4b96131c",
"transaction_type": "AUTHORIZATION"
},
"created_at": "2025-10-16T10:06:53+0000",
"version": "2025-02-14"
}
Failed Card Transaction
Description
Failed transaction on an issued card.
📦 Event Details
id string
name string
issuing.transaction.failed.account_id string
data object
acquiring_institution_identifier string
auth_code string
billing_amount double
billing_currency string
card_id string
card_nickname string
client_data object
null.failure_reason string
CARD_CLOSED.lifecycle_id string
masked_card_number string
merchant object
category_code string
city string
country string
identifier string
name string
postcode string
null.state string
null.network_transaction_id string
posted_date string
retrieval_ref string
status string
FAILED.transaction_amount double
transaction_currency string
transaction_date string
transaction_id string
transaction_type string
AUTHORIZATION.created_at string
version string
Request Body Example
{
"id": "7b30f394-52af-3854-8011-c4248f7d82d5",
"name": "issuing.transaction.failed",
"account_id": "acct_ot2tV8ecOZij3EMn9Ksuzg",
"data": {
"acquiring_institution_identifier": "08852578255",
"auth_code": "123519",
"billing_amount": -0.2,
"billing_currency": "SGD",
"card_id": "7e4d7e2b-01f9-4c92-b286-324b4a759975",
"card_nickname": "debio",
"client_data": null,
"failure_reason": "CARD_CLOSED",
"lifecycle_id": "d0e7426a-04f0-4921-a10e-fd984b0d5a8f",
"masked_card_number": "************9660",
"merchant": {
"category_code": "7531",
"city": "n____________",
"country": "",
"identifier": "622410427837708",
"name": "Airwallex Cards Simulatio",
"postcode": null,
"state": null
},
"network_transaction_id": "849773712566140",
"posted_date": "2025-10-16T10:15:48.224+0000",
"retrieval_ref": "415926304868",
"status": "FAILED",
"transaction_amount": -1.1,
"transaction_currency": "CNY",
"transaction_date": "2025-10-16T10:15:48.224+0000",
"transaction_id": "403029a4-76b9-4bf9-b948-e6b9005b3bbf",
"transaction_type": "AUTHORIZATION"
},
"created_at": "2025-10-16T10:15:48+0000",
"version": "2025-02-14"
}