Create a new regulated driver score: a People Data Graph identity/record search, a DLSC (driver license status check) signal, and a driver risk score, combined into one response. results is an array of matched identities (profiles) -- each with a conservative identity summary, its own nested criminal records, discovered license history, and driver score -- so you can review which identity matched before drilling into its records or ordering additional motor vehicle reports against it.
Available on Test and Pilot accounts only. Live accounts receive 403 Forbidden; see Environments for account stages.
Results can arrive in stages. Matched identities (and any motor vehicle records already on file for them) are written synchronously and are readable on the 201 response. driver_license_status and each matched identity's driver_score may already be resolved at that point, or may still be pending if the driver license check needs to complete asynchronously. When a webhook is configured, a regulated_driver_score.completed event notifies you once the run completes; a later customer-ordered motor vehicle record fires regulated_driver_score.updated instead, since the run cannot un-complete. See Webhooks.
Beta: This product is in beta and not yet generally available. Request/response shapes may change, and availability may be limited to certain accounts or account stages -- check with your Checkr Account Executive.
Always required: dob, driver_license_number, and driver_license_state identify the license being checked, and are required whether or not profile_id is supplied. ssn and zip_code are accepted the same way, for the states that need them.
Profile vs inline name/address fields: Beyond those, submit either a profile_id or inline name/address fields (full_name, first_name, middle_name, last_name, address, addresses)—not both. Combining profile_id with any of those returns 400 Bad Request (validation_error: "request must only contain a profile_id, or other fields"). Empty address: {} or addresses: [] count as supplied address parameters and cannot be paired with profile_id.
Controls whether profile.ssn is returned in full or masked as XXX-XX-{last4}, when the submitted profile is embedded via include[]=profile. Has no effect on the response otherwise -- unlike driver check endpoints, this product never echoes the SSN outside the nested profile.
When omitted, the account's product configuration unmask_ssn setting determines whether SSNs are unmasked. When explicitly set to true or false, the query parameter overrides the product configuration. Defaults to masked when the product configuration has no unmask_ssn setting.
The request body for creating a new regulated driver score.
Use either inline name/address PII or profile_id—not both. dob, driver_license_number, driver_license_state, and permissible_purpose are always required, either way. See the POST /regulated/driver_scores operation for details.
Create a new regulated driver score using inline PII.
Set to true to declare that the subject does not have a middle name.
Mutually exclusive with a non-empty middle_name: the API rejects requests that supply both a present middle_name and no_middle_name: true. An empty or null middle_name with no_middle_name: true is allowed. A non-empty middle_name may be supplied with no_middle_name: false.
Allowed with full_name: full_name and no_middle_name may be sent together. That is not the same as supplying middle_name — when the flag is true, parsing stores only a first name and surname, and any token the parser would have treated as a middle name is folded into the last name (for example full_name: "John Quincy Doe" becomes first name John and last name Quincy Doe, with middle_name empty).
Setting this to true clears a middle name already stored on a referenced profile. Supplying a non-empty middle_name without this field sets no_middle_name to false. When true, products that perform criminal-record identity matching exclude records with a middle name, narrowing matches to subjects with no middle name on record. When supplied with profile_id, the value is persisted to the referenced profile (same account-scoped profile the check is created against). Leave as false (or omit) if unsure.
first name (given name). Do not include prefixes, like "Ms." or "Dr."
Either send the full name, or first and last names, but not both. If you send a full name, Checkr will attempt to parse it into first name, middle name(s), and last name. With no_middle_name: true, any parsed middle token is folded into the last name instead of being stored as a middle name.
Date of birth. Required.
Not required for most states. A small set of DLSC states (currently WV and TX) require an SSN -- without it, driver_license_status.status reports missing_input for those states.
Required only for Rhode Island DLSC eligibility; without it, driver_license_status.status reports missing_input for RI.
A phone number in the form +[country code][number including area code]. (E.164 format). Please note that U.S. phone numbers have a country code of "1" so all U.S. phone numbers ought to start with "+1". A U.S. number supplied in national format (for example "(415) 555-0123") is normalized to E.164 on write. If the value cannot be parsed as a valid phone number, the API returns a 400 with a validation_error.
The driver license number to run a DLSC and criminal/motor-vehicle search against. Required.
State that issued the driver license. Required.
The permissible purpose for requesting this criminal record check, as required by the Fair Credit Reporting Act (FCRA). This must be provided for all regulated instant criminal checks to ensure compliance with federal regulations.
A US postal address supplied in a request (for example on check create or profile create/update). When this object is present, street, city, state, and zip_code are required.
Request only. Array of addresses supplied by the caller. Index 0 is the primary address. When the property is provided, at least one address entry is required. Maximum 30 addresses. For check requests, records may be matched against any address in the array. The singular address field remains supported for backwards compatibility and maps to the primary address.
A reference identifier for linking related records. Limited to 64 alphanumeric characters, underscores, and hyphens.
Identifier of an existing ruleset containing filtering rules. To set up account rulesets, please reach out to your Checkr Account Executive or Customer Success representative to set up the configuration.
A list of ruleset identifiers to apply. When both ruleset_id and ruleset_ids are provided, they are merged and de-duplicated before applying.
Maximum number of matched profiles to return in results, ranked by identity match strength (best first). Send 1 when you only want the single best identity match; raise it to review several candidate identities. This limits profiles only -- each returned profile still carries all of its records.
Overrides, for this request only, the minimum identity-match score a matched profile must meet to be included in results. Profiles scoring below this value are excluded from the response.
When omitted, the account's configured minimum score is used. Send 0 to disable score-based filtering entirely and review every matched profile our identity provider returned, regardless of score.
- Checkr Trust APIhttps://api.checkrtrust.com/v1/regulated/driver_scores
curl -i -X POST \
'https://api.checkrtrust.com/v1/regulated/driver_scores?include%5B%5D=profile&unmask_ssn=false' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Talia",
"last_name": "Brennan",
"dob": "19920714",
"driver_license_number": "DS0001",
"driver_license_state": "FL",
"permissible_purpose": "Insurance Underwriting"
}'Created. When the product has usage limits configured, the response includes X-RateLimit-Limit, X-RateLimit-Remaining, and optionally X-RateLimit-Expires.
A universally unique identifier (UUID) in standard format.
An ISO 8601 formatted date-time string.
An ISO 8601 formatted date-time string.
A reference identifier for linking related records. Limited to 64 alphanumeric characters, underscores, and hyphens.
When results last changed -- moves again when a later customer-ordered motor vehicle record lands on an already-complete run (see the regulated_driver_score.updated webhook).
Which driver_score test scenario (see GET /test_scenarios) matched this run, keyed by driver_license_number. Present only for test-stage accounts.
A single DLSC (driver license status check), run once per request against the driver license the customer submitted -- a fact about the request, not about any one matched identity. Reported as pending until the check resolves. The public commitment for this block is exactly status and validity; no per-license detail (address, class, restrictions) is exposed here.
{ "status": "included", "validity": "VALID" }
Array of matched identities. Populated as soon as the People Data Graph search completes -- readable on the 201 response, before driver_license_status resolves -- because this product's premise is that results display as they show up rather than all at once.
{ "id": "b3e1a2c4-6f8d-4a1b-9c2e-7d5f3a8b1c90", "created_at": "2026-09-15T14:02:00Z", "completed_at": "2026-09-15T14:02:03Z", "check_type": "regulated_driver_score", "status": "complete", "results_updated_at": "2026-09-15T14:02:03Z", "profile_id": "014f2478-fc46-46d3-9f1a-b9641e1aa080", "driver_license_status": { "status": "included", "validity": "VALID" }, "results": [ { … } ] }