Webhooks/Callbacks
We are expanding our callback system to give integrators more flexibility.
Currently, our platform sends REST callbacks primarily for customer and contract acceptance events. With this update, callbacks can optionally use a topic-based structure that mirrors our existing WebSocket messages.
Existing REST Callback Structure
Current callbacks are lightweight JSON arrays with minimal data about accepted customers or contracts as described here:
[
{
"status": 100,
"key": "f283d8c84766484892cf097db8c5e2b5",
"modified": "2025-09-03T06:38:08",
"customerKey": "885eb2cc-12d6-49dd-b52a-a6634f510e17"
}
]or
[
{
"status": 100,
"key": "f283d8c84766484892cf097db8c5e2b5",
"modified": "2025-09-03T06:38:08",
"contractKey": "885eb2cc-12d6-49dd-b52a-a6634f510e17"
}
]status
number
Processing status (e.g., 100 = accepted)
key
string
Internal record key for the event
modified
string
ISO 8601 timestamp of the last modification
customerKey
string
(Optional) UUID identifying the customer
contractKey
string
(Optional) UUID identifying the contract
New Optional Topic-Based Callback Structure
The new callback format is optional and provides a more structured and extensible payload.
Each message contains a topic field to indicate the event type and its corresponding data payload.
[
{
"topic": "complianceRecord",
"complianceRecord": [
{
"status": 100,
"key": "ac0a1122ad4c440db62fe3eb602d8941",
"modified": "2025-09-03T06:36:49",
"customerKey": "92561303-8e1d-4b71-9537-d7c8d6163ccc"
}
]
}
]topic
string
Event topic (e.g., complianceRecord, identResult, etc.)
complianceRecord
array
Array of compliance record objects for this event
status
number
Processing status of the record
key
string
Internal record key
modified
string
ISO 8601 timestamp of the last modification
customerKey
string
UUID identifying the customer
Example with Additional Topics
The new model can include multiple event topics in a single callback, mirroring our WebSocket events:
[
{
"topic": "identResult",
"kyc": "WEBID",
"identId": "315065706",
"personKey": "0ac7e1d8-9e39-486b-b28d-bd8551ec90ed",
"reason": null,
"status": "success"
}
]topic
string
Event topic (identResult)
kyc
string
KYC provider name (e.g., WEBID)
identId
string
Identifier for the identification process
personKey
string
UUID for the identified person
reason
string or null
Reason for failure (if applicable)
status
string
Status of the identification (success, etc.)
Key Points
Backward compatibility: Existing REST callbacks remain unchanged and supported.
Optional enhancement: The new topic-based structure is opt-in and provides richer event data.
WebSocket parity: REST callbacks now carry the same topics and payloads as WebSocket messages.
Flexible integration: Choose between WebSockets, classic REST callbacks, or the new topic-based callbacks.
Last updated