Sandbox Mode
Test your integration without using credits
Sandbox mode lets you test your integration without consuming credits or making real verification requests.
How It Works
- Use a sandbox API key (prefix:
sk_sandbox_*) - Send requests to the same endpoints
- Receive simulated responses
- No credits are deducted
Sandbox Behaviour
The VeroID sandbox mirrors the real DVS sandpit environment. By design, the DVS sandpit returns random results (Y, N, D, or S) for most requests — this reflects how the real sandpit works. Use the family name triggers below to get deterministic results during development.
S (system error) in the sandbox, regardless of any trigger value used. This matches real DVS sandpit behaviour where these issuers are unavailable in the test environment: passport, birth_certificate, death_certificate, marriage_certificate, change_of_name_certificate, citizenship.Deterministic Triggers
Use these exact familyName values to force a specific DVS response code in the sandbox. Any other family name returns a random result (Y, N, D, or S).
| familyName | Response Code | Status | Description |
|---|---|---|---|
dvsmatch | Y | success | Data matches — all details match the issuer record |
dvsnomatch | N | failed | No match — data does not match the issuer record |
dvsdata | D | failed | Data error at the issuer (e.g. record not held at source) |
dvssystem | S | error | System error at the issuer or DVS Hub — safe to retry |
Example Requests
Driver's Licence — Guaranteed Match (Y)
curl -X POST https://api.veroid.com.au/v1/verify \
-H "Content-Type: application/json" \
-H "X-API-Key: sk_sandbox_your_key" \
-d '{
"documentType": "drivers_licence",
"givenName": "John",
"familyName": "dvsmatch",
"dateOfBirth": "1990-01-15",
"licenceNumber": "1234567",
"stateOfIssue": "NSW",
"cardNumber": "1234567890",
"consentAttestedAt": "2026-05-19T10:30:00Z",
"consentVersion": "1.0"
}'Medicare Card
Medicare uses fullName (as printed on the card) instead of givenName/familyName. Because the trigger is matched against the name field, Medicare always returns a random result in the sandbox — the deterministic triggers only work for document types that have a familyName field.
{
"documentType": "medicare",
"fullName": "JOHN SMITH",
"medicareNumber": "2123456701",
"individualReferenceNumber": 1,
"cardColour": "G",
"expiryDate": "2027-11",
"consentAttestedAt": "2026-05-19T10:30:00Z",
"consentVersion": "1.0"
}Sandbox vs Live
| Feature | Sandbox | Live |
|---|---|---|
| API Key Prefix | sk_sandbox_* | sk_live_* |
| Credits Used | No | Yes (1 per verification) |
| Real Verification | No | Yes |
| Response Time | ~200ms | ~500-2000ms |