Skip to main content

Brazilian CPF Number Check

The Jumio CPF check allows customers to validate the CPF Number. CPF is the Brazilian Individual Taxpayer Registry Identification number, referred to as Cadastro de Pessoas Fisicas (Portuguese for “Natural Persons Register”). A CPF number is a permanent number printed on current driver’s licenses (DL) & ID versions. A CPF number is assigned to both Brazilians and resident aliens who are subject to taxes in Brazil.

The CPF Number Validation service will send the extracted CPF number from the DL & ID to the Tax ID database in order to:

  • Retrieve the status of the CPF number.
  • Compare the name returned from the database with the name provided for the transaction.
  • Map the results and return the status of the match.

Supported Credentials

The following values can be uploaded as prepared data. Alternatively, they can be extracted by an upstream capability in a workflow.

To use Prepared Data with the CPF Number Check as a standalone capability use workflow key 10005.

Details
KeyTypeMandatoryDescription
id.idNumberstringyesFor Brazil, this will be CPF number
id.typestringnoID_CARD or DL
firstNamestringyesMust include firstName or lastName, and may include both. First Name is required only for the version that does not provide the raw response when a DPA is signed. The DPA-enabled version can operate using only the ID.
lastNamestringyesMust include firstName or lastName, and may include both. Last Name is required only for the version that does not provide the raw response when a DPA is signed. The DPA-enabled version can operate using only the ID.
dateOfBirthstringnoYYYY-MM-DD. Will influence risk score if provided.
address.countrystringyesCountry should be ISO Alpha 3 Code only
tip

The concatenated values of the firstName and lastName fields are matched against the name on record for the CPF number.

Example Prepared Data Body

{
"firstName": "pris****",
"lastName": "da *****",
"dateOfBirth":"1982-MM-08",
"address": {
"country": "BRA"
},
"id":{
"idNumber":"28908936***",
"type":"ID_CARD"
}

}

Response

Response data is available for transactions that include the risk signal. For information on transaction data see Viewing or Retrieving Workflow Transactions.

Example Response

{
"govtIdVerification": [
{
"id": "79e0fa63-0ff5-4bab-99b2-bb9c49637ba2",
"credentials": [
{
"id": "1ceaf3c0-2689-43ea-93aa-187c2ba5da51",
"category": "DATA"
}
],
"decision": {
"type": "PASSED",
"details": {
"label": "OK"
}
},
"data": {
"completeNameMatch": "MATCH",
"nationalIdMatch": "MATCH",
"dobMatch": "MATCH"
}
}
]
}

Decision Details Labels

Details
Decision TypeLabelDescription
PASSEDOKThe provided data matched
REJECTEDDENYThe provided data did not match what was on record.
WARNINGALERTThe CPF number is valid but either the name or DOB do not exactly match.
NOT_EXECUTEDNOT_ENOUGH_DATAThe provided data was inadequate to process the transaction.
NOT_EXECUTEDTECHNICAL_ERRORAn error occurred during device risk evaluation. Verify input and retry, or contact Support.

Data

Details
KeyPossible ValuesDescription
nameMatchMATCH, NOT_MATCHTo be a MATCH the concatenated firstName and lastName value of the input data must exactly match what is in the CPF database.
cpfMatchMATCH, NOT_MATCHCPF number matches.
dateOfBirthMatchMATCH, NOT_MATCHDate of birth matches.

Additional Status Flags

Details
ParameterTypeNote
data.suspendedbooleantrue / false. Indicates if the license is suspended.
data.deceasedbooleantrue / false. Indicates if the individual is marked deceased.
data.cancelledbooleantrue / false. Indicates if the license is cancelled.
data.regularizationPendingbooleantrue / false. Indicates if there are pending regularization issues with the license.
data.cancellationReasonstringProvides details on the cancellation reason.
data.reasonMessagestringAdditional explanation of the status.

Raw Serpro Consulta CPF Fields (DPA Restricted)

The following raw fields from the Serpro Consulta CPF API response will be returned ONLY for customers who have signed the updated Data Processing Agreement (DPA). This feature is disabled by default and must be explicitly enabled by Jumio.

"cpfData": {
"cpf": "7XXXXXXXXX80",
"name": "JOSE XXXXXXXXX SILVA",
"details": {
"code": "0",
"description": "Regular"
},
"dateOfBirth": "XX05XXXX"
}

Field Mapping

Serpro FieldJumio OutputDescription
niCPF numberTaxpayer identification number
nameFull nameIndividual’s registered name
situacao (code + description)Registration statusStatus of the CPF number (refer to the table below)
nascimentoDate of birthDate of birth on record

Situacao Status Code Reference

CodeLabelDescription
0RegularCPF is valid with no issues
2SuspendedRegistration has inconsistencies
3Deceased HolderThe CPF owner is deceased
4Pending RegularizationMissing recent tax returns
5Canceled – MultiplicityDuplicate CPFs exist, canceled to resolve duplication
8Null (Annulled)CPF invalidated due to detected fraud
9Canceled by Official OrderCanceled by administrative or judicial order

Response Example with Raw Fields (govtIdVerification)

"govtIdVerification": [
{
"id": "79e0fa63-0ff5-4bab-99b2-bb9c49637ba2",
"credentials": [
{
"id": "1ceaf3c0-2689-43ea-93aa-187c2ba5da51",
"category": "DATA"
}
],
"decision": {
"type": "PASSED",
"details": { "label": "OK" }
},
"data": {
"completeNameMatch": "MATCH",
"nationalIdMatch": "MATCH",
"dobMatch": "MATCH",
"cpfData": {
"cpf": "7XXXXXXXXX80",
"name": "JOSE XXXXXXXXX SILVA",
"details": { "code": "0", "description": "Regular" },
"dateOfBirth": "XX05XXXX"
}
}
}
]
warning

CPF numbers and names may be partially masked in logs and documentation examples to comply with data protection requirements.