Webhooks allow you to receive real-time notifications when events happen in your deepidv account. Instead of polling the API, deepidv pushes event data to your application’s webhook endpoint as a JSON payload via HTTP POST. Receiving webhook events helps you respond to asynchronous events, such as when a verification session is submitted, verified, or rejected.Documentation Index
Fetch the complete documentation index at: https://sc-docs.deepidv.com/llms.txt
Use this file to discover all available pages before exploring further.
Get started
To start receiving webhook events in your app:Create a webhook endpoint
Set up an HTTPS endpoint on your server to receive POST requests from deepidv.
Register your endpoint
Add your webhook endpoint URL in the deepidv Admin Console under Integrations > Webhooks.
Register your endpoint
You can configure webhooks in the Admin Console under Integrations > Webhooks. When creating a webhook, you’ll provide:| Field | Required | Description |
|---|---|---|
| Name | Yes | A label to identify this webhook |
| Destination URL | Yes | The HTTPS endpoint where events will be sent. Must be publicly accessible |
| Events | Yes | One or more event types to subscribe to |
| Description | No | Optional description for your reference |
whsec_). Store this secret securely — you’ll use it to verify that incoming webhook requests are from deepidv.
Event types
deepidv sends the following event types:| Event | Description |
|---|---|
session.created | A new verification session has been created |
session.status.submitted | An applicant has completed and submitted their verification session |
session.status.verified | A verification session has been marked as verified |
session.status.rejected | A verification session has been marked as rejected |
Create a handler
Set up an HTTP endpoint that accepts POST requests with a JSON body. Your handler should:- Parse the JSON request body containing the event object
- Verify the
deepidv-signatureheader using your signing secret - Return a
200status code as quickly as possible - Process the event asynchronously (after responding)
deepidv considers any
2xx response a successful delivery. If your endpoint returns a non-2xx status or times out (after 10 seconds), deepidv will retry the delivery.Example endpoint
Verify signatures
Every webhook request includes adeepidv-signature header containing your signing secret. Compare this value against the signing secret shown when you created the webhook to verify the request is from deepidv.
Test your webhook
You can send a test event from the Admin Console to verify your endpoint is working correctly:- Go to Integrations > Webhooks in the Admin Console
- Select your webhook
- Click Send Test Event
- Choose the event type to test
- Check your endpoint for the received event
Retry behavior
If your endpoint doesn’t return a2xx response or doesn’t respond within 10 seconds, deepidv will retry the delivery. Events are retried with exponential backoff.
| Scenario | Behavior |
|---|---|
2xx response | Delivered successfully — no retry |
Non-2xx response | Retried with exponential backoff |
| Timeout (10 seconds) | Logged as HTTP 408 — retried |
| Endpoint unreachable | Retried with exponential backoff |
Best practices
Return a 200 response quickly
Your endpoint should return a200 response before performing any complex logic. Defer processing to a background job or queue to avoid timeouts.
