Checks API

NOTE: Truora provides a Postman collection online that includes the necessary tools to simplify the testing process.

Welcome to the Truora Check RESTful API reference. If you haven’t already, we strongly advise you to check out our Guides Section.

Truora Check API allows performing full background checks on people, vehicles and companies. There are three main types of background checks:

  • Personal background check: Verifies national IDs in multiple databases of public and legal entities in the LATAM region. For every national ID, returns information on: personal identity, criminal records, international background check, and professional background.
  • Vehicle background check: Verifies the vehicle documents and the owner identity in multiple databases of public and legal entities in the LATAM region. For every vehicle and owner type, returns information on: personal identity, driving records, criminal records, and vehicle information.
  • Company background check: Verifies the tax ID or a company name in multiple databases of public and legal entities in the LATAM region. For every company, returns the associated: business status, legal and criminal records, and media reports.

Authentication

To access Truora’s services and perform API calls securely, you need to authenticate your requests. This is done by including a specific authentication token, known as the ”Truora-API-Key” in the header of your requests.

By providing this key in your API requests, you establish a secure and authorized connection, enabling seamless interaction with Truora’s services.

  • If you haven’t already, sign up for a free account here before generating your Truora-API-Key.
  • Learn how to generate your Truora-API-Key here.
Base URL

https://api.checks.truora.com

Checks

Checks API enables you to create and retrieve background checks. It consults multiple databases and provides a comprehensive set of information to assess the reliability of a person, vehicle, or company. Explore our guide on Background Checks for further details.

Create check

Creates a background check and queues it to start collecting information. The full details of background checks can be retrieved with their respective Check IDs using getCheck endpoint. Keep in mind that, depending on the check type, input document, and country of a search, certain inputs are required. You should always provide as many inputs as possible in order to get the highest accuracy.

If your check type is not referenced in the following table, please reach out to find out the fields that apply for you.

CountryPerson-NationalPerson-ForeignerCompanyVehicle-NationalVehicle-Foreigner
Chile
CL
national_id*
date_of_birth
phone_number
issue_number
foreign_id*
date_of_birth*
phone_number
first_name*
last_name*
native_country*
issue_number
N/Anational_id*
license_plate*
driver_license (Santiago only)
foreign_id*
first_name*
last_name*
date_of_birth*
native_country*
license_plate*
driver_license (Santiago only)
Colombia
CO
national_id*
date_of_birth
issue_date
phone_number
foreign_id* or PPT*
date_of_birth*
phone_number
issue_date*
tax_id*
national_id
national_id*
date_of_birth
phone_number
license_plate*
owner_document_type
owner_document_id
foreign_id*
date_of_birth
phone_number
license_plate*
issue_date*
Mexico
MX
national_id*
phone_number
foreign_id*tax_id*license_plate*
national_id
vehicle_id
driver_license(Estado de Mexico only)
N/A
Brazil
BR
national_id*
date_of_birth*
region*
phone_number
N/Atax_id*license_plate*N/A
Costa Rica
CR
national_id*
phone_number
foreign_id*
phone_number
N/Alicense_plate*N/A
Peru
PE
national_id*
date_of_birth*
phone_number
foreign_id*
ptp
date_of_birth
phone_number*
N/Anational_id*
date_of_birth*
license_plate*
foreign_id*
ptp
date_of_birth*
license_plate*
International
ALL
name*name*company_name*N/AN/A
(*) Required field

Request
Request Body *application/x-www-form-urlencoded
country enum
[Required]
Allowed: ALL | BR | CO | CL | MX | PE | CR

Document country

type enum
[Required]
Allowed: person | vehicle | company | custom_type_name

Background check type. Replace custom_type_name with the name of your custom type to perform a custom type check

user_authorized boolean
[Required]

Indicates whether the person subject to the validation authorized the validation. Must be true in order to proceed [Required for API key V1 or later]

force_creation boolean

Defines the behavior of the API when creating a background check with the same input values used for a recently created background check.

When true, forces the creation of a new background check; otherwise, it returns the result of the background check created earlier.

pep string

ID for Venezuelans working in Colombia

company_name string

