API
ID Check Composto
Verifique a identidade de uma pessoa de maneira rápida e segura utilizando dados biográficos, biométricos, documentos e endereço em uma única operação
POST
/
id-check
/
api
/
v1
/
scan
ID Check Composto
curl --request POST \
--url https://api.valid.com/id-check/api/v1/scan \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"identity": {
"type": "<string>",
"value": "<string>"
},
"attributes": {
"biographic": {
"name": "<string>",
"socialName": "<string>",
"motherName": "<string>",
"fatherName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"nationality": "<string>"
},
"biometrics": {
"face": {
"image": "<string>"
},
"fingerprints": [
{
"position": 123,
"image": "<string>"
}
]
},
"documents": {
"cpf": {
"number": "<string>",
"status": "<string>",
"registrationDate": "<string>"
},
"cnh": {
"registrationNumber": "<string>",
"category": "<string>",
"status": "<string>",
"foreignRegistration": "<string>",
"firstIssueDate": "<string>",
"lastIssueDate": "<string>",
"expirationDate": "<string>",
"hasRestriction": true,
"observations": "<string>",
"qrCode": "<string>"
},
"rg": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"ctps": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"passport": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"militaryService": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
}
},
"address": {
"street": "<string>",
"number": "<string>",
"complement": "<string>",
"neighborhood": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>"
}
}
}
'import requests
url = "https://api.valid.com/id-check/api/v1/scan"
payload = {
"identity": {
"type": "<string>",
"value": "<string>"
},
"attributes": {
"biographic": {
"name": "<string>",
"socialName": "<string>",
"motherName": "<string>",
"fatherName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"nationality": "<string>"
},
"biometrics": {
"face": { "image": "<string>" },
"fingerprints": [
{
"position": 123,
"image": "<string>"
}
]
},
"documents": {
"cpf": {
"number": "<string>",
"status": "<string>",
"registrationDate": "<string>"
},
"cnh": {
"registrationNumber": "<string>",
"category": "<string>",
"status": "<string>",
"foreignRegistration": "<string>",
"firstIssueDate": "<string>",
"lastIssueDate": "<string>",
"expirationDate": "<string>",
"hasRestriction": True,
"observations": "<string>",
"qrCode": "<string>"
},
"rg": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"ctps": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"passport": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"militaryService": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
}
},
"address": {
"street": "<string>",
"number": "<string>",
"complement": "<string>",
"neighborhood": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>"
}
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identity: {type: '<string>', value: '<string>'},
attributes: {
biographic: {
name: '<string>',
socialName: '<string>',
motherName: '<string>',
fatherName: '<string>',
dateOfBirth: '<string>',
gender: '<string>',
nationality: '<string>'
},
biometrics: {face: {image: '<string>'}, fingerprints: [{position: 123, image: '<string>'}]},
documents: {
cpf: {number: '<string>', status: '<string>', registrationDate: '<string>'},
cnh: {
registrationNumber: '<string>',
category: '<string>',
status: '<string>',
foreignRegistration: '<string>',
firstIssueDate: '<string>',
lastIssueDate: '<string>',
expirationDate: '<string>',
hasRestriction: true,
observations: '<string>',
qrCode: '<string>'
},
rg: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
ctps: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
passport: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
militaryService: {number: '<string>', issuer: '<string>', issuerState: '<string>'}
},
address: {
street: '<string>',
number: '<string>',
complement: '<string>',
neighborhood: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>'
}
}
})
};
fetch('https://api.valid.com/id-check/api/v1/scan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valid.com/id-check/api/v1/scan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identity' => [
'type' => '<string>',
'value' => '<string>'
],
'attributes' => [
'biographic' => [
'name' => '<string>',
'socialName' => '<string>',
'motherName' => '<string>',
'fatherName' => '<string>',
'dateOfBirth' => '<string>',
'gender' => '<string>',
'nationality' => '<string>'
],
'biometrics' => [
'face' => [
'image' => '<string>'
],
'fingerprints' => [
[
'position' => 123,
'image' => '<string>'
]
]
],
'documents' => [
'cpf' => [
'number' => '<string>',
'status' => '<string>',
'registrationDate' => '<string>'
],
'cnh' => [
'registrationNumber' => '<string>',
'category' => '<string>',
'status' => '<string>',
'foreignRegistration' => '<string>',
'firstIssueDate' => '<string>',
'lastIssueDate' => '<string>',
'expirationDate' => '<string>',
'hasRestriction' => true,
'observations' => '<string>',
'qrCode' => '<string>'
],
'rg' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'ctps' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'passport' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'militaryService' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
]
],
'address' => [
'street' => '<string>',
'number' => '<string>',
'complement' => '<string>',
'neighborhood' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/id-check/api/v1/scan"
payload := strings.NewReader("{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.valid.com/id-check/api/v1/scan")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/id-check/api/v1/scan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"scanId": "123e4567-e89b-12d3-a456-426614174000",
"identity": {
"type": "cpf",
"value": true
},
"attributes": {
"biographic": {
"name": true,
"nameSimilarity": 9.8,
"socialName": true,
"socialNameSimilarity": 9.9,
"motherName": true,
"motherNameSimilarity": 10.0,
"fatherName": false,
"fatherNameSimilarity": 1.2,
"dateOfBirth": true,
"gender": true,
"nationality": true
},
"biometrics": {
"face": {
"confidence": "HIGH",
},
"fingerprints": [
{
"position": 1,
"confidence": "MAXIMUM",
},
{
"position": 2,
"confidence": "HIGH",
}
]
},
"documents": {
"cpf": {
"number": true,
"status": true,
"registrationDate": true
},
"cnh": {
"registrationNumber": true,
"category": true,
"status": true,
"foreignRegistration": false,
"firstIssueDate": true,
"lastIssueDate": true,
"expirationDate": true,
"hasRestriction": true,
"observations": true,
"qrCode": {
"returnCode": "0",
"name": true,
"nameSimilarity": 9.9,
"decodedName": "JOAO DA SILVA",
"decodedCivilName": "JOAO DA SILVA",
"sourceDocument": true,
"sourceDocumentSimilarity": 10.0,
"decodedSourceDocument": "CNH",
"dateOfBirth": true,
"decodedDateOfBirth": "1990-01-01",
"motherName": true,
"motherNameSimilarity": 9.7,
"decodedMotherName": "MARIA DA SILVA",
"fatherName": false,
"fatherNameSimilarity": 2.2,
"decodedFatherName": "JOSE DA SILVA",
"decodedPermission": "ACC",
"decodedAcc": "N",
"category": true,
"categorySimilarity": 10.0,
"decodedCategory": "B",
"registrationNumber": true,
"decodedRegistrationNumber": "12345678900",
"expirationDate": true,
"decodedExpirationDate": "2030-01-15",
"firstLicenseDate": true,
"decodedFirstLicenseDate": "2010-01-15",
"observations": true,
"observationsSimilarity": 9.1,
"decodedObservations": "EAR;A",
"decodedIssueLocation": "SAO PAULO",
"decodedIssueState": "SP",
"lastIssueDate": true,
"decodedLastIssueDate": "2020-01-15",
"decodedValidationNumber": "123456789",
"decodedRenachNumber": "987654321"
}
},
"rg": {
"number": true,
"issuer": true,
"issuerState": true
},
"ctps": {
"number": true,
"issuer": true,
"issuerState": true
},
"passport": {
"number": false,
"issuer": true,
"issuerState": true
},
"militaryService": {
"number": true,
"issuer": true,
"issuerState": true
}
},
"address": {
"street": true,
"streetSimilarity": 9.4,
"number": true,
"numberSimilarity": 10.0,
"complement": false,
"complementSimilarity": 2.1,
"neighborhood": true,
"neighborhoodSimilarity": 9.9,
"postalCode": true,
"city": true,
"citySimilarity": 10.0,
"state": true,
}
},
"metadata": {
"processingTime": 2345,
"timestamp": "2026-04-20T19:04:17.412Z"
}
}
{
"success": false,
"error": {
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"cpf"
],
"message": "Required"
}
],
"name": "ZodError"
}
}
{
"error": "INTERNAL_SERVER_ERROR",
"message": "Unexpected error while processing scan request",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"timestamp": "2026-04-20T19:04:17.412Z"
}
Request Body
object
required
Dados de identificação mínima do titular. Obrigatório informar um tipo e valor do documento
object
required
Conjunto de atributos utilizados na validação composta da identidade.
Show propriedades
Show propriedades
object
Dados biográficos do titular.
Show propriedades
Show propriedades
string
Nome civil informado para validação.Exemplo:
João da Silvastring
Nome social informado para validação.Exemplo:
João Silvastring
Nome da mãe informado para validação.Exemplo:
Maria da Silvastring
Nome do pai informado para validação.Exemplo:
José da Silvadate
Data de nascimento do titular.Exemplo:
1990-01-01string
Gênero informado para validação.Exemplo:
MALEstring
Nacionalidade informada para validação.Exemplo:
BRAZILIANobject
Dados biométricos utilizados na validação.
Show propriedades
Show propriedades
object
Dados da biometria facial.
Show propriedades
Show propriedades
string
Imagem facial em formato base64.Limite de 3 MB. Formatos: JPG e PNG.Exemplo:
base64array
Lista de impressões digitais a serem verificadas. Cada item representa uma digital com sua posição e imagem biométrica.
Show propriedades
Show propriedades
integer
required
Posição do dedo conforme tabela padrão NIST (1–10).1 - Polegar Direito2 - Indicador Direito3 - Médio Direito4 - Anelar Direito5 - Mínimo Direito6 - Polegar Esquerdo7 - Indicador Esquerdo8 - Médio Esquerdo9 - Anelar Esquerdo10 - Mínimo EsquerdoExemplo:
1string
required
Imagem da digital em formato base64.Limite de 500 KB. Formatos: WSQ, JPG e PNG.Exemplo:
base64object
Documentos utilizados na validação.
Show propriedades
Show propriedades
object
object
Dados da CNH informados para validação.
Show propriedades
Show propriedades
string
Número de registro da CNH.Exemplo:
12345678900string
Categoria da CNH.Exemplo:
Bstring
Situação da CNH.Exemplo:
ISSUEDstring
Número de registro estrangeiro associado.Exemplo:
G123456date
Data da primeira emissão.Exemplo:
2010-01-15date
Data da última emissão.Exemplo:
2020-01-15date
Data de vencimento do documento.Exemplo:
2030-01-15boolean
Indica se a CNH possui restrição.Exemplo:
falsestring
Observações do documento.Exemplo:
EAR;Astring
Conteúdo do QR Code em base64.Exemplo:
base64object
object
object
object
Endereço informado para validação.
Show propriedades
Show propriedades
string
Logradouro informado para validação.Exemplo:
Rua das Floresstring
Número do endereço.Exemplo:
123string
Complemento do endereço.Exemplo:
Apto 45string
Bairro informado para validação.Exemplo:
Centrostring
CEP informado para validação.Exemplo:
01001000string
Cidade informada para validação.Exemplo:
São Paulostring
Estado informado para validação.Exemplo:
SPO tamanho máximo do corpo da requisição não deve ultrapassar 4 MB
Response
string
Identificador interno da transação.Exemplo:
123e4567-e89b-12d3-a456-426614174000object
object
Resultado consolidado das validações executadas.
Show propriedades
Show propriedades
object
Resultado das validações de dados biográficos.
Show propriedades
Show propriedades
boolean
Indica se o nome civil foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o nome civil informado.Exemplo:
9.8boolean
Indica se o nome social foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o nome social informado.Exemplo:
10.0boolean
Indica se o nome da mãe foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o nome da mãe informada.Exemplo:
9.7boolean
Indica se o nome do pai foi validado com sucesso.Exemplo:
falsedouble
Grau de similaridade calculado para o nome do pai informado.Exemplo:
2.2boolean
Indica se a data de nascimento foi validada com sucesso.Exemplo:
trueboolean
Indica se o gênero foi validado com sucesso.Exemplo:
trueboolean
Indica se a nacionalidade foi validada com sucesso.Exemplo:
trueobject
Resultado das validações biométricas.
Show propriedades
Show propriedades
object
Resultado da validação facial.
Show propriedades
Show propriedades
string
Nível de confiança do resultado. Valores possíveis:Low: Alta probabilidade de fraude, recomendado reprovarMedium: Alguma probabilidade de fraude, zona cinzenta que precisa de reavaliaçãoHigh: Baixa probabilidade de fraude, recomendado aprovarMaximum: Probabilidade quase nula de fraude, recomendado aprovarExemplo:
MAXIMUMarray
Lista com o resultado individual de cada digital verificada.
Show propriedades
Show propriedades
integer
Posição da digital verificada, conforme enviada na requisição.Exemplo:
1string
Nível de confiança do reconhecimento biométrico para aquela digital. Valores possíveis:Low: Alta probabilidade de fraude, recomendado reprovarMedium: Alguma probabilidade de fraude, zona cinzenta que precisa de reavaliaçãoHigh: Baixa probabilidade de fraude, recomendado aprovarMaximum: Probabilidade quase nula de fraude, recomendado aprovarExemplo:
MAXIMUMobject
Resultado das validações de documentos. Todos os campos retornam
true para informação válida e false para negativa na validação.Show propriedades
Show propriedades
object
object
Resultado das validações da CNH.
Show propriedades
Show propriedades
boolean
Indica se o número de registro da CNH foi validado com sucesso.Exemplo:
trueboolean
Indica se a categoria da CNH foi validada com sucesso.Exemplo:
trueboolean
Indica se a situação da CNH foi validada com sucesso.Exemplo:
trueboolean
Indica se o registro estrangeiro foi validado com sucesso.Exemplo:
falseboolean
Indica se a data da primeira emissão foi validada com sucesso.Exemplo:
trueboolean
Indica se a data da última emissão foi validada com sucesso.Exemplo:
trueboolean
Indica se a data de vencimento foi validada com sucesso.Exemplo:
trueboolean
Indica se a informação de restrição foi validada com sucesso.Exemplo:
trueboolean
Indica se as observações da CNH foram validadas com sucesso.Exemplo:
trueobject
Resultado da validação e decodificação do QR Code da CNH.
Show propriedades
Show propriedades
string
Indica o código do motivo da não realização do QR Code, quando aplicável.Exemplo:
0boolean
Indica se o nome decodificado no QR Code foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o nome decodificado.Exemplo:
9.8string
Nome decodificado a partir do QR Code.Exemplo:
JOAO DA SILVAstring
Nome civil decodificado a partir do QR Code.Exemplo:
JOAO DA SILVAboolean
Indica se o documento de origem decodificado foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o documento de origem.Exemplo:
10.0string
Documento de origem decodificado a partir do QR Code.Exemplo:
CNHboolean
Indica se a data de nascimento decodificada foi validada com sucesso.Exemplo:
truedate
Data de nascimento decodificada a partir do QR Code.Exemplo:
1990-01-01boolean
Indica se a filiação materna decodificada foi validada com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para a filiação materna.Exemplo:
9.7string
Nome da mãe decodificado a partir do QR Code.Exemplo:
MARIA DA SILVAboolean
Indica se a filiação paterna decodificada foi validada com sucesso.Exemplo:
falsedouble
Grau de similaridade calculado para a filiação paterna.Exemplo:
2.2string
Nome do pai decodificado a partir do QR Code.Exemplo:
JOSE DA SILVAstring
Permissão decodificada a partir do QR Code.Exemplo:
ACCstring
Informação de ACC decodificada a partir do QR Code.Exemplo:
Nboolean
Indica se a categoria decodificada foi validada com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para a categoria.Exemplo:
10.0string
Categoria decodificada a partir do QR Code.Exemplo:
Bboolean
Indica se o número de registro decodificado foi validado com sucesso.Exemplo:
truestring
Número de registro decodificado a partir do QR Code.Exemplo:
12345678900boolean
Indica se a data de validade decodificada foi validada com sucesso.Exemplo:
truedate
Data de validade decodificada a partir do QR Code.Exemplo:
2030-01-15boolean
Indica se a data da primeira habilitação decodificada foi validada com sucesso.Exemplo:
truedate
Data da primeira habilitação decodificada a partir do QR Code.Exemplo:
2010-01-15boolean
Indica se as observações decodificadas foram validadas com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para as observações.Exemplo:
9.1string
Observações decodificadas a partir do QR Code.Exemplo:
EAR;Astring
Local de emissão decodificado a partir do QR Code.Exemplo:
SAO PAULOstring
UF de emissão decodificada a partir do QR Code.Exemplo:
SPboolean
Indica se a data da última emissão decodificada foi validada com sucesso.Exemplo:
truedate
Data da última emissão decodificada a partir do QR Code.Exemplo:
2020-01-15string
Número de validação decodificado a partir do QR Code.Exemplo:
123456789string
Número RENACH decodificado a partir do QR Code.Exemplo:
987654321object
object
object
Resultado das validações do passaporte.
object
Resultado das validações do documento militar.
object
Resultado das validações de endereço.
Show propriedades
Show propriedades
boolean
Indica se o logradouro foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o logradouro informado.Exemplo:
0.94boolean
Indica se o número do endereço foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o número informado.Exemplo:
10.0boolean
Indica se o complemento foi validado com sucesso.Exemplo:
falsedouble
Grau de similaridade calculado para o complemento informado.Exemplo:
1.4boolean
Indica se o bairro foi validado com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para o bairro informado.Exemplo:
9.6boolean
Indica se o CEP foi validado com sucesso.Exemplo:
trueboolean
Indica se a cidade foi validada com sucesso.Exemplo:
truedouble
Grau de similaridade calculado para a cidade informada.Exemplo:
9.9boolean
Indica se o estado foi validado com sucesso.Exemplo:
trueobject
{
"scanId": "123e4567-e89b-12d3-a456-426614174000",
"identity": {
"type": "cpf",
"value": true
},
"attributes": {
"biographic": {
"name": true,
"nameSimilarity": 9.8,
"socialName": true,
"socialNameSimilarity": 9.9,
"motherName": true,
"motherNameSimilarity": 10.0,
"fatherName": false,
"fatherNameSimilarity": 1.2,
"dateOfBirth": true,
"gender": true,
"nationality": true
},
"biometrics": {
"face": {
"confidence": "HIGH",
},
"fingerprints": [
{
"position": 1,
"confidence": "MAXIMUM",
},
{
"position": 2,
"confidence": "HIGH",
}
]
},
"documents": {
"cpf": {
"number": true,
"status": true,
"registrationDate": true
},
"cnh": {
"registrationNumber": true,
"category": true,
"status": true,
"foreignRegistration": false,
"firstIssueDate": true,
"lastIssueDate": true,
"expirationDate": true,
"hasRestriction": true,
"observations": true,
"qrCode": {
"returnCode": "0",
"name": true,
"nameSimilarity": 9.9,
"decodedName": "JOAO DA SILVA",
"decodedCivilName": "JOAO DA SILVA",
"sourceDocument": true,
"sourceDocumentSimilarity": 10.0,
"decodedSourceDocument": "CNH",
"dateOfBirth": true,
"decodedDateOfBirth": "1990-01-01",
"motherName": true,
"motherNameSimilarity": 9.7,
"decodedMotherName": "MARIA DA SILVA",
"fatherName": false,
"fatherNameSimilarity": 2.2,
"decodedFatherName": "JOSE DA SILVA",
"decodedPermission": "ACC",
"decodedAcc": "N",
"category": true,
"categorySimilarity": 10.0,
"decodedCategory": "B",
"registrationNumber": true,
"decodedRegistrationNumber": "12345678900",
"expirationDate": true,
"decodedExpirationDate": "2030-01-15",
"firstLicenseDate": true,
"decodedFirstLicenseDate": "2010-01-15",
"observations": true,
"observationsSimilarity": 9.1,
"decodedObservations": "EAR;A",
"decodedIssueLocation": "SAO PAULO",
"decodedIssueState": "SP",
"lastIssueDate": true,
"decodedLastIssueDate": "2020-01-15",
"decodedValidationNumber": "123456789",
"decodedRenachNumber": "987654321"
}
},
"rg": {
"number": true,
"issuer": true,
"issuerState": true
},
"ctps": {
"number": true,
"issuer": true,
"issuerState": true
},
"passport": {
"number": false,
"issuer": true,
"issuerState": true
},
"militaryService": {
"number": true,
"issuer": true,
"issuerState": true
}
},
"address": {
"street": true,
"streetSimilarity": 9.4,
"number": true,
"numberSimilarity": 10.0,
"complement": false,
"complementSimilarity": 2.1,
"neighborhood": true,
"neighborhoodSimilarity": 9.9,
"postalCode": true,
"city": true,
"citySimilarity": 10.0,
"state": true,
}
},
"metadata": {
"processingTime": 2345,
"timestamp": "2026-04-20T19:04:17.412Z"
}
}
{
"success": false,
"error": {
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"cpf"
],
"message": "Required"
}
],
"name": "ZodError"
}
}
{
"error": "INTERNAL_SERVER_ERROR",
"message": "Unexpected error while processing scan request",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"timestamp": "2026-04-20T19:04:17.412Z"
}
⌘I
ID Check Composto
curl --request POST \
--url https://api.valid.com/id-check/api/v1/scan \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"identity": {
"type": "<string>",
"value": "<string>"
},
"attributes": {
"biographic": {
"name": "<string>",
"socialName": "<string>",
"motherName": "<string>",
"fatherName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"nationality": "<string>"
},
"biometrics": {
"face": {
"image": "<string>"
},
"fingerprints": [
{
"position": 123,
"image": "<string>"
}
]
},
"documents": {
"cpf": {
"number": "<string>",
"status": "<string>",
"registrationDate": "<string>"
},
"cnh": {
"registrationNumber": "<string>",
"category": "<string>",
"status": "<string>",
"foreignRegistration": "<string>",
"firstIssueDate": "<string>",
"lastIssueDate": "<string>",
"expirationDate": "<string>",
"hasRestriction": true,
"observations": "<string>",
"qrCode": "<string>"
},
"rg": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"ctps": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"passport": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"militaryService": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
}
},
"address": {
"street": "<string>",
"number": "<string>",
"complement": "<string>",
"neighborhood": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>"
}
}
}
'import requests
url = "https://api.valid.com/id-check/api/v1/scan"
payload = {
"identity": {
"type": "<string>",
"value": "<string>"
},
"attributes": {
"biographic": {
"name": "<string>",
"socialName": "<string>",
"motherName": "<string>",
"fatherName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"nationality": "<string>"
},
"biometrics": {
"face": { "image": "<string>" },
"fingerprints": [
{
"position": 123,
"image": "<string>"
}
]
},
"documents": {
"cpf": {
"number": "<string>",
"status": "<string>",
"registrationDate": "<string>"
},
"cnh": {
"registrationNumber": "<string>",
"category": "<string>",
"status": "<string>",
"foreignRegistration": "<string>",
"firstIssueDate": "<string>",
"lastIssueDate": "<string>",
"expirationDate": "<string>",
"hasRestriction": True,
"observations": "<string>",
"qrCode": "<string>"
},
"rg": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"ctps": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"passport": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
},
"militaryService": {
"number": "<string>",
"issuer": "<string>",
"issuerState": "<string>"
}
},
"address": {
"street": "<string>",
"number": "<string>",
"complement": "<string>",
"neighborhood": "<string>",
"postalCode": "<string>",
"city": "<string>",
"state": "<string>"
}
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identity: {type: '<string>', value: '<string>'},
attributes: {
biographic: {
name: '<string>',
socialName: '<string>',
motherName: '<string>',
fatherName: '<string>',
dateOfBirth: '<string>',
gender: '<string>',
nationality: '<string>'
},
biometrics: {face: {image: '<string>'}, fingerprints: [{position: 123, image: '<string>'}]},
documents: {
cpf: {number: '<string>', status: '<string>', registrationDate: '<string>'},
cnh: {
registrationNumber: '<string>',
category: '<string>',
status: '<string>',
foreignRegistration: '<string>',
firstIssueDate: '<string>',
lastIssueDate: '<string>',
expirationDate: '<string>',
hasRestriction: true,
observations: '<string>',
qrCode: '<string>'
},
rg: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
ctps: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
passport: {number: '<string>', issuer: '<string>', issuerState: '<string>'},
militaryService: {number: '<string>', issuer: '<string>', issuerState: '<string>'}
},
address: {
street: '<string>',
number: '<string>',
complement: '<string>',
neighborhood: '<string>',
postalCode: '<string>',
city: '<string>',
state: '<string>'
}
}
})
};
fetch('https://api.valid.com/id-check/api/v1/scan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valid.com/id-check/api/v1/scan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identity' => [
'type' => '<string>',
'value' => '<string>'
],
'attributes' => [
'biographic' => [
'name' => '<string>',
'socialName' => '<string>',
'motherName' => '<string>',
'fatherName' => '<string>',
'dateOfBirth' => '<string>',
'gender' => '<string>',
'nationality' => '<string>'
],
'biometrics' => [
'face' => [
'image' => '<string>'
],
'fingerprints' => [
[
'position' => 123,
'image' => '<string>'
]
]
],
'documents' => [
'cpf' => [
'number' => '<string>',
'status' => '<string>',
'registrationDate' => '<string>'
],
'cnh' => [
'registrationNumber' => '<string>',
'category' => '<string>',
'status' => '<string>',
'foreignRegistration' => '<string>',
'firstIssueDate' => '<string>',
'lastIssueDate' => '<string>',
'expirationDate' => '<string>',
'hasRestriction' => true,
'observations' => '<string>',
'qrCode' => '<string>'
],
'rg' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'ctps' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'passport' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
],
'militaryService' => [
'number' => '<string>',
'issuer' => '<string>',
'issuerState' => '<string>'
]
],
'address' => [
'street' => '<string>',
'number' => '<string>',
'complement' => '<string>',
'neighborhood' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'state' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/id-check/api/v1/scan"
payload := strings.NewReader("{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.valid.com/id-check/api/v1/scan")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/id-check/api/v1/scan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity\": {\n \"type\": \"<string>\",\n \"value\": \"<string>\"\n },\n \"attributes\": {\n \"biographic\": {\n \"name\": \"<string>\",\n \"socialName\": \"<string>\",\n \"motherName\": \"<string>\",\n \"fatherName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"nationality\": \"<string>\"\n },\n \"biometrics\": {\n \"face\": {\n \"image\": \"<string>\"\n },\n \"fingerprints\": [\n {\n \"position\": 123,\n \"image\": \"<string>\"\n }\n ]\n },\n \"documents\": {\n \"cpf\": {\n \"number\": \"<string>\",\n \"status\": \"<string>\",\n \"registrationDate\": \"<string>\"\n },\n \"cnh\": {\n \"registrationNumber\": \"<string>\",\n \"category\": \"<string>\",\n \"status\": \"<string>\",\n \"foreignRegistration\": \"<string>\",\n \"firstIssueDate\": \"<string>\",\n \"lastIssueDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"hasRestriction\": true,\n \"observations\": \"<string>\",\n \"qrCode\": \"<string>\"\n },\n \"rg\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"ctps\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"passport\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n },\n \"militaryService\": {\n \"number\": \"<string>\",\n \"issuer\": \"<string>\",\n \"issuerState\": \"<string>\"\n }\n },\n \"address\": {\n \"street\": \"<string>\",\n \"number\": \"<string>\",\n \"complement\": \"<string>\",\n \"neighborhood\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"scanId": "123e4567-e89b-12d3-a456-426614174000",
"identity": {
"type": "cpf",
"value": true
},
"attributes": {
"biographic": {
"name": true,
"nameSimilarity": 9.8,
"socialName": true,
"socialNameSimilarity": 9.9,
"motherName": true,
"motherNameSimilarity": 10.0,
"fatherName": false,
"fatherNameSimilarity": 1.2,
"dateOfBirth": true,
"gender": true,
"nationality": true
},
"biometrics": {
"face": {
"confidence": "HIGH",
},
"fingerprints": [
{
"position": 1,
"confidence": "MAXIMUM",
},
{
"position": 2,
"confidence": "HIGH",
}
]
},
"documents": {
"cpf": {
"number": true,
"status": true,
"registrationDate": true
},
"cnh": {
"registrationNumber": true,
"category": true,
"status": true,
"foreignRegistration": false,
"firstIssueDate": true,
"lastIssueDate": true,
"expirationDate": true,
"hasRestriction": true,
"observations": true,
"qrCode": {
"returnCode": "0",
"name": true,
"nameSimilarity": 9.9,
"decodedName": "JOAO DA SILVA",
"decodedCivilName": "JOAO DA SILVA",
"sourceDocument": true,
"sourceDocumentSimilarity": 10.0,
"decodedSourceDocument": "CNH",
"dateOfBirth": true,
"decodedDateOfBirth": "1990-01-01",
"motherName": true,
"motherNameSimilarity": 9.7,
"decodedMotherName": "MARIA DA SILVA",
"fatherName": false,
"fatherNameSimilarity": 2.2,
"decodedFatherName": "JOSE DA SILVA",
"decodedPermission": "ACC",
"decodedAcc": "N",
"category": true,
"categorySimilarity": 10.0,
"decodedCategory": "B",
"registrationNumber": true,
"decodedRegistrationNumber": "12345678900",
"expirationDate": true,
"decodedExpirationDate": "2030-01-15",
"firstLicenseDate": true,
"decodedFirstLicenseDate": "2010-01-15",
"observations": true,
"observationsSimilarity": 9.1,
"decodedObservations": "EAR;A",
"decodedIssueLocation": "SAO PAULO",
"decodedIssueState": "SP",
"lastIssueDate": true,
"decodedLastIssueDate": "2020-01-15",
"decodedValidationNumber": "123456789",
"decodedRenachNumber": "987654321"
}
},
"rg": {
"number": true,
"issuer": true,
"issuerState": true
},
"ctps": {
"number": true,
"issuer": true,
"issuerState": true
},
"passport": {
"number": false,
"issuer": true,
"issuerState": true
},
"militaryService": {
"number": true,
"issuer": true,
"issuerState": true
}
},
"address": {
"street": true,
"streetSimilarity": 9.4,
"number": true,
"numberSimilarity": 10.0,
"complement": false,
"complementSimilarity": 2.1,
"neighborhood": true,
"neighborhoodSimilarity": 9.9,
"postalCode": true,
"city": true,
"citySimilarity": 10.0,
"state": true,
}
},
"metadata": {
"processingTime": 2345,
"timestamp": "2026-04-20T19:04:17.412Z"
}
}
{
"success": false,
"error": {
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"cpf"
],
"message": "Required"
}
],
"name": "ZodError"
}
}
{
"error": "INTERNAL_SERVER_ERROR",
"message": "Unexpected error while processing scan request",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"timestamp": "2026-04-20T19:04:17.412Z"
}