First Document Verification
This guide walks you through your first end-to-end document verification using the Dataspike API:- Create an Applicant
- Create a Verification
- Submit Documents (via hosted link, Web SDK, or your own upload flow)
- Retrieve the result (via webhook or polling)
🔐 Environments: Use Sandbox while integrating. Sandboxhttps://sandboxapi.dataspike.io• Productionhttps://api.dataspike.ioEach environment has its own API key and data. Switch in Dashboard → API.
Prerequisites
- Your API key from the dashboard (Dashboard → API).
- Sandbox selected while testing (recommended).
- A server environment capable of making HTTPS requests.
1) Create an Applicant
Create a new applicant record. You can include optional metadata likeexternal_id, name, or contact details.
- cURL
- Python
2) Create a Verification
Create a verification linked to your applicant.If you don’t specify a
profile_id, the default verification profile is used. You can manage profiles via API or Dashboard.
- cURL
- Python
verification_url and short verification_url_id:
3) Submit Documents (choose one)
You have three options for collecting documents and completing the flow:A) Hosted link (fastest)
Send theverification_url to the user and wait for the webhook event when verification completes.
B) Web SDK (embedded, recommended)
Embed the widget in your app and initialize it withverification_url_id (safe to expose).
⚠️ Never expose your API key in frontend code. Create the verification on your backend and only return verification_url_id to the client.
C) Your own upload flow (advanced)
If you already have a document capture UX, you can upload files via API using the verification ID/URL ID. (See API reference for endpoints and content types.)4) Proceed (optional, for custom flows)
If you built a manual capture/upload flow, call proceed once all docs are submitted to start the verification.- cURL
- Python
The Web SDK handles this automatically; you don’t need to call proceed when using the widget.
5) Get Results (webhook or poll)
Option 1 — Webhook (recommended)
Configure webhooks in Dashboard → API → Webhooks.Enable the endpoint and use Test to send a dummy event.
Requests include an identifying header with the webhook internal ID, so you can trace deliveries and verify origin. Example webhook payload
Option 2 — Poll via API
You can query verification status directly if you prefer polling or are still setting up webhooks.- cURL
- Python
Notes & Best Practices
- Sandbox first: Use
https://sandboxapi.dataspike.ioand your Sandbox API key while integrating. - Profiles: To customize the verification flow, pass a specific
profile_idwhen creating the verification. - Security: Keep
applicantId,profileId, and API keys on your backend only. - Widget: Prefer the Web SDK for fastest integration (it also calls
proceedfor you). - Stateless checks: You can run isolated checks without storing Applicants if you need a lightweight flow.
Next Steps
- Integrate the Web SDK
- Run an AML Screening