Company name “Don’t forget this required field to complete background checks in Brazil”

passport string

Person passport

date_of_birth string

Person birthdate. This date is used to get some additional information about a person and to filter homonyms in some cases. YYYY-MM-DD format, Required for complete background checks in Brazil and Perú

first_name string

Person or entity first name. If the document type and number are not provided, the report might include homonyms. Required when searching by first name, Required in order to get complete background checks in Brazil

native_national_id string

National ID from the person native country. Keep in mind that you must provide the native_country if you enter a native_national_id

professional_card string

Professional ID card

tax_id string

Company ID used for tax payments

birth_certificate string

Person birth certificate

certificate_folio string

Folio for Chilean certificate search. Chile only

imei string

15-digit IMEI to be validated

last_name string

Person or entity last name. If the document type and number are not provided, the report might include homonyms. Required when searching by last name. Required in order to get complete background checks in Brazil

vehicle_id string

Vehicle NIV number

diplomatic_id string

Diplomatic ID

phone_number string

Person phone number. Required by law to notify the person their background is being checked

national_id string

National ID

payment_date string

Payment day of a vehicle circulation permit (Chile only)

license_plate string

Vehicle license plate

watch string

Indicates whether the check score is to be periodically revised and its frequency. It can be daily, weekly, monthly, yearly or have a custom frequency written as a number accompanied by d: day, w: week, m: month, y: year for instance: 3d: every three days, 2w: every two weeks. Ignore this field if the check is only to be performed once

native_country enum
Allowed: CO | MX | PE | BR | EC | CL | VE

Country of birth. Required if native_national_id is provided

owner_document_type string

national-id, foreign-id, tax-id or passport

foreign_id string

Person foreign ID

owner_document_id string

ID of the vehicle owner

region enum
Allowed: DF | AC | AL | AP | AM | BA | CE | ES | GO | MA | MT | MS | MG | PA | PB | PR | PE | PI | RJ | RN | RS | RO | RR | SC | SP | SE | TO | ALL

Region where the background is to be checked in addition to the region where the person is from. By default, background checks in Brazil are performed in the person region of birth according to their CPF. Required for Brazil only. Keep in mind that a nation-wide search can take more than 24 hours to complete, whereas region-specific searches take from 2 to 20 min to complete.

Allowed values are: DF: Distrito Federal, AC: Acre, AL: Alagoas, AP: Amapá, AM: Amazonas, BA: Bahía, CE: Ceará, ES: Espírito Santo, GO: Goiás, MA: Maranhão, MT: Mato Grosso, MS: Mato Grosso do Sul, MG: Minas Gerais, PA: Pará, PB: Paraíba, PR: Paraná, PE: Pernambuco, PI: Piauí, RJ: Río de Janeiro, RN: Río Grande do Norte, RS: Río Grande do Sul, RO: Rondônia, RR: Roraima, SC: Santa Catarina, SP: São Paulo, SE: Sergipe, TO : Tocantins, ALL: nation-wide search

report_id string

Report ID the background check will be inserted into

issue_date string

Person document issue date in “YYYY-mm-dd” format (e.g. 2008-12-31) . This date is used to get some additional information about a person in some cases

verification_code string

Verification code registered for criminal records in Peru and Chile

escrow string

Colombian escrow

driver_license string

Driver’s license number

issue_number string

Document number of Chilean identity. This number is used to get some additional information about a person. Chile only

state_id string

Used for the RG (Registro Geral) identification in Brazil. This identification has different formats according to the state that issues the document. It can have numbers and letters but other characters (- * , . ) are omitted, Required in order to get complete background checks in Brazil

ptp string

ID for Venezuelans working in Peru

This field also apply for PPT (Permiso de Protección Temporal) in Colombia

List checks

Lists all the existing checks created in the account. If report_id is provided, it will only return the checks from the report
Response
get /v1/checks
Query Parameters
report_id string
[Optional]
ID of the report of background checks to be returned.
start_key string
[Optional]
Start key value for the pagination.

Get check

Returns the results of the check that matches the ID provided, complete with a set of scores explained below.

