Events Reference
Payload Format
Each webhook is an HTTPS POST request containing a JSON payload and a signature header.
Header:
X-DLT-Signature: dupyAbK5Z2vB7cNHN5pu7voGKPANyjyM/g...==
Content-Type: application/json
Body:
{
"notification_id": "8e9b9a45-6212-4a77-bb43-4b8d123a5e42",
"created_at": "2024-10-29T12:15:42Z",
"owner_id": "8e9b9a45-6212-4a77-bb43-4b8d123a5e42",
"owner_type": "person",
"external_id": "client_id_123",
"entitlement_trigger_id": "8e9b9a45-6212-4a77-bb43-4b8d123a5e42",
"entitlement_id": "9a9b9a45-6212-4a77-bb43-4b8d123a5e42",
"notification_type": "requirementsQuestionnaire",
"details": {
// Event specific data
}
}
Workflow Events
Webhook events are tied to specific workflows. The notification_type and its associated details payload vary depending on the active workflow.
1. Onboarding & Identity Verification (IDV)
This workflow covers standard retail and corporate onboarding, including the IDV sub-process.
requirementsQuestionnaire: Triggered when the user must complete one or more questionnaires.{
"notification_type": "requirementsQuestionnaire",
"details": {
"pending_questionnaire_ids": ["3cb3bdae-96eb-4097-9cc1-01c4fcf911ca"],
"reason": "onboarding"
}
}requirementsIDV: Triggered when an Identity Verification session needs to be started by the user.{
"notification_type": "requirementsIDV",
"details": {
"workflow_id": "44907951-1825-4a91-b1c8-f84d708a22e3",
"branch": "DEU",
"name": "IDVandQESandBAV"
}
}completedIDV/failedIDV/errorIDV: Status updates for the IDV process.{
"notification_type": "completedIDV",
"details": {
"status": "success",
"messages": [
{ "timestamp": "2024-09-03T14:55:26Z", "statusCode": 200, "description": "Verification successful" }
]
}
}entitlementCompleted: Emitted when onboarding is successful. Includes risk assessment results.{
"notification_type": "entitlementCompleted",
"details": {
"riskScore": 15,
"pep": false,
"criminal": false,
"sanctioned": false,
"adverse_media": false
}
}entitlementFailed: Emitted when onboarding fails. Includes an error code and description. See the Error Codes Reference for a full list of possible codes.{
"notification_type": "entitlementFailed",
"details": {
"code": "FL0001",
"description": "Unacceptable IDV risk"
}
}
2. AdHoc Enhanced Due Diligence (EDD)
Triggered when additional checks or locks are dynamically applied to an existing user's account.
entitlementStarted: Indicates the AdHoc EDD process has begun.{
"notification_type": "entitlementStarted",
"details": {
"description": "Retail AdHoc EDD entitlement started"
}
}entitlementCompleted: The EDD check passed. Includes final lock status.{
"notification_type": "entitlementCompleted",
"details": {
"outcome": "passed",
"funding_locked": false,
"trading_locked": false
}
}entitlementFailed: The EDD check failed. Includes final lock status.{
"notification_type": "entitlementFailed",
"details": {
"outcome": "failed",
"funding_locked": true,
"trading_locked": true
}
}
3. Proof of Source of Funds (POSOF)
Workflows to verify a user's source of funds at various tiers (Level 1, 2, 3).
requirementsQuestionnaire: Requests the user to fill out specific POSOF questionnaires.entitlementCompleted: Emitted when POSOF requirements are satisfied. Includes the achieved tier.{
"notification_type": "entitlementCompleted",
"details": {
"posof_level": "Level 2"
}
}entitlementFailed: Emitted when the user fails the POSOF check.
4. Derivatives
Workflows for granting access to derivatives trading (Qualified Retail, Professional by Request).
requirementsQuestionnaire: Usually requests the "Appropriateness Test".entitlementCompleted: The user is granted access to derivatives.{
"notification_type": "entitlementCompleted",
"details": {}
}entitlementFailed(Standard): User is denied. Includes a code and description. See the Error Codes Reference for details.{
"notification_type": "entitlementFailed",
"details": {
"code": "R0003",
"description": "Acknowledgements Verification Failed"
}
}entitlementFailed(Blacklist): Sent when a user is temporarily locked from derivatives due to failure in the appropriateness test.{
"notification_type": "entitlementFailed",
"details": {
"code": "retailDerivatives30DaysBlacklist",
"description": "User failed Appropriateness test. Locking from entitlement for 30 days",
"lock_date": "2024-10-29",
"lock_release_date": "2024-11-28"
}
}
5. Request for Information (RFI)
Workflows for manual information gathering and document requests from users.
entitlementStarted: Indicates the RFI process has begun.{
"notification_type": "entitlementStarted",
"details": {
"description": "Retail Request for Information entitlement started"
}
}requirementsQuestionnaire: Requests the user to provide specific information or documents.{
"notification_type": "requirementsQuestionnaire",
"details": {
"pending_questionnaire_ids": ["3cb3bdae-96eb-4097-9cc1-01c4fcf911ca"],
"reason": "request_for_information"
}
}reminder: Sent when a user has pending requirements that need attention.{
"notification_type": "reminder",
"details": {
"type": "rfi_2_week_reminder"
}
}{
"notification_type": "reminder",
"details": {
"type": "rfi_4_week_reminder"
}
}entitlementCompleted: The RFI check passed. Includes final lock status.{
"notification_type": "entitlementCompleted",
"details": {
"outcome": "passed",
"funding_locked": false,
"trading_locked": false
}
}
6. Account Locks
These standalone events indicate changes to account lock states. They are often emitted as side effects of other workflows (like AdHoc EDD or RFI).
applyTradingLock/releaseTradingLockapplyFundingLock/releaseFundingLock
Payload Example:
{
"notification_type": "applyFundingLock",
"details": {}
}