DocV Sandbox Testing
Validate your Predictive DocV integration in Sandbox using transaction tokens to simulate decisions, then run the verification checklist before going live.
Before you go live, validate your integration end to end in Sandbox. Sandbox lets you simulate specific DocV decisions and reason codes without using production data, so you can confirm each step of your integration behaves correctly.
How Sandbox works:
- Sandbox returns predefined DocV results; it does not run full production models.
- If you do not pass a
transaction_token, DocV returns Accept with static fields and reason codes, regardless of the images captured.- To retrieve images in Sandbox, include the Socure Image Request enrichment and add a WAIT (10 seconds) transformation step before it. Without the wait, downloads often return
400 "No Documents Found".
Testing real government-issued IDs:
Sandbox doesn't verify real documents — it returns predefined results regardless of the images you submit. To verify real IDs with full production models, use the Production environment. See the Go-Live Checklist.
Sandbox environment
Point your integration at the Sandbox base URL and use a Sandbox API key:
| Resource | URL |
|---|---|
| Evaluation endpoint | https://riskos.sandbox.socure.com/api/evaluation |
| Download documents | https://riskos.sandbox.socure.com/api/evaluation/{eval_id}/documents |
For Sandbox testing, confirm your workflow steps are in this order:
Input → Document Request → Document Verification → WAIT (10s) → Image Request → Decision Logic → Decision
The WAIT (10s) step is required in Sandbox to ensure images are available for download.
Supported test scenarios
Pass a transaction_token in data.individual.docv.transaction_token to force a specific decision. If you omit it, DocV always returns Accept.
| Name | Transaction Token | Decision |
|---|---|---|
| Laura Smith | SOC23067038 | Reject — Biometric/Liveness |
| Joan Jackson | SOC86753099 | Reject — Layout/Expired |
| Luis Myers | SOC12031182 | Reject — Material/Data Match |
| Thomas Ingram | SOC75235600 | Resubmit — Headshot |
| Charles Fischer | SOC01149403 | Accept |
| Brett Whyte | SOC32671365 | Accept |
| James Green | SOC29244496 | Review — Dates Invalid |
| Trinidad Vargas | SOC17259150 | Resubmit — Input Correlation |
Each token also returns a predefined set of reason codes. For the codes associated with each token and their meanings, open the Reason Codes page in the RiskOS™ Dashboard.
curl --request POST 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Authorization: Bearer YOUR_SANDBOX_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "sandbox-test-001",
"timestamp": "2025-07-22T18:04:56Z",
"workflow": "trust_and_safety",
"data": {
"individual": {
"given_name": "Test",
"family_name": "User",
"date_of_birth": "1990-01-01",
"phone_number": "+15555550123",
"docv": {
"transaction_token": "SOC75235600",
"config": { "send_message": true, "language": "en-us" }
}
}
}
}'Need more scenarios?
Your Socure team can add custom Sandbox tokens for edge cases. Contact your Solutions Consultant team.
Expected outcomes
| Symptom | Cause | Resolution |
|---|---|---|
| Always Accept | No transaction_token was passed. | Expected. Add a token from the table above to simulate other outcomes. |
| 401 / 403 | Wrong key or base URL. | Use your Sandbox API key and the Sandbox base URL. |
| 400 "No Documents Found" on download | Missing image step. | Ensure the Socure Image Request enrichment exists and a WAIT (10s) step precedes it. Confirm the correct eval_id. |
| Workflow never completes | Missing DocV steps or error handling. | Verify DocV steps are present and that error handling returns resubmit or cancel. |
Verification checklist
Confirm each step of your integration in Sandbox:
decision: "REVIEW", status: "ON_HOLD", eval_status: "evaluation_paused", and a SocureDocRequest enrichment.eval_id and docvTransactionToken.case_notes_added progress events.evaluation_completed event with a final decision.ACCEPT, REJECT, and REVIEW decisions.