Checkr Driver Licenses API
The driver licenses resource represents a single driver license for a candidate. Candidates may have one current driver license and may have any number of previous driver licenses.
The driver licenses resource represents a single driver license for a candidate. Candidates may have one current driver license and may have any number of previous driver licenses.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/checkr:checkr-driver-licenses-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v1
title: Checkr.com API Docs Driver Licenses API
license:
name: Proprietary
url: https://www.checkr.com
contact:
name: Checkr
email: clients@checkr.com
url: https://checkr.com
description: '# Introduction
Checkr is a modern, RESTful API-driven background screening service. The Checkr API uses resource-oriented URLs, supports HTTPS authentication and HTTPS verbs, and leverages JSON in all responses passed back to customers. Checkr is used by over 10,000 customers in a wide variety of industries, and supports a range of screening products and candidate workflows. For a full list of our screenings, please see the Checkr Screenings section below or read the Checkr Help Center articles on Screening Types. This Programming Guide is designed to help customers get up-and-running with Checkr''s background screening services, both by providing the necessary context to understand the background screening industry and its regulations, and by giving technical guidance on how to work with the Checkr API. **Note:** The cURL command is used for all examples in the Checkr API documentation. ### Other resources
For information about using the Checkr Dashboard, and compliance and regulatory aspects of background checks, visit the Checkr Help Center. For a more targeted set of Checkr Dashboard learning paths for talent sourcing roles like Recruiters, Adjudicators, or Program Administrators, please see the Checkr Learning Center. ## Understand the screening process
Checkr follows a standardized screening process:
1. Customer requests a background check. 2. Candidate is presented with and signs the necessary disclosures and authorizations, and submits the requested Personally Identifiable Information (PII). - With the Checkr-Hosted Apply Flow, the candidate signs disclosures and authorizations and enters their own PII. - With a custom self-hosted flow, the Checkr customer collects the required authorizations, and passes Checkr candidate PII using the Checkr API. 3. Checkr conducts an SSN Trace, and collects associated addresses. 4. Checkr runs searches or verifications based on the screening Packages requested. 5. Checkr applies appropriate compliance filters based on the customer’s settings and candidate’s provided residence to determine which records to show, and returns a finalized report to the customer. 6. If there is a record on the report, the customer Engages or Adverse Actions the Candidate, based on an individualized assessment of the candidate''s report. ### 1. Request a background check
To initiate a background check, a customer provides Checkr their candidate''s email address (for a Checkr-Hosted Apply Flow) or the candidate''s PII (for a self-hosted flow). For more information on ways to achieve this, please see Designing your workflow. ### 2. Candidate signs disclosures and authorizations
Under the U.S. Fair Credit Reporting Act (FCRA), customers are obligated to collect consent from their candidates when running background checks through Checkr or any other Consumer Reporting Agency (CRA). The Checkr-Hosted Apply Flow presents candidates with fields in which the requested PII may be entered, and collects candidate information on behalf of the customer. Checkr will also present disclosures and authorizations to the candidate, and enable eSignature to capture consent, on behalf of customers using this flow with the Checkr Dashboard or email invitation flow. Custom self-hosted flows collect candidate PII, and pass the information to Checkr using the Checkr API. Customers creating a self-hosted flow will receive guidance from the Checkr team on setting up a similar process as required. ### 3. Checkr runs an SSN Trace
Checkr runs an SSN Trace to match the candidate’s provided PII with existing credit header data mapped to the SSN. This process yields a list of names and addresses associated with the entered SSN, which can be used to supplement the background check process. At this point Checkr also conducts some initial data comparisons to check that critical pieces of information, like a candidate''s submitted Date of Birth (DOB) and SSN, align with information held on file by the credit bureaus.'
servers:
- url: https://api.checkr.com/v1
description: Main server
tags:
- name: Driver Licenses
description: The driver licenses resource represents a single driver license for a candidate. Candidates may have one current driver license and may have any number of previous driver licenses.
paths:
/candidates/{candidate_id}/driver_licenses:
parameters:
- name: candidate_id
in: path
description: The Candidate's ID.
required: true
schema:
type: string
post:
tags:
- Driver Licenses
summary: Create a new Driver License
description: 'Creates a new Driver License for a given candidate.
If a `current` driver license is created for a candidate with an existing driver license marked `current`, the existing license will be updated to reflect that it is no longer `current`.
If a `candidate_driver_license` exists with the `state` and `number` passed in with the POST request, a new license will not be created. The `current` and `issued_date` values of the existing license will be updated with on the parameters passed.
**Note:** When a new driver license is created, Checkr will attempt to apply the new license information to resolve any existing exceptions for the candidate''s most recent MVR screening if the screening has not yet produced reportable results.
See Driver License validation in the Reference section for a list of valid driver license number input by state.'
operationId: createDriverLicense
security:
- basic_auth: []
requestBody:
$ref: '#/components/requestBodies/DriverLicenseCreate'
responses:
'200':
$ref: '#/components/responses/DriverLicenseCreated'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/CandidateNotFoundError'
x-codeSamples:
- lang: curl
source: "$ curl -X POST https://api.checkr.com/v1/candidates/5fb31d36bc2e7f4609aba03d/driver_licenses \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9: \\\n -d number=F2222222 \\\n -d state=CA \\\n -d issued_date=2010-01-30 \\\n -d current=true"
get:
tags:
- Driver Licenses
summary: List existing Driver Licenses
description: Returns a list of existing Driver Licenses for the input Candidate ID.
operationId: listOfDriverLicenses
security:
- basic_auth: []
responses:
'200':
$ref: '#/components/responses/DriverLicenseList'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/CandidateNotFoundError'
x-codeSamples:
- lang: curl
source: "$ curl -X GET https://api.checkr.com/v1/candidates/5fb31d36bc2e7f4609aba03d/driver_licenses \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9:"
/candidates/{candidate_id}/driver_licenses/{driver_license_id}:
parameters:
- name: driver_license_id
in: path
description: The Driver License ID.
required: true
schema:
type: string
- name: candidate_id
description: The Candidate's ID.
in: path
required: true
schema:
type: string
get:
tags:
- Driver Licenses
summary: Retrieve an existing Driver License
description: Returns a specific driver license for a given candidate.
operationId: getDriverLicense
security:
- basic_auth: []
responses:
'200':
$ref: '#/components/responses/DriverLicense'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/CandidateNotFoundError'
x-codeSamples:
- lang: curl
source: "$ curl -X GET https://api.checkr.com/v1/candidates/5fb31d36bc2e7f4609aba03d/driver_licenses/505fe6ed108621f9342c4eff \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9:"
post:
tags:
- Driver Licenses
summary: Update an existing Driver License
description: 'Updates an existing Driver License for a given candidate.
**Note**: Updating an existing license to `current: true` will set any existing `current` license to `current: false`.'
operationId: updateDriverLicense
security:
- basic_auth: []
requestBody:
$ref: '#/components/requestBodies/DriverLicenseUpdate'
responses:
'200':
$ref: '#/components/responses/DriverLicenseUpdated'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/CandidateNotFoundError'
x-codeSamples:
- lang: curl
source: "$ curl -X POST https://api.checkr.com/v1/candidates/5fb31d36bc2e7f4609aba03d/driver_licenses/76c7435e035d43b55bb9d1c6 \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9: \\\n -d number=F2222222 \\\n -d current=true"
delete:
tags:
- Driver Licenses
summary: Delete an existing Driver License
description: Deletes a specific driver license for a given candidate.
operationId: deleteDriverLicense
security:
- basic_auth: []
responses:
'200':
$ref: '#/components/responses/DriverLicenseDeleted'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/CandidateNotFoundError'
x-codeSamples:
- lang: curl
source: "$ curl -X DELETE https://api.checkr.com/v1/candidates/5fb31d36bc2e7f4609aba03d/driver_licenses/505fe6ed108621f9342c4eff \\\n -u 83ebeabdec09f6670863766f792ead24d61fe3f9:"
components:
schemas:
ResourceURI:
type: string
description: URI of the resource.
readOnly: true
CandidateNotFoundError:
type: object
properties:
error:
type: string
example: Candidate not found
BadRequestError:
type: object
properties:
error:
type: string
example: Dl number 'F211165' does not match the license number format in CA
ForbiddenError:
type: object
properties:
error:
type: string
example: You do not have permission to access the requested resource
DriverLicense:
type: object
properties:
id:
$ref: '#/components/schemas/ResourceId'
object:
type: string
enum:
- candidate_driver_license
readOnly: true
uri:
allOf:
- $ref: '#/components/schemas/ResourceURI'
example: /v1/candidates/551564b7865af96a28b13f36/driver_licenses/e44aa283528e6fde7d542194
candidate_id:
type: string
description: ID of the candidate.
example: 551564b7865af96a28b13f36
number:
type: string
description: The driver license number.
example: F2222222
state:
type: string
description: The state that issued the driver license.
example: CA
issued_dates:
type: array
items:
type: object
properties:
value:
type: string
description: The issued date.
source:
type: string
description: Indicates where this issued date information came from. Issued dates added through the API will have a source of "client".
description: An array of issued date objects
example:
- value: '2010-01-30'
source: client
current:
type: boolean
description: Defines whether the driver license is the candidate's current license.
example: true
source:
type: string
description: Where/how Checkr learned about the license.
default: Other
example: Self-Disclosure
ResourceId:
type: string
example: e44aa283528e6fde7d542194
readOnly: true
description: ID of the resource.
UnauthorizedError:
type: object
properties:
error:
type: string
example: Bad authentication error
responses:
DriverLicense:
description: Driver License details
content:
application/json:
schema:
$ref: '#/components/schemas/DriverLicense'
BadRequestError:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
DriverLicenseCreated:
description: Driver License was successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/DriverLicense'
ForbiddenError:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
DriverLicenseDeleted:
description: Driver License was successfully deleted
content:
application/json:
schema:
$ref: '#/components/schemas/DriverLicense'
DriverLicenseList:
description: List of Driver Licenses
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DriverLicense'
object:
type: string
description: A list
enum:
- list
count:
type: integer
example: 1
UnauthorizedError:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
CandidateNotFoundError:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/CandidateNotFoundError'
DriverLicenseUpdated:
description: Driver License was successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/DriverLicense'
requestBodies:
DriverLicenseCreate:
content:
application/json:
schema:
type: object
required:
- number
- state
- current
properties:
number:
type: string
description: The driver license number.
example: F2222222
state:
type: string
description: The state that issued the driver license.
example: CA
issued_date:
type: string
format: date
description: The issued date of the driver license.
example: '2010-01-30'
current:
type: boolean
description: Defines whether the driver license is the candidate's current license. `true` if the license is the candidate's current license, `false` otherwise.
required: true
DriverLicenseUpdate:
content:
application/json:
schema:
type: object
properties:
number:
type: string
description: The updated number of the driver license.
example: F1111111
state:
type: string
description: The updated state that issued the driver license.
example: CA
issued_date:
type: string
format: date
description: The updated issued date of the driver license.
example: '2010-01-30'
current:
type: boolean
description: The updated current status of the driver license. `true` if the license is the candidate's current license, `false` otherwise.
required: true
securitySchemes:
basic_auth:
type: http
scheme: basic
x-tagGroups:
- name: Resources
tags:
- Account
- Users
- Hierarchy (Enabled by request)
- Nodes
- Candidates
- Reports
- Packages
- Invitations
- Geos
- Programs
- Assessments
- Subscriptions
- Continuous Checks
- Adverse Actions
- Adverse Items
- Verifications
- Documents
- Driver Licenses
- Professional Licenses
- Schools
- Employers
- Counties
- Report Tags
- Report Addresses
- Report ETA
- Candidate Stories
- SSN
- Webhooks
- Candidate Postal Address
- name: Screenings
tags:
- SSN Trace
- Sex Offender Registry Search
- Global Watchlist Search
- National Criminal Search
- Federal Criminal Search
- Federal District Criminal Search
- Federal Civil Search
- Federal District Civil Search
- County Criminal Search
- State Criminal Search
- Motor Vehicle Report
- Drug & Alcohol Clearinghouse Search
- Education Verification
- Employment Verification
- Personal Reference Verification
- Professional Reference Verification
- Professional License Verification
- International Adverse Media Search
- International Criminal Search
- International Education Verification
- International Employment Verification
- International Global Watchlist Search
- International Identity Document Validation
- International Motor Vehicle Report
- FACIS Search
- name: Form I-9
tags:
- Getting Started
- Forms I-9
- Worksites
x-provenance:
method: harvested
publisher: Checkr
source: https://api.redocly.com/registry/bundle/checkr/Checkr%20Public%20API/v1/openapi.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)