Payload Structure
Every webhook event follows one of two structures depending on whether it is acreated or updated event.
Created Event
When an entity is created, the full entity object is included in the payload:| Field | Type | Description |
|---|---|---|
type | string | The event type (e.g., individual_client.created). |
timestamp | string | ISO 8601 timestamp of when the event occurred. |
data.id | string | Unique identifier of the entity. |
data.referenceId | string | External reference ID (if set). |
data.entity | object | The full entity object at the time of creation. |
Updated Event
When an entity is updated, the payload includes only the changed fields along with the previous values:| Field | Type | Description |
|---|---|---|
type | string | The event type (e.g., individual_client.updated). |
timestamp | string | ISO 8601 timestamp of when the event occurred. |
data.id | string | Unique identifier of the entity. |
data.referenceId | string | External reference ID (if set). |
data.updated | object | Only the fields that changed in this update. |
data.previousValues | object | The previous values for each changed field. |
Individual Client
Events:individual_client.created, individual_client.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
accountStatus | string | APPROVED, WAITING_FOR_REVIEW, IN_REVIEW, REJECTED, OFF_BOARDED, FROZEN, PENDING_DOCUMENTS, CLOSED_BY_CLIENT, APPLICATION_IN_PROGRESS. |
activityStatus | string | ACTIVE, NOT_ACTIVE. |
general | object | First name, last name, middle name, gender, date of birth, citizenship, jurisdiction, personal ID. |
address | object | Address line 1/2, city, country, postal code. |
contact | object? | Email address, phone number. |
application | object | Submitted at, onboarded at, next periodic review, KYC tier (TIER_1, TIER_2, TIER_3). |
financial | object? | Annual deposit estimate. |
work | object? | Occupation. |
currentRisk | object? | Risk assessment (score, level, reason, calculatedAt). |
onboardingRisk | object? | Onboarding risk assessment. |
riskHistory | array | Historical risk assessments. |
politicalExposure | object | PEP information (isPoliticallyExposed). |
sanctions | object | Sanctions information (isSanctioned). |
adverseMedia | object | Adverse media information (isAdverseMedia). |
tags | string[] | Tags associated with the client. |
customFields | object? | Custom fields defined for the platform. |
declaredAssets | string[]? | Asset symbols (e.g., BTC, ETH). |
alerts | string[]? | Associated alert IDs. |
financialOperations | string[]? | Associated financial operation IDs. |
integrations | object? | Third-party integration IDs (Sardine, Chainalysis, SumSub, Plain). |
partnerClientId | string? | ID of the partner corporate client. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Corporate Client
Events:corporate_client.created, corporate_client.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
accountStatus | string | APPROVED, WAITING_FOR_REVIEW, IN_REVIEW, REJECTED, OFF_BOARDED, FROZEN, PENDING_DOCUMENTS, CLOSED_BY_CLIENT, APPLICATION_IN_PROGRESS. |
activityStatus | string | ACTIVE, NOT_ACTIVE. |
general | object | Legal entity name, jurisdiction, date/country of incorporation. |
address | object | Registration address, business address. |
application | object | Submitted at, onboarded at, next periodic review. |
business | object | Industry, description, business type/sub-type, ownership type/complexity, incorporation type. |
sourceOfFundsInfo | object? | Source, details, jurisdictions, monthly/annual volumes. |
adverseMedia | object? | Risk level (NONE, LOW, MEDIUM, HIGH), score, date, details, fines. |
politicalExposure | object? | PEP tier (NO_PEP, TIER_1–TIER_4), score, details, jurisdictions. |
screening | object? | Subpoena, SAR flags. |
currentRisk | object? | Risk assessment (score, level, reason, calculatedAt). |
onboardingRisk | object? | Onboarding risk assessment. |
riskHistory | array | Historical risk assessments. |
members | object? | Individual and corporate members. |
tags | string[] | Tags. |
customFields | object? | Custom fields. |
declaredAssets | string[]? | Declared asset symbols. |
alerts | string[]? | Associated alert IDs. |
financialOperations | string[]? | Associated financial operation IDs. |
integrations | object? | Third-party integration IDs (Chainalysis, SumSub, Plain). |
partnerClientId | string? | Partner corporate client ID. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Alert
Events:alert.created, alert.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
category | string | KYC, KYB, TRANSACTION_MONITORING, ONCHAIN_TRANSACTION_MONITORING, SCREENING_SANCTIONS, SCREENING_PEP, SCREENING_ADVERSE_MEDIA, SCREENING_REGULATORY, SCREENING_OTHER, FRAUD, PERIODIC_REVIEW, EDD, OTHER. |
subCategory | string? | Subcategory for granular classification. |
priority | string | LOW, MEDIUM, HIGH. |
status | string | NEW, IN_REVIEW, ESCALATED, RESOLVED. |
description | string | Description of the alert. |
assigneeId | string? | Assigned analyst ID. |
raisedAt | string | ISO timestamp when the alert was raised. |
dueDate | string? | ISO timestamp when the alert is due. |
source | object | vendor, vendorAlertId, vendorData, link, alertSource (CHAINALYSIS, SARDINE, MANUAL, API, TRM_LABS, SUMSUB, TRANSACTION_MONITORING). |
statusHistory | array | Status changes (status, evaluated at, evaluated by). |
associatedTransactions | array | Linked transactions. |
associatedClients | array | Linked clients. |
associatedCases | array | Linked cases. |
customFields | object? | Custom fields. |
attachmentIds | string[]? | Attachment IDs. |
researchRiskLevel | string? | Deep research screening risk level (NONE, LOW, MEDIUM, HIGH). |
researchRiskExplanation | string? | Research risk explanation. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Case
Events:case.created, case.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
category | string | KYC, KYB, TRANSACTION_MONITORING, ONCHAIN_TRANSACTION_MONITORING, SCREENING_SANCTIONS, SCREENING_PEP, SCREENING_ADVERSE_MEDIA, SCREENING_REGULATORY, SCREENING_OTHER, FRAUD, PERIODIC_REVIEW, EDD, OTHER. |
subCategory | string? | Subcategory for granular classification. |
priority | string | LOW, MEDIUM, HIGH. |
status | string | NEW, UNDER_INVESTIGATION, PENDING_EDD, PENDING_RFI, PENDING_REVIEW, CLOSED_DISMISSED, CLOSED_ESCALATION_TO_SAR. |
description | string? | Description. |
assigneeId | string? | Assigned analyst ID. |
reviewersIds | string[] | Reviewer IDs. |
dueDate | string? | ISO timestamp when the case is due. |
statusHistory | array | Status changes (status, reason, sub-status, evaluated at, evaluated by). |
investigation | object? | Investigation notes (content, nickname, last edited at, last editor ID). |
alerts | array | Associated alerts. |
transactions | array | Associated transactions. |
clients | array | Associated clients. |
attachmentIds | string[]? | Attachment IDs. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Transaction
Events:transaction.created, transaction.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
type | string | DEPOSIT, WITHDRAW, TRADE. |
currentStatus | object | Current status. type: SUCCESS, PENDING, CANCELLED, FAILED, FROZEN. Also timestamp, reason, subStatus. |
statusHistory | array? | History of status changes. |
amount | object | Transaction amount (amount, currency, netAmount). |
convertedAmount | object? | Converted amount in platform’s preferred currency. |
from | object | Source (client, bankAccountNumber, walletAddress, wallet). |
to | object? | Destination (client, bankAccountNumber, walletAddress, wallet). |
sideInTrade | string? | BUY or SELL. |
paymentMethod | string? | Payment method (e.g., CRYPTO_TRANSFER). |
paymentRail | string? | Payment rail (e.g., SWIFT, SEPA, ACH, Fedwire, NIP, PIX, MobileMoney, SPEI). |
transferType | string? | INTERNATIONAL, DOMESTIC, INTERNAL. |
txHash | string? | Blockchain transaction hash. |
initiatedAt | string | ISO timestamp of initiation. |
customFields | object? | Custom fields. |
integrations | object? | Third-party IDs (sardineTransactionId, chainalysisTransactionId, trmTransactionId, utilaTransactionId). |
session | object? | Session data (IP, device, geo-location). |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Deposit
Events:deposit.created, deposit.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
depositTransaction | object | Underlying transaction (see Transaction payload). |
initiatedBy | object? | Initiator (id, referenceId). |
initiatedAt | string | ISO timestamp of initiation. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Withdrawal
Events:withdrawal.created, withdrawal.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
withdrawTransaction | object | Underlying transaction (see Transaction payload). |
initiatedBy | object? | Initiator (id, referenceId). |
initiatedAt | string | ISO timestamp of initiation. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Trade
Events:trade.created, trade.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
tradeType | string | BUY, SELL. |
price | number | Price of the trade. |
quantity | number | Quantity traded. |
instrumentBaseAsset | string | Base asset (e.g., BTC). |
instrumentQuoteAsset | string | Quote asset (e.g., USD). |
transactions | array | Underlying transactions (see Transaction payload). |
statusHistory | array? | Status changes. status: PENDING, SUCCESS, FAILED, EXPIRED, REJECTED. Also reason, subStatus, timestamp. |
initiatedBy | object? | Initiator (id, referenceId). |
initiatedAt | string | ISO timestamp of initiation. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Individual Member
Events:individual_member.created, individual_member.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
memberType | string | Always INDIVIDUAL. |
firstName | string | First name. |
lastName | string | Last name. |
middleName | string? | Middle name. |
email | string? | Email address. |
phoneNumber | string? | Phone number. |
dateOfBirth | string? | Date of birth (ISO format). |
citizenship | string? | Citizenship country code. |
personalIdNumber | string? | Personal identification number. |
residentialAddressLine1 | string? | First line of residential address. |
residentialAddressLine2 | string? | Second line of residential address. |
residentialAddressCity | string? | Residential address city. |
residentialAddressPostalCode | string? | Residential address postal code. |
residentialAddressCountry | string? | Residential address country code. |
title | string | Title or position. |
roleType | string | OWNER, DIRECTOR, OFFICER, AUTHORIZED_REPRESENTATIVE, BENEFICIAL_OWNER, SHAREHOLDER, SIGNATORY, TRUSTEE, PROTECTOR, SETTLOR, OTHER. |
ownershipPercentage | number? | Ownership percentage (0–100). |
status | string | APPROVED, REJECTED, UNDER_REVIEW. |
statusDate | string | Date of status determination. |
sanctionsStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
sanctionsStatusDate | string? | Date of sanctions status determination. |
pepStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
pepStatusDate | string? | Date of PEP status determination. |
adverseMediaStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
adverseMediaStatusDate | string? | Date of adverse media status determination. |
identityDocuments | array? | Identity documents (id, documentType, documentNumber, documentIssuingCountry, documentExpirationDate). Document types: PASSPORT, DRIVERS_LICENSE, NATIONAL_ID, RESIDENCE_PERMIT, BIRTH_CERTIFICATE, OTHER. |
corporates | string[]? | Associated corporate client IDs. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Corporate Member
Events:corporate_member.created, corporate_member.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
memberType | string | Always CORPORATE. |
legalEntityName | string | Legal entity name. |
countryOfIncorporation | string? | Country of incorporation. |
registrationNumber | string? | Registration number. |
dateOfIncorporation | string? | Date of incorporation (ISO format). |
title | string | Role description. |
roleType | string | OWNER, DIRECTOR, OFFICER, AUTHORIZED_REPRESENTATIVE, BENEFICIAL_OWNER, SHAREHOLDER, SIGNATORY, TRUSTEE, PROTECTOR, SETTLOR, OTHER. |
ownershipPercentage | number? | Ownership percentage (0–100). |
status | string | APPROVED, REJECTED, UNDER_REVIEW. |
statusDate | string | Date of status determination. |
sanctionsStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
sanctionsStatusDate | string? | Date of sanctions status determination. |
pepStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
pepStatusDate | string? | Date of PEP status determination. |
adverseMediaStatus | string | CLEAR, FLAGGED, UNDER_REVIEW, NOT_CHECKED. |
adverseMediaStatusDate | string? | Date of adverse media status determination. |
email | string? | Contact email. |
phoneNumber | string? | Contact phone number. |
businessAddressLine1 | string? | Business address line 1. |
businessAddressLine2 | string? | Business address line 2. |
businessAddressCity | string? | City. |
businessAddressPostalCode | string? | Postal code. |
businessAddressCountry | string? | Country code. |
corporates | string[]? | Associated corporate client IDs. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Blockchain Wallet
Events:blockchain_wallet.created, blockchain_wallet.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
address | string | Wallet address on the blockchain. |
chain | string? | Blockchain network (e.g., ethereum, bitcoin). |
screeningDate | string? | Date when the wallet was last screened. |
currentRisk | object? | Risk assessment (score, level, reason, calculatedAt). |
riskHistory | array | Historical risk assessments. |
associatedClients | array? | Associated clients. |
customFields | object? | Custom fields. |
integrations | object? | Third-party integration IDs (utilaWalletId). |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |
Bank Account
Events:bank_account.created, bank_account.updated
- Created
- Updated
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
referenceId | string? | External reference ID. |
bankName | string? | Name of the bank. |
accountNumber | string | Bank account number. |
routingNumber | string? | Bank routing number. |
accountHolderName | string? | Account holder name. |
accountType | string? | Account type (e.g., checking, savings). |
currency | string? | Account currency (ISO 4217). |
balanceInCurrency | number? | Balance in the account currency. |
balanceInConvertedAmount | number? | Balance in platform’s preferred currency. |
countries | string[]? | Associated country codes. |
currentRisk | object? | Risk assessment (score, level, reason, calculatedAt). |
riskHistory | array | Historical risk assessments. |
associatedClients | array? | Associated clients (id, referenceId, name, status: ACTIVE, INACTIVE, CLOSED). |
customFields | object? | Custom fields. |
createdAt | string | ISO timestamp of creation. |
updatedAt | string | ISO timestamp of last update. |