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. For additional resources, please refer to our resource center. This documentation aims to help you quickly utilize Checkr Trust’s services, offering context and technical guidance for working with the API.
Important: Any information accessed through Checkr Trust is not a "consumer report" under the Fair Credit Reporting Act (FCRA). Therefore, you must not use this information to determine eligibility for credit, insurance, employment, or any other purpose regulated under the FCRA. You may use this service only in accordance with your main service agreement with us and applicable law (including, for certain products, the Gramm-Leach-Bliley Act). Your access may be suspended or terminated if you violate or misuse this service.
The following sections will guide you through the steps necessary to start running checks with the Checkr Trust API:
Before you can request data from this API, you must first work with a Checkr Trust Account Executive or Customer Success representative to set up and credential your account.
Best practices for securing your API credentials:
Your API key can be used to make any API call on behalf of your account, such as creating profiles and checks. Currently, your API key has unlimited access and must be secured accordingly. Checkr Trust will provide you with your Client Key and Secret Key, which can be exchanged for an access token via OAuth. The generated access tokens expire in 24 hours if not refreshed. Below is a step-by-step guide.
OAuth 2.0 is an authorization framework that allows applications to obtain access to a HTTP service. User authentication is delegated to the service that hosts the user account, while third-party applications are authorized to access the user account.
Before you start, register your application with the Authorization Server to obtain your client_id and client_secret.
Make a POST request to the token endpoint with your client_id and client_secret in the body.
$ curl --location 'https://api.checkrtrust.com/v1/accounts/token' \
--header 'Content-Type: application/json' \
--data '{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}'
If the request is successful, the Authorization Server responds with an access token, scopes, expiration time, and token type.
{
"access_token": "eyJhb...(something long)...qJFlg",
"scope": "read:checks create:checks read:accounts read:account create:account delete:account",
"expires_in": 86400,
"token_type": "Bearer"
}
If the request fails, the Authorization Server responds with an error message.
{
"error": "access_denied",
"error_description": "Unauthorized"
}
Include the access token in the Authorization header when making requests to the Resource Server.
curl --location 'https://api.checkrtrust.com/v1/checks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--data '{
"first_name": "John",
"last_name": "Smith",
"dob": "19880218"
}'
Error Handling If any step in the OAuth 2.0 flow encounters an error, the Authorization Server returns an error response. These errors can include invalid requests, invalid clients, and invalid grants.
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.
Creates a new Profile resource.
Required Fields
The required attributes for a Profile resource vary depending on its intended use. Each check will require a minimum set of attributes as shared below:
Fields required to generate an Instant Criminal Check
include:
first_name
last_name
dob (date of birth)
Validation for these attributes is performed when requesting a check, as the requirements depend on the check type.
Checks provide the resulting information relevant to the requested check for a set of PII. The response will include the check type and results.
Creates a new check resource.
Required Fields
The required attributes for a check resource vary depending on its intended use. Each check requires a minimum set of attributes. You can pass through the minimum set of PII or a profile_id to reference the profile’s PII. If both parameters are passed, the PII from the profile will take precedence. If the PII is insufficient for a check, a validation error will return a 401 Bad Request.
Fields required to generate an Instant Criminal Check
include:
first_name
last_name
dob (date of birth)
Synchronous responses for a check and GET requests for a check both contain the same information about the results of the check. A completed check with empty results indicates that there are no items on the person’s record for review. Results that are populated indicate items on the check that may require review. Results may not be used to determine eligibility for credit, insurance, employment, or any other purpose regulated under the FCRA. Additionally, Checkr Trust does not make any policy decisions on behalf of its customers.
Endpoints and operations having to do with accounts and authorization. Account creation and credentialing will be done with a Checkr Trust team member.
Get a bearer token which will allow you to access the other endpoints in this API
OK - success response from create token
Unauthorized - not allowed to response from create token
{- "client_id": "string",
- "client_secret": "string"
}
{- "$ref": "#/components/examples/token-example/value"
}
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.
get a set of profiles
OK
Bad Request
Unauthorized
Internal Server Error
[- {
- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401",
- "phone": "string",
- "email": "string",
- "custom_id": "string"
}
]
Create a new profile
Created
Bad Request
Unauthorized
Internal Server Error
{- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401"
}
{- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401",
- "phone": "string",
- "email": "string",
- "custom_id": "string"
}
Get a single profile by id
OK
Bad Request
Unauthorized
Not Found
Internal Server Error
{- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401",
- "phone": "string",
- "email": "string",
- "custom_id": "string"
}
Update a profile with a given id
the request to patch (modify) a profile
OK
Bad Request
Unauthorized
Not Found
Internal Server Error
{- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401"
}
{- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "dob": "19950401",
- "phone": "string",
- "email": "string",
- "custom_id": "string"
}
Checks provide the resulting information relevant to the requested check for a set of PII. Checks will include the Check type and results.
Create a new check
the request to create a check
Created
Bad Request
Unauthorized
Forbidden
Internal Server Error
{- "first_name": "JOHN",
- "last_name": "SMITH",
- "dob": "19900101"
}
{- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "created_at": "2024-06-15 00:03:49.588",
- "completed_at": "2024-06-15 00:03:49.588",
- "results": [
- {
- "category": "string",
- "person": {
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "suffix": "string",
- "full_name": "string",
- "dob": "19950401",
- "photo_urls": [
- "string"
], - "name_aliases": [
- "string"
], - "dob_aliases": [
- "string"
], - "addresses": [
- "$ref '#/components/examples/address-example/value'"
]
}, - "cases": [
- {
- "case_number": "string",
- "title": "string",
- "category": "string",
- "type": "string",
- "status": "string",
- "file_date": "string",
- "arrest_date": "string",
- "court_county": "string",
- "court_name": "string",
- "charges": [
- {
- "arrest_date": "string",
- "arresting_agency": "string",
- "offense_date": "string",
- "legal_code": "string",
- "description": "string",
- "type": "string",
- "classification": "string",
- "category": "string",
- "subcategory": "string",
- "subsubcategory": "string",
- "decision_date": "string",
- "final_action": "string",
- "city": "string",
- "county": "string",
- "state": "string",
- "fips_code": "string",
- "sentences": [
- null
], - "dispositions": [
- null
]
}
]
}
], - "source": {
- "category": "string",
- "name": "string"
}
}
], - "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8",
- "check_type": "instant_criminal"
}
Get a single check with a given id
OK
Unauthorized
Not Found
Internal Server Error
{- "id": "5bb1242f-6963-4886-8f05-9ee965da2ca1",
- "created_at": "2024-06-15 00:03:49.588",
- "completed_at": "2024-06-15 00:03:49.588",
- "results": [
- {
- "category": "string",
- "person": {
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "suffix": "string",
- "full_name": "string",
- "dob": "19950401",
- "photo_urls": [
- "string"
], - "name_aliases": [
- "string"
], - "dob_aliases": [
- "string"
], - "addresses": [
- "$ref '#/components/examples/address-example/value'"
]
}, - "cases": [
- {
- "case_number": "string",
- "title": "string",
- "category": "string",
- "type": "string",
- "status": "string",
- "file_date": "string",
- "arrest_date": "string",
- "court_county": "string",
- "court_name": "string",
- "charges": [
- {
- "arrest_date": "string",
- "arresting_agency": "string",
- "offense_date": "string",
- "legal_code": "string",
- "description": "string",
- "type": "string",
- "classification": "string",
- "category": "string",
- "subcategory": "string",
- "subsubcategory": "string",
- "decision_date": "string",
- "final_action": "string",
- "city": "string",
- "county": "string",
- "state": "string",
- "fips_code": "string",
- "sentences": [
- null
], - "dispositions": [
- null
]
}
]
}
], - "source": {
- "category": "string",
- "name": "string"
}
}
], - "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8",
- "check_type": "instant_criminal"
}