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:

ResourceURL
Evaluation endpointhttps://riskos.sandbox.socure.com/api/evaluation
Download documentshttps://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.

NameTransaction TokenDecision
Laura SmithSOC23067038Reject — Biometric/Liveness
Joan JacksonSOC86753099Reject — Layout/Expired
Luis MyersSOC12031182Reject — Material/Data Match
Thomas IngramSOC75235600Resubmit — Headshot
Charles FischerSOC01149403Accept
Brett WhyteSOC32671365Accept
James GreenSOC29244496Review — Dates Invalid
Trinidad VargasSOC17259150Resubmit — 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

SymptomCauseResolution
Always AcceptNo transaction_token was passed.Expected. Add a token from the table above to simulate other outcomes.
401 / 403Wrong key or base URL.Use your Sandbox API key and the Sandbox base URL.
400 "No Documents Found" on downloadMissing image step.Ensure the Socure Image Request enrichment exists and a WAIT (10s) step precedes it. Confirm the correct eval_id.
Workflow never completesMissing 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:

Evaluation creation returns decision: "REVIEW", status: "ON_HOLD", eval_status: "evaluation_paused", and a SocureDocRequest enrichment.
Your backend extracts and stores the eval_id and docvTransactionToken.
Verification launches (SDK or Hosted Flows) and presents the correct flow.
Capture completes and your endpoint receives case_notes_added progress events.
Your endpoint receives the evaluation_completed event with a final decision.
Your application routes correctly on ACCEPT, REJECT, and REVIEW decisions.

Related