Skip to main content
When deepidv sends a webhook event to your endpoint, the request body contains an event object with the event type and the associated data.

Event object structure

Every webhook event follows this structure:

Event types

Headers

Every webhook request includes the following headers:

The data object

The data field contains the full session object. This is the same structure returned by the Retrieve Session API endpoint. The key fields are outlined below.

Session fields

analysis_data object

Included when the session has been processed. Contains the full verification analysis:
For a full breakdown of all nested fields within analysis_data and meta_data, see the Retrieve Session API reference.

Example payloads

session.created

Sent when a new session is created. At this stage, the session has no analysis data or uploads.

session.status.submitted

Sent when an applicant completes and submits their verification session. The analysis_data field contains the full verification results.

session.status.verified

Sent when a session is marked as verified. The payload structure is the same as session.status.submitted, with status updated to VERIFIED.

session.status.rejected

Sent when a session is marked as rejected. The payload structure is the same as session.status.submitted, with status updated to REJECTED.

session.status.failed

Sent when a session is auto-failed by the system after reaching the workflow’s configured maximum number of failed attempts. The payload structure is the same as session.status.submitted, with status set to FAILED, session_progress set to COMPLETED, and meta_data.failureData populated with the recorded attempts.
See failureData for the full field reference. reason is intentionally a loose string — new values may be added over time, so consumers should default-handle unknown values.

What to do with each event