Authenticate by passing your Checkr API key as the Basic Auth username with an empty password on all requests to https://api.checkr.com/v1
Create a candidate record by sending POST /v1/candidates with first_name, last_name, and email; store the returned id as the candidate_id for subsequent calls
Order the background check by sending POST /v1/invitations with the candidate_id and the package slug (e.g., 'driver_pro', 'tasker_standard') to send the candidate a link to provide their information and consent
Register a webhook endpoint in the Checkr Dashboard under Developer Settings; subscribe to events such as report.created, report.completed, and invitation.completed
On each incoming webhook POST, verify authenticity by computing HMAC-SHA256 of the raw request body using your webhook secret key and comparing it to the X-Checkr-Signature header value
When the report.completed event arrives, read the status (complete), result (clear or consider), and assessment fields from the payload; fetch the full report via GET /v1/reports/{reportId} if additional detail is needed
Known gotchas
Checkr operates in a staging environment (api.checkr-staging.com) separate from production; use staging for all testing — orders placed in production trigger real background checks and incur charges
Package slugs are account-specific and must be configured in the Checkr Dashboard before they can be referenced in API calls; using an unrecognized slug returns a 422 error
Consumer-facing adjudication workflows (adverse action notices) are legally required in many jurisdictions and are not automatic; build the adverse action flow explicitly or use Checkr's Adjudication API to remain compliant
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp