Skip to content

Checkr Trust API (1.0)

Checkr Trust is a modern, RESTful API-driven service designed to enhance trust and safety for your platform. The Checkr Trust API uses resource-oriented URLs, supports HTTPS for authentication and requests, and returns JSON responses.

The Checkr Trust API provides access to a rich set of data, including criminal records, traffic infractions, and registry checks. Once credentialed, you can start testing locally in minutes.

Intended Use Cases

Important: Checkr Trust is not a “consumer reporting agency” or otherwise a producer of “consumer reports,” as those terms are defined in the Fair Credit Reporting Act (“FCRA”). Checkr Trust data must not be accessed, obtained, disclosed, or otherwise used to make any decisions related to credit, insurance, employment, or any other purposes described in 15 U.S.C. § 1681b of FCRA

Download OpenAPI description
Overview
Languages
Servers
Checkr Trust API
https://api.checkrtrust.com/v1

Endpoints and operations having to do with accounts and authorization. Account creation and credentialing will be done with a Checkr Trust team member.

Operations

Instant Checks provide the resulting information relevant to the requested check for a set of PII. Checks will include the Check type and results.

Operations

Criminal Checks provide criminal record check results delivered asynchronously via webhook.

Operations

County Checks provide county-level criminal background check results for a specific jurisdiction. Results are retrieved from county court records and can be cancelled while in pending status.

Operations

Driver Checks provide the resulting information relevant to the requested driver license. The response will include the driver check type and results.

Operations

Identity Verifications provide the resulting information relevant to the requested verification for a set of PII. The response will include the IDV type and results.

Operations

Profiles represent a set of Personally Identifiable Information (PII) for a person who will be checked. Profiles can be updated with the latest information for a person and be referenced to generate checks.

Operations

Regulated Adverse Action provides two separate endpoints for the FCRA adverse action flow: Pre-Adverse Action and Adverse Action.

Pre-Adverse Action notifies the subject of a pending adverse decision, delivers a copy of the report, and provides required FCRA disclosures — giving them an opportunity to dispute before a final decision is made. This step is optional but must precede a final adverse action if used.

Adverse Action finalizes the adverse decision and delivers the required notice to the subject. It may be submitted with or without a prior pre-adverse action.

Operations

Request

Sends a pre-adverse action notification to the subject identified by profile_id, giving them the opportunity to dispute the results of their background check before a final decision is made regarding their eligibility. This ensures compliance and fairness in the decision-making process.

This step is optional but must precede a final adverse action if used. Cannot be submitted after an adverse action has already been taken for this profile.

Security
get-bearer-token-using-oauth2
Bodyapplication/jsonrequired
profile_idstring(uuid)(profile_id)required

Identifier of an existing profile containing search criteria.

Example: "014f2478-fc46-46d3-9f1a-b9641e1aa080"
emailstring(email)(email_string)required

Email address of the subject to deliver the notice to.

Example: "john.smith@example.com"
suppress_noticeboolean

When true, the notice email is not sent to the subject. The candidate_report_url is still populated in the response. Defaults to false.

Default false
disqualifying_recordsArray of objects(disqualifying_record)

The criminal records that triggered the adverse decision. Optional but recommended.

Example: [{"record_id":"a1b2c3d4-0000-0000-0000-000000000001"}]
disqualifying_records[].​record_idstring(uuid)required

The UUID of the criminal record within a check result.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
curl -i -X POST \
  https://api.checkrtrust.com/v1/regulated/pre_adverse_actions \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "profile_id": "014f2478-fc46-46d3-9f1a-b9641e1aa080",
    "email": "john.smith@example.com",
    "disqualifying_records": [
      {
        "record_id": "a1b2c3d4-0000-0000-0000-000000000001"
      }
    ]
  }'

Responses

Created

Bodyapplication/json
idstring(uuid)(uuid)

A universally unique identifier (UUID) in standard format.

profile_idstring(uuid)(profile_id)

Identifier of an existing profile containing search criteria.

statusstring

The status associated with the pre-adverse action.

Example: "AdverseActionInitiated"
candidate_report_urlstring or null(uri)

URL where the subject can view their background check report and respond to the notice. Populated once the notice has been delivered.

Example: "https://applicant.checkrtrust.com/welcome?token=abc123"
disqualifying_recordsArray of objects(disqualifying_record)
disqualifying_records[].​record_idstring(uuid)required

The UUID of the criminal record within a check result.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
created_atstring(date-time)(datetime)

An ISO 8601 formatted date-time string.

sent_atstring or null(date-time)

Timestamp when the notice was delivered. Null until status is sent.

Example: "2024-06-01T14:00:00Z"
Response
application/json
{ "id": "2b8313e8-4efd-45a1-b578-952b8313e890", "profile_id": "2b8313e8-4efd-45a1-b578-952b8313e890", "status": "AdverseActionInitiated", "candidate_report_url": "https://applicant.checkrtrust.com/welcome?token=abc123", "disqualifying_records": [ {} ], "created_at": "2020-01-01T00:00:00Z", "sent_at": "2024-06-01T14:00:00Z" }

Request

Retrieves a single pre-adverse action record by ID.

Security
get-bearer-token-using-oauth2
Path
pre_adverse_action_idstring(uuid)(uuid)required

The UUID of the pre-adverse action record.

Example: 2b8313e8-4efd-45a1-b578-952b8313e890
curl -i -X GET \
  https://api.checkrtrust.com/v1/regulated/pre_adverse_actions/2b8313e8-4efd-45a1-b578-952b8313e890 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstring(uuid)(uuid)

A universally unique identifier (UUID) in standard format.

profile_idstring(uuid)(profile_id)

Identifier of an existing profile containing search criteria.

statusstring

The status associated with the pre-adverse action.

Example: "AdverseActionInitiated"
candidate_report_urlstring or null(uri)

URL where the subject can view their background check report and respond to the notice. Populated once the notice has been delivered.

Example: "https://applicant.checkrtrust.com/welcome?token=abc123"
disqualifying_recordsArray of objects(disqualifying_record)
disqualifying_records[].​record_idstring(uuid)required

The UUID of the criminal record within a check result.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
created_atstring(date-time)(datetime)

An ISO 8601 formatted date-time string.

sent_atstring or null(date-time)

Timestamp when the notice was delivered. Null until status is sent.

Example: "2024-06-01T14:00:00Z"
feedbackobject or null(pre_adverse_action_feedback)

Information provided by the subject in response to the pre-adverse action notice. Only populated after the subject has reviewed and responded to the notice.

feedback.​user_provided_answerstring

Whether the subject acknowledges the records.

Enum"none""yes""no""do_not_share"
Example: "no"
feedback.​contextsArray of objects(pre_adverse_action_record_context)

Context provided by the subject for specific records.

feedback.​contexts[].​record_idstring(uuid)

The UUID of the record the subject is providing context for.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
feedback.​contexts[].​contextstring

Additional context or explanation from the subject related to the record.

Example: "This charge was expunged in 2019."
feedback.​contexts[].​has_attachmentsboolean

Indicates whether the subject uploaded supporting attachments for this record.

Example: false
feedback.​disputesArray of objects(pre_adverse_action_dispute)

Disputes filed by the subject against specific records.

feedback.​disputes[].​record_idstring(uuid)

The UUID of the record being disputed.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
feedback.​disputes[].​issue_typestring

The nature of the dispute.

Enum"charges_not_mine""charges_incorrect""charges_should_not_show""duplicate_record""other_error"
Example: "charges_not_mine"
feedback.​disputes[].​explanationstring

The subject's explanation for the dispute.

Example: "I have never lived in that state."
feedback.​piiobject or null(pre_adverse_action_pii)

Updated personal information provided by the subject to support their response or dispute.

feedback.​pii.​first_namestring
Example: "John"
feedback.​pii.​middle_namestring
Example: "D"
feedback.​pii.​last_namestring
Example: "Smith"
feedback.​pii.​birth_monthinteger
Example: 5
feedback.​pii.​birth_dayinteger
Example: 25
feedback.​pii.​birth_yearinteger
Example: 1980
feedback.​pii.​ssnstring
Example: "XXX-XX-6789"
feedback.​pii.​addressesArray of objects
feedback.​pii.​identification_documentsArray of objects
dispute_filed_atstring or null(date-time)

Timestamp when the subject filed a dispute. Null until a dispute is filed.

Example: "2024-06-05T09:30:00Z"
dispute_resolved_atstring or null(date-time)

Timestamp when the dispute was resolved. Null until resolved.

