OffenderSearch
For developers · Postman · free sandbox

Background check API Postman collection & sandbox

Every public endpoint of the background check API — registry search, criminal records, monitoring, the map, FCRA orders — as a Postman collection with bodies the sandbox answers. Import, add a test key, send.

The first request, and what the sandbox returns One name, one known answer.

The collection’s first search is pre-filled with a name the sandbox matches, so a 200 with one DOB-verified record tells you the key, the environment and the network are all right. Every other scenario and its expected fields are on the sandbox page.

Sex Offender Search → Synchronous search
POST {{base_url}}/v1/search
X-API-Key: {{api_key}}
Content-Type: application/json

{ "query": { "firstName": "Exact", "lastName": "Match", "dob": "1980-01-01" } }

→ 200  status "complete", one record, matchState "dob_match", registrationState "OH"
sandbox.postman_environment.json (trimmed)
{
  "name": "OffenderSearch sandbox",
  "values": [
    { "key": "base_url", "value": "https://sandbox.offendersearch.app", "type": "default", "enabled": true },
    { "key": "api_key",  "value": "os_test_...", "type": "secret", "enabled": true }
  ]
}
Tests tab
pm.test("200 OK", () => pm.response.to.have.status(200));
const body = pm.response.json();
pm.test("complete", () => pm.expect(body.status).to.eql("complete"));
pm.test("one DOB-verified match", () => pm.expect(body.records[0].matchState).to.eql("dob_match"));
Import

Import the Postman collection and sandbox environment Four steps, no card.

Two files, generated from the published OpenAPI document. Import both, add a test key, send.

  1. 01

    Import the files

    Postman → Import → drop the collection and the sandbox environment, or paste their URLs.

  2. 02

    Create a test key

    Dashboard → API keys → Create test key. It begins os_test_, works only on the sandbox and is never billed.

  3. 03

    Set api_key

    Select the OffenderSearch sandbox environment and paste the key into api_key. It is a secret-type variable: masked, and left out of exports.

  4. 04

    Send

    Open Sex Offender Search → Synchronous search and press Send. The body is already a name the sandbox matches.

When the collection is published to Postman’s public API network, the workspace link is added here. The files above are the same collection.

Contents

What is in the background check API Postman collection Eight folders, every public endpoint.

Every public endpoint of the API, in eight folders, with the request descriptions carried over from the OpenAPI document.

FolderRequestsDocumentation
Sex Offender SearchSynchronous and async search, batch, records, verification reports, proof and live evidence documents/docs/sex-offender
Criminal RecordsCached and live search, batch, records, the coverage catalogue, resolve/docs/criminal
MonitoringCreate, list, cancel a person or location monitor; its alert history; rotate its webhook secret/docs/monitoring
Map APIViewport, drawn areas, routes, the people behind a pin, the record behind a marker, plan status/docs/map
ClearancesRecord and retrieve the verdict that a returned person is, or is not, the subject/docs/clearances
FCRA Partner APIOrders, end users, search plans, evidence, disputes, hosted consent, adverse action, continuous checks, webhooks, events/docs/fcra
FCRA consumer portalThe consumer’s own view of a report and their disputes, through a 30-minute session/docs/fcra/consumer-portal
Account & supportThe keyless coverage catalogue and the support inbox/docs/platform/operations

Request bodies for the search, batch, monitor and FCRA order endpoints are the sandbox’s own test scenarios, so each one can be sent as-is. Other bodies are derived from the request schema.

Environment

Postman environment variables: sandbox and production Two values; the selector is the switch.

Every request URL begins with {{base_url}} and every protected request sends {{api_key}} as X-API-Key.

VariableSandboxProduction
base_urlhttps://sandbox.offendersearch.apphttps://api.offendersearch.app
api_keyan os_test_… keyan os_live_… key
consumer_portal_tokenfrom POST /v1/consumer/portal/sessionsame

Duplicate the environment, name it production, change the two values, and the selector becomes a host switch. A key on the wrong host answers 401; the prefix tells you which host a key belongs to. Key lifecycle: API token example.

Tests

Turn the collection into a smoke test Fixed names, fixed outcomes.

The sandbox answers fixed names with fixed outcomes, so a Tests script can assert exact values and the Collection Runner becomes a one-click check of your key, your network and the API.

  • Exact Match, born 1980-01-01 → one DOB-verified sex offender record (OH).
  • Felony Record, born 1975-06-15 → one felony court case in the criminal search.
  • Any name not on the sandbox list → complete with zero records, the branch every integration must handle first.
  • Create a monitor → 201 and an immediate alert, signed the way production signs it; verify it with the webhook tester.

The walkthrough, with chaining and publishing, is on Postman API documentation.

Beyond Postman

Postman, curl or an SDK: pick by what you are doing Same request, three tools.

PostmancurlSDK
Best forExploring responses, sharing a reproducible request, documentationScripts, CI, a bug reportThe code you ship: types, retries, pagination
AuthCollection-level, from a variableA header flagReads OFFENDERSEARCH_API_KEY, picks the host from the prefix
Get itThis collectionEvery example on this site has a curl tabPython and Node SDKs

Postman collection FAQ

Is there a Postman collection for the background check API?
Yes — the collection on this page covers every public endpoint: sex offender registry search across 58 US registries, criminal records, monitoring, the Map API, clearances and the FCRA Partner API. It is generated from the published OpenAPI document, so it cannot drift from the API.
Do I need an account to use it?
To send requests, yes: a free account gives you a sandbox test key (never billed) and 25 free live calls, no card. Importing the files needs nothing.
What does a request cost from Postman?
Nothing on the sandbox. On production with a live key, each call is billed at the published rate — $0.15 a call — after the 25 free calls.
Why do I get 401?
The environment is not selected, api_key is empty, or the key prefix does not match base_url. os_test_ keys work only on the sandbox host and os_live_ keys only on the live host.
Can I generate my own collection instead?
Import the OpenAPI document at /openapi.yaml into Postman and it builds one with every path. This collection adds the sandbox scenario bodies, the header and the environment on top of that.
Is there a public Postman workspace?
The collection and environment are published as files here. When a public workspace on Postman’s API network is live, its link is added to this page.

Send your first request in two minutes

Import the collection, create a free test key, press Send. The sandbox is never billed; 25 live calls are free.