Scores:

  • Global Score: Average risk associated with a person, company or vehicle, according to the background check results. The global score considers results that are validated with the ID number provided. The score ranges from 0 to 1, where 0 represents high risk and 1 low risk.
  • ID Score: Average risk associated with a person according to the background check results. The ID score considers the results that are validated with a person identity document. The score ranges from 0 to 1, where 0 represents high risk and 1 low risk.
  • Name Score: Average risk associated with a person according to the background check results. The name score considers results that are validated against the name of a person and could not be validated with their ID number. These results might have homonyms associated with them. The score ranges from 0 to 1, where 0 represents high risk and 1 low risk.

In order to calculate these scores, a weighted average is considered with different weights allocated to each dataset. Scores can be customized using the config endpoints by assigning a weight to each dataset according to its relevance.

Keep in mind that results from the API vary depending on the country, check type and the inputs entered on check creation.

Response
get /v1/checks/{check_id}
Path Parameters
check_id string
[Required]
A unique identifier for a check.

Get Check Attachments

Enables the download of PDF documents associated with the check result. This will list all the files found for a given check and provide the link for downloading
Response
get /v1/checks/{check_id}/attachments
Path Parameters
check_id string
[Required]
A unique identifier for a check.

List Check Details

Lists all details associated with a check, with support for pagination. It includes a list of data sources along with their respective information
Response
get /v1/checks/{check_id}/details
Path Parameters
check_id string
[Required]
A unique identifier for a check.
Query Parameters
lang string
[Optional]
Specifies the desired language for details; use lowercase ISO 639-1 format. If not specified, details will be provided in their original language.
start_key string
[Optional]
Start key value for the pagination.

Summarize

Returns a summary in a human readable way for the specified check id. It is useful when the details of the check are too long when reviewing manually
Response
get /v1/checks/{check_id}/summarize
Path Parameters
check_id string
[Required]
A unique identifier for a check.

Get the status of a database

Retrieve the current status of all databases that match with query parameters. This endpoint assists in determining the suitability of making a Check, allowing to review the availability of a database at any given moment.
Response
get /v1/health
Query Parameters
country string
[Required]
Country code in uppercase ISO 3166 format (e.g., CO for Colombia).
unixTimestampSeconds number
[Required]
Unix timestamp in seconds. Send a day timestamp to view the database hourly status for that day or send the current time to know the current database status.
unixtimezoneOffsetSeconds number
[Required]
Offset between the local time and the UTC time in seconds. (e.g., Colombia is at UTC -18000 seconds).

Delete check

Deletes the check that matches the Check ID provided, along with relevant information about that specific check. If the check belongs to a continuous check, it will be deleted only if isn’t the first one.
Response
delete /v1/checks/{check_id}
Path Parameters
check_id string
[Required]
A unique identifier for a check.

Custom-Type

The Custom Type API enables the creation of custom searches, allowing you to include only the desired datasets in background checks, thus enhancing the check efficiency. Moreover, you can customize the impact of each dataset on the global score by assigning it a weight value between 0 and 1. It’s important to note that the sum of all weights must equal 1.

You can use custom types in your checks to perform custom-type checks. For detailed information, refer to our Custom Type guide.

Create custom type

Create a custom type selecting the weight for each background check dataset and the country where it applies. Weights are numbers between 0 and 1 that represent how impactful the dataset is for the score, where datasets with weight 0 do not influence the score but are searched nonetheless. Keep in mind that the sum of all weights must equal 1. To perform a check with the custom type, create a Check and enter the name you gave to your custom type in type
Request
Request Body *application/x-www-form-urlencoded
country enum
[Required]
Allowed: ALL | BR | CL | CO | MX | PE

Country where this set of rules applies. Use “all” if the check type searches by name by relying on international databases

type string
[Required]

Custom type name. It cannot be person, vehicle, or company. Use this type in your checks to perform custom-type checks

dataset_affiliations_and_insurances number

Affiliation and insurance weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_legal_background number

Legal background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_business_background number

Business background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_driving_licenses number

Driving license weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_taxes_and_finances number

Taxes and financial background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_personal_identity number

Personal identity weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_professional_background number