Example: "2024-06-15T11:00:00Z"
Response
application/json
{ "id": "2b8313e8-4efd-45a1-b578-952b8313e890", "profile_id": "2b8313e8-4efd-45a1-b578-952b8313e890", "status": "AdverseActionInitiated", "candidate_report_url": "https://applicant.checkrtrust.com/welcome?token=abc123", "disqualifying_records": [ {} ], "created_at": "2020-01-01T00:00:00Z", "sent_at": "2024-06-01T14:00:00Z", "feedback": { "user_provided_answer": "no", "contexts": [], "disputes": [], "pii": {} }, "dispute_filed_at": "2024-06-05T09:30:00Z", "dispute_resolved_at": "2024-06-15T11:00:00Z" }

Request

Finalizes an adverse decision against the subject identified by profile_id. Use this when your organization is declining a subject based in whole or in part on the results of a Checkr Trust background check.

Delivers the required adverse action notice to the subject so they can seek assistance or initiate a dispute. In the event a dispute is resolved with changes to the report, Checkr Trust will notify your organization so you can reassess the subject's eligibility.

May be submitted with or without a prior pre-adverse action.

Including disqualifying_records is optional but strongly recommended — FCRA requires disclosing which records triggered the adverse decision.

Security
get-bearer-token-using-oauth2
Bodyapplication/jsonrequired
profile_idstring(uuid)(profile_id)required

Identifier of an existing profile containing search criteria.

Example: "014f2478-fc46-46d3-9f1a-b9641e1aa080"
emailstring(email)(email_string)required

Email address of the subject to deliver the notice to.

Example: "john.smith@example.com"
suppress_noticeboolean

When true, the notice email is not sent to the subject. The candidate_report_url is still populated in the response. Defaults to false.

Default false
disqualifying_recordsArray of objects(disqualifying_record)

The criminal records that triggered the adverse decision. Optional but recommended.

Example: [{"record_id":"a1b2c3d4-0000-0000-0000-000000000001"}]
disqualifying_records[].​record_idstring(uuid)required

The UUID of the criminal record within a check result.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
curl -i -X POST \
  https://api.checkrtrust.com/v1/regulated/adverse_actions \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "profile_id": "014f2478-fc46-46d3-9f1a-b9641e1aa080",
    "email": "john.smith@example.com",
    "disqualifying_records": [
      {
        "record_id": "a1b2c3d4-0000-0000-0000-000000000001"
      }
    ]
  }'

Responses

Created

Bodyapplication/json
idstring(uuid)(uuid)

A universally unique identifier (UUID) in standard format.

profile_idstring(uuid)(profile_id)

Identifier of an existing profile containing search criteria.

statusstring

The status associated with the adverse action.

Example: "AdverseActionInitiated"
candidate_report_urlstring or null(uri)

URL where the subject can view their background check report and respond to the notice. Populated once the notice has been delivered.

Example: "https://applicant.checkrtrust.com/welcome?token=abc123"
disqualifying_recordsArray of objects(disqualifying_record)
disqualifying_records[].​record_idstring(uuid)required

The UUID of the criminal record within a check result.

Example: "a1b2c3d4-0000-0000-0000-000000000001"
created_atstring(date-time)(datetime)

An ISO 8601 formatted date-time string.

sent_atstring or null(date-time)

Timestamp when the notice was delivered. Null until status is sent.

Example: "2024-06-01T14:00:00Z"
Response
application/json
{ "id": "2b8313e8-4efd-45a1-b578-952b8313e890", "profile_id": "2b8313e8-4efd-45a1-b578-952b8313e890", "status": "AdverseActionInitiated", "candidate_report_url": "https://applicant.checkrtrust.com/welcome?token=abc123", "disqualifying_records": [ {} ], "created_at": "2020-01-01T00:00:00Z", "sent_at": "2024-06-01T14:00:00Z" }

Regulated Checks provide instant criminal record check results with legal annotation. Results include checks at the record, case, and charge levels indicating compliance with applicable legal rules. A permissible purpose is required for FCRA compliance.

Operations

Regulated County Checks provide county-level or statewide criminal background check results for a specific jurisdiction. Provide a county FIPS code for a county-level search, or omit it for a statewide search. Results include checks at the record, case, and charge levels indicating compliance with applicable legal rules.

Operations

Regulated Criminal Reports provide asynchronous criminal record check results with legal annotation. Results are delivered via webhook once processing is complete. A permissible purpose is required for Fair Credit Reporting Act (FCRA) compliance.

Operations