Instead of polling the API, you can register an endpoint that automatically receives updates for verification results, AML matches, and other key events.
⚡ Use case: Webhooks are essential for production integrations — they allow your systems to react immediately when verifications complete, AML matches occur, or applicants change status.
1. Understanding Webhooks
A webhook is an HTTPPOST request sent by Dataspike to your configured endpoint whenever a specific event occurs.
Example flow:
- You register a webhook URL (e.g.
https://api.yourdomain.com/dataspike/webhook). - A verification completes on Dataspike.
- Dataspike sends a signed POST request to your URL with the verification data.
2. Registering Webhook URLs
You can manage webhooks from your Dashboard → API → Webhooks tab. There, you can:- Add one or more webhook endpoints.
- Assign events (e.g.
AML_SCREENINGand etc.). - Test and validate your configuration before going live.
| Environment | Base URL | Description |
|---|---|---|
| Sandbox | https://sandboxapi.dataspike.io | For integration testing with simulated data. |
| Production | https://api.dataspike.io | For live verification and AML events. |
💡 You can register multiple webhooks for different services (e.g. one for AML alerts, one for verifications).
3. Verifying Webhook Signatures
Dataspike signs every webhook request with HMAC-SHA256 so you can verify it genuinely came from us and the payload has not been tampered with.Signature header
Each request includes:| Header | Description |
|---|---|
X-Webhook-Signature | Signature in the format t={unix_timestamp},v1={hex_digest} |
t— Unix timestamp (seconds, UTC) of when the request was signedv1— HMAC-SHA256 digest of the signed payload, hex-encoded
How the signature is computed
Signed payload:"{t}.{raw_request_body}"Concatenate the timestamp string, a literal
., then the raw JSON body bytes exactly as received — do not re-serialize or pretty-print.
Key: hex-decode the secret after stripping the whsec_ prefix.
Your signing secret
When you create a webhook, the API response includeshmac_signing_secret:
hmac_signing_secret. Update your application with the new value before discarding the old one to avoid dropping events.
Verification examples
4. Handling Webhook Events
Your endpoint should:- Accept HTTP POST requests with a
Content-Type: application/jsonheader. - Parse the incoming payload.
- Validate the event type and handle it accordingly.
- Respond with HTTP
200 OKto acknowledge receipt.
5. Accessing Webhook History
Dataspike keeps a complete history of all webhook deliveries. From the Dashboard → API → Webhooks section, you can:- View successful and failed webhook attempts.
- Inspect delivery payloads and response codes.
- Replay failed deliveries manually.
6. Testing and Troubleshooting
Before going live:- Test your webhook endpoint in the Sandbox environment.
- Use the “Send Test” button in the dashboard to ensure it works.
- Check logs in your app for failed requests or response timeouts.
- Confirm you return an HTTP
200within a few seconds of receipt.
- Verify your server accepts HTTPS POST requests.
- Ensure your endpoint is reachable from public networks.
- Review Dashboard → API → Webhooks → History for error details.
Summary
Once configured, webhooks let you:- Receive instant updates on verification, AML, and KYT events.
- Automate user state updates or trigger downstream processes.
- Monitor and replay webhook events from the dashboard.
Next steps
- First Document Verification — create applicants and run your first check.
- Web SDK Overview — embed document verification into your product.
- AML Screening — automate sanctions and watchlist checks.