Skip to content

Checkmate REST API (1.0.0)

Checkmate API for launching background checks from your side using Checkmate.

Contact

Download OpenAPI description
Languages
Servers
Mock server
https://docs.checkmate.tech/_mock/api
Staging
https://staging-api.checkmate.tech/partners/v1
Production
https://api.checkmate.tech/partners/v1

OAuth token authorization

Basic Authorization

If you are not planning to build a multi-tenant integration then, we encorauge you to skip OAuth authentication and use your Checkmate account token instead. You can grab it from your Partner's page under "Account API"

Remember to store it safely!

Basic Authorization

placeholder

Operations
Operations
Operations

Pre-configured check bundles

Operations
Operations
Operations
Operations

Request

Updates a sub-check. Only certain fields can be modified via the API.

Security
bearerAuth
Path
partner_application_idstringrequired

value of candidate.partner_application_id

sub_check_idintegerrequired

ID of the sub-check

Bodyapplication/jsonrequired
sub_checkobjectrequired

Sub-check attributes to update

sub_check.​expiration_datestring or null(date)

Expiration date (YYYY-MM-DD)

Example: "2028-01-01"
curl -i -X PUT \
  'https://docs.checkmate.tech/_mock/api/candidates/{partner_application_id}/sub_checks/{sub_check_id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "sub_check": {
      "expiration_date": "2028-01-01"
    }
  }'

Responses

Updated sub-check

Bodyapplication/json
resultobject

Serialized sub-check object

statusinteger
Example: 200
errorobject or null
Response
application/json
{ "result": {}, "status": 200, "error": {} }

Request

Cancels a specific sub-check.

Security
bearerAuth
Path
partner_application_idstringrequired

value of candidate.partner_application_id

sub_check_idintegerrequired
curl -i -X PUT \
  'https://docs.checkmate.tech/_mock/api/candidates/{partner_application_id}/sub_checks/{sub_check_id}/cancel' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Canceled sub-check

Bodyapplication/json
resultobject

Serialized sub-check object

statusinteger
Example: 200
errorobject or null
Response
application/json
{ "result": {}, "status": 200, "error": {} }

Request

This endpoint it's exclusive for checks that cointains forms. E.g. Reference Check or Candidate Questionnaire

Retrieves answers from sub-check. Only for Reference Check and Candidate Questionnaires

Security
bearerAuth
Path
partner_application_idstringrequired

value of candidate.partner_application_id

sub_check_idintegerrequired

ID of candidate sub check

curl -i -X GET \
  'https://docs.checkmate.tech/_mock/api/candidates/{partner_application_id}/sub_checks/{sub_check_id}/answers' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Check answers

Bodyapplication/json
resultArray of objects
statusinteger
Example: 200
errorobject or null
Response
application/json
{ "result": [ { … } ], "status": 200, "error": {} }

Request

Retrieves result file or null if not present.

Security
bearerAuth
Path
partner_application_idstringrequired

value of candidate.partner_application_id

sub_check_idintegerrequired

ID of candidate sub check

curl -i -X GET \
  'https://docs.checkmate.tech/_mock/api/candidates/{partner_application_id}/sub_checks/{sub_check_id}/result' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Result file (binary) or null

Bodyapplication/octet-stream
string(binary)

Request

Retrieves result file data base64 encoded or null if not present.

Security
bearerAuth
Path
partner_application_idstringrequired

value of candidate.partner_application_id

sub_check_idintegerrequired
curl -i -X GET \
  'https://docs.checkmate.tech/_mock/api/candidates/{partner_application_id}/sub_checks/{sub_check_id}/result/base_64' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Base64 encoded result or null

Bodyapplication/json
string
Response
application/json
"string"
Operations
Operations
Operations

Company-enabled checks

Operations

Forms (reference, questionnaire, etc.)

Operations
Operations
Webhooks are unique per partner and company!

Only one webhook can exists for a partner and company. You will only get updates notifications on candidates created under this context.

E.g. If you subscribe to a webhook using your Account API token you won't be get notified about updates on candidates created directly on the web application or other partners.

:global parameter

:global parameter is the only exception to the above. If global=true you will get notifications on all candidates created through the API. You still won't get notifications on candidates created from the web application as they don't belog to the API.

Operations