Professional background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_traffic_fines number

Traffic fines weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_vehicle_information number

Vehicle information weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_criminal_record number

Criminal record weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_international_background number

International background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_vehicle_permits number

Vehicle certificate background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_alert_in_media number

Alert in media weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

post /v1/config

Update custom type

Allows updating a custom type. Person, vehicle, and company types are not modifiable. Please visit How to Create a Custom Type for Background Check guide for more information.
Request
Request Body *application/x-www-form-urlencoded
country enum
[Required]
Allowed: ALL | BR | CL | CO | MX | PE

Country where this set of rules applies. Use “all” if the check type searches by name by relying on international databases

type string
[Required]

Custom type name. It cannot be person, vehicle, or company. Use this type in your checks to perform custom-type checks

dataset_personal_identity number

Personal identity weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_legal_background number

Legal background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_affiliations_and_insurances number

Affiliation and insurance weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_business_background number

Business background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_driving_licenses number

Driving license weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_criminal_record number

Criminal record weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_taxes_and_finances number

Taxes and financial background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_professional_background number

Professional background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_traffic_fines number

Traffic fines weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_vehicle_information number

Vehicle information weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_alert_in_media number

Alert in media weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_international_background number

International background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

dataset_vehicle_permits number

Vehicle certificate background weight for score calculation. From 0 to 1. If not provided, the dataset is skipped entirely decreasing the search time

Response
put /v1/config

List custom types

Lists all custom types of the associated account. Please visit How to Create a Custom Type for Background Check guide for more information.
Response
get /v1/config
Query Parameters
start_key string
[Optional]
Start key value for the pagination.

Delete custom type

Allows deleting a custom type. Please note that person, vehicle, and company custom types can not be deleted.

After deletion, the response will display the remaining custom types associated with the country of the deleted custom type.

Response
delete /v1/config
Query Parameters
country string
[Required]
Country where the custom type is valid. Use ISO 3166 format in uppercase (e.g., CO for Colombia)
type string
[Required]
Name of the custom type to be deleted.

Settings

Allows the configuration of parameters such as names matching type, retries and max duration.

Create setting

Allows setting up both retries and names matching type. Keep in mind that this feature is a configuration at a Client level, so it will affect all your check types.
Request
Request Body *application/x-www-form-urlencoded
max_duration string

Indicates the maximum amount of time a check can take to fetch responses. It follows the following format "xt" where x is a number and t is a letter ( m for minutes or h for hours). Example 25m indicates 25 minutes, 2h indicates 2 hours. This value must be between 15 minutes and 7 days (168 hours). When not configured, it is set to default. If retries is enabled, the default max duration is set to 48 hours; otherwise, it is set to 3 hours for Colombia, Mexico, Peru, and Brazil; 48 hours for Chile and International searches; and 72 hours for Costa Rica

names_matching_type enum
Allowed: soft | exact

Defines the matching type between the names retrieved from the identity databases and the names found in the criminal, legal and international databases to determine whether a record should be included in the check or not. soft (used by default) means matching names when they are similar enough to be considered the same person (e.g., Maria Alejandra Gomez would match Alejandra Gomez). exact means the names must perfectly match. Keep in mind that this feature is a configuration at a Client level, so it will affect all your check types

retries boolean

Indicates whether or not database queries must be retried until they successfully return a response or until the max_duration time is reached

Response
post /v1/settings

Continuous

Enables the creation of recurring checks with customizable frequency, providing notifications whenever there are changes in check scores.

Create Continuous Check

Creates a continuous check that will run background checks recurrently according to the frequency provided.
Request
Request Body *application/x-www-form-urlencoded
frequency string
[Required]

Time between background checks. It can be daily, weekly, monthly, yearly or have a custom frequency written as a number accompanied by a letter d: day, w: week, m: month, y: year. For instance: 3d: every three days, 2w: every two weeks

end_date string
[Required]

Date on which background checks will stop. YYYY-MM-DD format. For the date to be valid, it must allow at least one check to be run according to the frequency.

check_id string
[Required]

Background checks to be processed recurrently

post /v1/continuous-checks