Skip to content

Create regulated check

Request

Create a new regulated criminal background check with legal annotation.

This endpoint performs an instant criminal check and applies legal rules based on the provided jurisdiction context. Results include legal annotation checks at the record, case, and charge levels indicating whether items should be included, investigated, or removed based on applicable regulations.

A permissible purpose must be provided to comply with FCRA requirements.

Profile vs inline PII: Submit either a profile_id or inline PII—not both. Regulated instant checks accept addresses[] only (not the singular address field). Combining profile_id with inline PII or addresses returns 400 Bad Request. Singular address is not supported—use addresses[].

Security
get-bearer-token-using-oauth2
Query
include[]Array of strings

Request optional response fields. Repeat the parameter for multiple values.

Items Enum ValueDescription
profile

Embeds the full profile object in place of profile_id.

rulesets_applied

Embeds the rulesets applied when filtering this check's results.

review

Embeds the regulated check review object (accept/decline/dispute status).

Examples:
Single value
include[]=["profile"]
Multiple values
include[]=["profile","review"]
Bodyapplication/jsonrequired

The request body for creating a new regulated check with legal annotation.

Use either inline PII (addresses[] only) or profile_id—not both. See the POST /regulated/checks operation for details.

One of:

Request to create a regulated check using personally identifiable information (PII).

middle_namestring

Middle name(s)

Example:"Mary Louise"
no_middle_nameboolean(no_middle_name)

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.

Default:false
check_typestring(regulated_check_type)

The type of regulated check. Currently only instant_criminal_regulated is supported.

Default:"instant_criminal_regulated"
Value:"instant_criminal_regulated"
first_namestring

First name (given name). Do not include prefixes like "Ms." or "Dr."

Example:"Jane"
last_namestring

Last name (surname). Do not include suffixes like "Jr." or "2nd".

Example:"Smith"
full_namestring

Either send the full name, or first, middle (optional), and last names, but not both. If you send a full name, we 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.

Example:"Smith, Jane Mary Louise"
dobstring, = 8 characters(date_string_complete)\d{8}required

Date of birth in the form YYYYMMDD. Must be a valid date and cannot be in the future. If invalid, the API returns a 400 with a validation_error pointing to /dob.

Example:"19950401"
ssnstring(ssn_string)^\d{3}-?\d{2}-?\d{4}$

Social Security Number used for additional identity verification and record matching

Example:"123-45-6789"
phonestring(phone_string)^\+[1-9]\d{1,14}$

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.

Example:"+14155552671"
addressesArray of objects, [ 1 .. 30 ] items(addresses)

An array of addresses to search for criminal records. Index 0 is the primary address.

On inline create, addresses are saved to the new profile.

Example:
[ { "street": "456 Oak Ave", "city": "Los Angeles", "state": "CA", "zip_code": "90001" } ]
filter_contextobject(filter_context)required

Context information used to determine which legal rules apply when filtering check results. Jurisdictions help identify applicable state and local regulations that may affect which records can be reported.

Example:
{ "candidate_jurisdiction": { "state": "CA" }, "decider_jurisdiction": { "state": "NY" } }
permissible_purposestring(permissible_purpose)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.

Enum:"Court Order""Consumer Instruction""Credit Transaction""Employment""Insurance Underwriting""Benefit Eligibility""Credit Risk""Consumer Initiated""Account Review""Govt Chargecard"
Example:"Employment"
ruleset_idstring, (uuid)(ruleset_id)

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.

Example:"d16e88e6-aacc-4c42-9cd2-58a93dc9d8af"
ruleset_idsArray of strings(ruleset_ids)

A list of ruleset identifiers to apply. When both ruleset_id and ruleset_ids are provided, they are merged and de-duplicated before applying.

reference_idstring(reference_id)^[a-zA-Z0-9_-]{1,64}$

A reference identifier for linking related records. Limited to 64 alphanumeric characters, underscores, and hyphens.

Example:"ref-123"
source_statesArray of strings(source_states)

An array of state abbreviations. Only records which come from a given source state are included in the results. Note that some sources are not tagged as coming from a single source state, so records from those sources will always be included. Sex offender registry records and most watchlist records are not tagged with a source state, and so will appear in the results regardless of this flag.

curl -i -X POST \
  'https://api.checkrtrust.com/v1/regulated/checks?include%5B%5D=profile' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "first_name": "JOHN",
    "last_name": "SMITH",
    "dob": "19900101",
    "ssn": "123-45-6789",
    "phone": "+14155552671",
    "addresses": [
      {
        "street": "456 Oak Ave",
        "city": "Los Angeles",
        "state": "CA",
        "zip_code": "90001"
      }
    ],
    "filter_context": {
      "candidate_jurisdiction": {
        "state": "CA"
      },
      "decider_jurisdiction": {
        "state": "NY"
      }
    },
    "permissible_purpose": "Employment"
  }'

Responses

Created. When the product has usage limits configured, the response includes X-RateLimit-Limit, X-RateLimit-Remaining, and optionally X-RateLimit-Expires.

Bodyapplication/json
One of:

A regulated check response with legal annotation checks included in results.

idstring, (uuid)(uuid)

A universally unique identifier (UUID) in standard format.

Example:"2b8313e8-4efd-45a1-b578-952b8313e890"
created_atstring, (date-time)(datetime)

An ISO 8601 formatted date-time string.

Example:"2020-01-01T00:00:00Z"
completed_atstring, (date-time)(datetime)

An ISO 8601 formatted date-time string.

Example:"2020-01-01T00:00:00Z"
resultsArray of objects(regulated_record)

The fully-disclosed records found for this check. When there are no results found, this will be an empty array. A record excluded by legal rules never appears here -- see excluded_records.

excluded_recordsArray of objects(regulated_record_stripped)

Records excluded by legal rules, reduced to an identifier, classification, jurisdiction, and per-charge offense classification. Present only when the account's excluded_record_disclosure setting is stripped; omitted (or empty) otherwise, and always separate from results. Also omitted when include[]=results_found is requested, same as results itself.

check_typestring(regulated_check_type)

The type of regulated check. Currently only instant_criminal_regulated is supported.

Default:"instant_criminal_regulated"
Value:"instant_criminal_regulated"
reference_idstring(reference_id)^[a-zA-Z0-9_-]{1,64}$

A reference identifier for linking related records. Limited to 64 alphanumeric characters, underscores, and hyphens.

Example:"ref-123"
run_notesArray of strings

An unstructured array of human-readable notes about this particular check. May contain notes about how input was parsed or other information about results.

results_foundboolean

Present only when include[]=results_found is requested; omitted otherwise. When present, the results array is omitted.

rulesets_appliedArray of objects(ruleset_applied)

Present only when include[]=rulesets_applied is requested; omitted otherwise.

reviewcheck_review (object) or null
One of:

Customer accept/decline/dispute state for a regulated check.

adverse_action_enabledboolean

Present only when include[]=review is requested; omitted otherwise. Indicates whether adverse-action workflow is enabled for this product.

profile_idstring, (uuid)(profile_id)

Identifier of an existing profile containing search criteria.

Example:"2b8313e8-4efd-45a1-b578-952b8313e890"
Response
{ "profile_id": "2b8313e8-4efd-45a1-b578-952b8313e890" }