Skip to main content

Register Candidates

POST /candidate-requests

This endpoint starts the asynchronous flow that runs the Processes contained in a packageId assigned to your entity.


Required Headers (HTTP Headers)​

HeaderTypeRequiredValue / Example
Content-TypestringYesapplication/json
Authentication

Authenticate with the method Blacktrust defined for your integration: the x-api-key header or Authorization: Bearer {accessToken} (one or the other, never both). See Authentication to find out which one applies to you.


Registration Body Examples​

Select the registration variant you want to implement to see the exact JSON structure:

The most efficient method. When byNationalId: true is set, the BlackTrust engine automatically extracts and validates the full name, date of birth, sex and state of origin directly from the official registry. There is no need to send the individual demographic data.

{
"clientId": "CL_12345",
"package": "PKG_MX_PRO_02",
"country": "MX",
"byNationalId": true,
"nationalId": "MARD020406MDFSMNA8",
"taxClassification": "PF"
}

Property Reference​

ParameterTypeRequiredDescription
byNationalIdbooleanYesIndicates whether registration is done using an official identifier.
packagestringYesID of the validation package to run.
taxClassificationstringYesTax classification of the candidate (PF or PM).
clientIdstringYesClient identifier assigned by BlackTrust.
businessNamestringConditionalBusiness name. Required only if taxClassification is PM.
nationalIdstringConditionalOfficial identity document. Required only if byNationalId is true.
namestringConditionalCandidate's first name(s). Required only if byNationalId is false.
lastNamestringConditionalCandidate's first last name. Required only if byNationalId is false.
secondLastNamestringNoCandidate's second last name.
birthDatestringConditionalDate of birth in DD/MM/YYYY format. Required only if byNationalId is false.
sexstringConditionalCandidate's sex (H, M or X). Required only if byNationalId is false.
statestringConditional2-letter state code (e.g. JC). Required only if byNationalId is false. see supported states.
countrystringNo3-letter ISO country code. Default: MEX. see all supported countries.
registrationCountrystringConditionalBusiness registration country code, wc-countries Catalog. Required only if the package to register contains the World Check process
regimestringConditionalTax regime. Required only for PM. Tax regimes Catalog
requestIdstringNoUnique identifier of the request.
rfcstringConditionalRegistro Federal de Contribuyentes. Required only for credit Processes.
nssstringNoSocial Security Number (11 numeric digits).
emailstringConditionalCandidate's email address. Required only if the package requires interaction with the candidate
telephonestringNoContact phone number.
consentobjectConditionalObject with the consent dates and identifier for the credit package.
consent.consentDatestringYes (in consent)Consent acceptance date (dd/MM/yyyy HH:mm:ss).
consent.termsAgreementDatestringYes (in consent)Terms acceptance date (dd/MM/yyyy HH:mm:ss).
consent.consentNIPstringYes (in consent)Authorization PIN (digits 3-4 must match the RFC year).
homeAddressobjectNoObject with the candidate's home address data.
homeAddress.streetAndNumberstringYes (in homeAddress)Street and number (1 to 70 alphanumeric characters).
homeAddress.delegationOrMunicipalitystringYes (in homeAddress)Borough or municipality (1 to 70 alphanumeric characters).
homeAddress.postalCodestringYes (in homeAddress)Postal code (exactly 5 numeric digits).
homeAddress.citystringYes (in homeAddress)City (1 to 70 alphanumeric characters).
homeAddress.statestringYes (in homeAddress)State or federal entity.
hasWorkExperiencebooleanNoFlag indicating whether the candidate has work experience.
workAddressobjectNoObject with the work address. Required if hasWorkExperience is true.
workAddress.companystringYes (in workAddress)Company name (1 to 70 alphanumeric characters).
profileIdstringNoIdentifier of the assigned profile.
profilestringNoProfile name.
costCenternumberConditionalCost center for billing or internal control. Required if the client has the cost center mode enabled.
genderstringConditionalCandidate's gender (H, M or X). Required only if the package includes psychometric tests

Business Validation Rules​

Our input rules process and validate the data before asynchronous execution. A 400 Bad Request or 422 Unprocessable Entity error is returned if the following rules are not met:

Demographic Validations and Registration Formats (Individuals - PF)

Official Identification (nationalId): If byNationalId is true, the identifier must match the official pattern of the specified country:

MEX / DEFAULT: 18-character CURP key.

DOM: 11 numeric digits.

GTM / HND: 13 numeric digits.

JAM: 9 numeric digits.

PAN: Panamanian cédula regular expression.

see all supported countries

Date of Birth Format (birthDate): Must strictly follow the DD/MM/YYYY format and be between 01/01/1900 and the current date.

Legal Age: The candidate must be at least 18 years old at the time of registration (calculated from the birthDate property).

States (state): The state code must be an official 2-letter code (e.g. JC, DF, NL, SP). see supported states

Sex (sex): Only the values H (Male), M (Female) or X (Non-binary) are accepted.

Corporate Registration (Legal Entities - PM)

Required Fields: The businessName and regime parameters are mandatory.

The regime parameter must exist in the system corporate catalog.

If registrationCountry is provided, it must match a valid country code in the catalog (wc-countries).

Credit and Consent Module (Credit Bureau)

If the contracted package includes credit check Processes:

RFC Required: The rfc parameter is required.

PIN Validation (consentNIP): The digits at positions 3 and 4 of consentNIP must exactly match the birth year extracted from the RFC (characters 5 and 6 of the RFC).

Required Addresses (homeAddress / workAddress): The complete homeAddress structure is required. If prior work experience is indicated (hasWorkExperience: true), the workAddress object must also be sent.

Client, Package and Registration Rules Validation

Active Existence: The API verifies that the clientId and package exist and are actively assigned.

Enabled Registration Modes: The contracted package determines whether registration by official identifier (byNationalId: true) or traditional demographic registration (byNationalId: false) is allowed.

RFC vs CURP Match: If both the rfc and the CURP (nationalId) are provided, the first 10 characters of both identifiers must match exactly.