Developer docs · v1.0.0

Sandbox & production

Integrate against the sandbox with fixed test names; go live by changing the host and the key.

The two environments

SandboxProduction
Hosthttps://sandbox.offendersearch.apphttps://api.offendersearch.app
Keys acceptedos_test_… onlyos_live_… only
DataFixed test scenarios per product (fixed names, fixed outcomes)Real records
BillingNeverPer call, per live source, per document, per monitor — extras itemised in meterEvents[], totals in the dashboard
Response shapeIdentical to production, plus "sandbox": trueProduction
Rate limitsLower; enough to integrateAccount limits; 429 with Retry-After when exceeded
Note. A test key sent to the live host, or a live key sent to the sandbox, answers 401. The prefix tells you which host a key belongs to.

Fixed test names

Each product publishes the test names the sandbox answers and what each one returns — a clear result, a possible match, a confirmed match, an incomplete source, an error. Use them to exercise every branch of your code before you spend a live call.

Switching to production

# development
export OFFENDERSEARCH_BASE=https://sandbox.offendersearch.app
export OFFENDERSEARCH_API_KEY=os_test_…

# production
export OFFENDERSEARCH_BASE=https://api.offendersearch.app
export OFFENDERSEARCH_API_KEY=os_live_…

Nothing in the request or the response parsing changes. Before the switch, run the production checklist.