Pular para o conteúdo principal
POST
curl

Serviços baseados em endereço

Para serviços que validam um endereço residencial ou de serviço público, você pode enviar um único address e a Didit vai dividi-lo antes de processar a verificação. Para obter a melhor taxa de correspondência, envie diretamente os campos de endereço estruturados da Didit: Os campos estruturados substituem o valor único de address. postal_code é aceito como alias de address_element_5.

Consentimento

Alguns serviços de banco de dados exigem o consentimento explícito do usuário final antes que o provedor possa ser consultado. O catálogo de serviços marca essas linhas com requires_consent=true. Envie consent=true quando o consentimento do usuário se aplicar aos serviços selecionados. Se um serviço selecionado exigir consentimento e você não o enviar, a Didit rejeita a requisição antes de qualquer chamada ao provedor ou evento de faturamento.

Envio de arquivos

A validação de banco de dados usa multipart/form-data. Os serviços biométricos que exigem selfie exibem esse campo de envio de arquivo no playground da API, para que você possa selecionar uma imagem diretamente em vez de colar um caminho ou uma string base64. No código, envie o arquivo com a sintaxe multipart padrão:

Erros de validação

A Didit valida os campos obrigatórios, a estrutura do endereço e os formatos específicos de cada serviço antes de chamar o provedor. Por exemplo, serviços de registro da China, como chn_national_id e chn_passport_verification, esperam full_name na escrita chinesa original, e chn_national_id também exige um documento nacional de identidade chinês válido, com 15 ou 18 caracteres e dígito verificador correto. Se uma requisição não puder ser executada, a API retorna erros explícitos por campo e nenhum uso é faturado. Se um provedor falhar após a verificação prévia, a resposta inclui validation_errors, e as requisições de API salvas armazenam esses erros no resultado de validação no banco de dados.

Entrada rejeitada e resultados indisponíveis

Quando nenhum serviço retornar um resultado utilizável, inspecione cada entrada de validation_errors antes de decidir se deve tentar novamente. O status HTTP, por si só, não determina se é adequado tentar novamente. Uma resposta 400 com code: "provider_rejected_input" e retryable: false significa que todas as tentativas sem resposta recusaram explicitamente a entrada. Corrija os dados fornecidos antes de tentar novamente. Essas tentativas não são faturadas. Uma resposta 502 com code: "empty_provider_response" e retryable: true significa que o serviço não conseguiu produzir um resultado utilizável por outro motivo. Isso inclui uma entrada recusada seguida de um fallback indisponível ou de um fallback que não fornece nenhuma explicação. Tente novamente mais tarde; a resposta não comprova que a entrada está errada. Se um banco de dados continuar falhando, a Didit envia um e-mail às organizações que o usaram recentemente quando a interrupção se prolonga, e outro quando verificações reais confirmam que ele voltou a responder. Consulte Notificações de disponibilidade. Quando apenas alguns dos serviços selecionados falham, a requisição é bem-sucedida: a resposta é 200 e os serviços que falharam são listados em database_validation.errors[], cada um com os mesmos campos code e retryable. Nesse caso, database_validation.status reflete os serviços que responderam e pode ser Approved; por isso, inspecione errors[] em todas as respostas, e não apenas em respostas 4xx ou 5xx. Um serviço listado ali não aparece em validations nem em services_used e não é faturado; tente novamente apenas esse serviço. Outros erros 502 podem exigir a correção da entrada. Por exemplo, provider_invalid_input e provider_validation_error descrevem uma entrada que a fonte rejeitou, e você não deve tentar novamente sem alterá-la, mesmo quando a resposta legada omite retryable. A orientação sobre tentar novamente para empty_provider_response não se aplica a esses códigos. Um resultado conclusivo sem correspondência é uma verificação concluída, não uma falha de disponibilidade.

Autorizações

x-api-key
string
header
obrigatório

Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está errada, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.

Corpo

issuing_state
string
obrigatório

Código de país ISO 3166-1 alpha-3 do registro a ser usado na validação (por exemplo, BRA, ESP, COL). Determina quais serviços estão disponíveis. Códigos não suportados retornam 400 com a lista completa de opções válidas.

Exemplo:

"BRA"

services
string[]

service_ids do catálogo a executar para este país (por exemplo, ["bra_cpf"]). Também aceita uma única string ou uma string separada por vírgulas ou codificada em JSON. Se omitido ou vazio, exatamente um serviço padrão é executado: o serviço ativo mais antigo do país; serviços mais novos, biométricos e com pagamento por uso devem ser indicados explicitamente. Enviar services muda a resposta para o formato estendido (adiciona services_used e match_score). Todo id deve existir e estar ativo para o issuing_state; serviços que exigem onboarding retornam 400 até serem ativados para a sua organização. Descubra os serviços disponíveis por país via GET /v1/organization/database-validation-countries/ (um endpoint de catálogo não documentado nesta especificação) ou no editor de fluxos do Business Console.

Exemplo:
validation_type
string
obsoleto

OBSOLETO. Aceito por compatibilidade com versões anteriores, mas ignorado: o validation_type da resposta agora é derivado de quantos serviços tiveram correspondência total. Use services para fixar serviços específicos.

Defina como true quando o usuário final tiver consentido explicitamente com os serviços de validação selecionados. Obrigatório para serviços marcados com requires_consent=true no catálogo; sem isso, esses serviços retornam 400 com services_requiring_consent.

identification_number
string

Número de identificação universal, mapeado automaticamente para o campo específico do país correto, para que você possa usá-lo em vez de personal_number/tax_number/document_number: ARG→document_number (DNI), BOL→document_number (CI), BRA→tax_number (CPF, 11 dígitos), CHL→personal_number (RUT), COL→personal_number (Cédula), CRI→personal_number (Cédula), DOM→personal_number (Cédula, 11 dígitos), ECU→personal_number (Cédula, 10 dígitos), ESP→personal_number (DNI/NIE), GTM→document_number (DPI), HND→document_number (DNI), MEX→personal_number (CURP, 18 caracteres), PAN→personal_number (Cédula), PER→personal_number (DNI, 8 dígitos), PRY→document_number (CI), SLV→document_number (DUI), URY→personal_number (CI), VEN→document_number (Cédula). Ele nunca substitui um campo específico do país informado explicitamente.

first_name
string

O nome da pessoa física. Obrigatório para alguns serviços/países.

Exemplo:

"John"

last_name
string

O sobrenome da pessoa física. Obrigatório para alguns serviços/países.

Exemplo:

"Doe"

middle_name
string

Nome do meio, usado por alguns serviços de países (AUS, NZL, …).

full_name
string

Nome completo. Alguns serviços aceitam este campo no lugar do nome e sobrenome (por exemplo, os serviços CHN, que fazem a correspondência com o nome na escrita nativa).

date_of_birth
string<date>

Data de nascimento, YYYY-MM-DD. Exigida por muitos serviços.

Exemplo:

"1980-01-01"

personal_number
string

Identificador pessoal único emitido pelo governo. Usado por: CHL (RUT), COL (Cédula), CRI, DOM, ECU, ESP (DNI/NIE), MEX (CURP), PAN (Cédula), PER (DNI), URY. Considere usar identification_number em vez disso.

tax_number
string

Número de identificação fiscal. Usado por: BRA (CPF, 11 dígitos). Considere usar identification_number.

document_number
string

Número do documento. Usado por: ARG (DNI), BOL (CI), GTM (DPI), HND (DNI), PRY (CI), SLV (DUI), VEN (Cédula). Considere usar identification_number em vez dele.

document_type
enum<string>

Tipo de documento validado: P passaporte, DL carteira de motorista, ID documento nacional de identidade, RP autorização de residência (além de SSC, HIC, WP, TC, VISA, PSC, BC, OTHER). Exigido por alguns serviços (por exemplo, ESP).

Opções disponíveis:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

Data de validade do documento, YYYY-MM-DD. Obrigatória para a validação ESP (Espanha).

Exemplo:

"2030-01-15"

date_of_issue
string<date>

Data de emissão do documento, YYYY-MM-DD (fecha de expedición). Obrigatória para a validação da cédula COL (Colômbia).

Exemplo:

"2015-06-20"

nationality
string

Nacionalidade no formato ISO 3166-1 alpha-3. Obrigatória para alguns serviços.

gender
enum<string>

Gênero: M, F ou X (outro/desconhecido). Obrigatório para a validação RENAPER da Argentina (arg_renaper).

Opções disponíveis:
M,
F,
X
address

Endereço residencial. Prefira o objeto estruturado {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"}; uma string completa em uma única linha ainda é aceita. Obrigatório para serviços de verificação de endereço; quando um serviço define requisitos de endereço, partes ausentes retornam 400 com address_fields_required_by.

address_element_1
string

Endereço incluindo número e tipo de logradouro. Se omitido, é derivado de address.

address_element_2
string

Apartamento, unidade, edifício, andar ou linha adicional do endereço. Envie apenas quando tiver essa informação explicitamente.

address_element_3
string

Cidade, subúrbio, distrito, localidade ou bairro. Se omitido, é derivado de address.

address_element_4
string

Estado, província, região ou cidade. Se omitido, é derivado de address.

address_element_5
string

CEP ou código postal. postal_code é aceito como alias.

postal_code
string

Código postal para serviços baseados em endereço (alias de address_element_5).

driver_license_number
string

Número da carteira de motorista para serviços governamentais de verificação de documentos (AUS, NZL, IND).

driver_license_card_number
string

Número do cartão físico da carteira de motorista, quando exigido separadamente do número da carteira (AUS).

driver_license_state
string

Estado ou território emissor da carteira de motorista (AUS).

driver_license_version
string

Código de versão da carteira de motorista (NZL).

passport_number
string

Número do passaporte para serviços governamentais de verificação de passaporte (AUS, NZL, IND, CHN).

passport_expiration_date
string<date>

Data de validade do passaporte, YYYY-MM-DD, para serviços de verificação de passaporte.

passport_file_number
string

Número de arquivo do passaporte (IND).

passport_issue_country
string

País emissor do passaporte (ISO 3166-1 alpha-3) para serviços de verificação de passaporte.

medicare_card_number
string

Número do cartão Medicare (AUS).

immi_card_number
string

Número do ImmiCard australiano.

immi_card_expiry_date
string<date>

Data de validade do ImmiCard australiano.

citizenship_certificate_number
string

Número do certificado de cidadania (AUS).

birth_registration_number
string

Número de registro da certidão de nascimento (AUS).

birth_registration_date
string<date>

Data de registro da certidão de nascimento (AUS).

birth_registration_state
string

Estado de registro da certidão de nascimento (AUS).

marriage_certificate_number
string

Número da certidão de casamento (AUS).

change_of_name_certificate_number
string

Número da certidão de mudança de nome (AUS).

first_partner_name
string

Primeiro nome do cônjuge em uma certidão de casamento (AUS).

last_partner_name
string

Sobrenome do cônjuge em uma certidão de casamento (AUS).

voter_id
string

Número de registro eleitoral (IND EPIC, IRL).

epic_card
string

Número do título de eleitor EPIC da Índia.

pan
string

PAN (Permanent Account Number) da Índia.

national_id
string

Número de identidade nacional (CHN, MYS, KEN, KHM, NGA, ZAF, …).

cic
string

Código de Identificación de Credencial (CIC) do INE/IFE mexicano, 9 dígitos. Usado pelo serviço de validade da credencial INE do México (mex_ine_vigencia).

identificador_ciudadano
string

Identificador del Ciudadano do INE mexicano (9 dígitos). Usado com cic para os modelos modernos do INE (E/F/G/H) em mex_ine_vigencia.

ocr
string

Número OCR do INE mexicano (13 dígitos, no verso do cartão). Usado com cic para o Modelo D em mex_ine_vigencia.

voter_number
string

Clave de Elector do INE mexicano (18 caracteres). Usada com emission_number para os modelos antigos do IFE (A/B/C) em mex_ine_vigencia.

emission_number
string

Número de Emisión do INE mexicano. Usado com voter_number para os modelos antigos do IFE (A/B/C) em mex_ine_vigencia.

bvn
string

Bank Verification Number (BVN) da Nigéria.

bank_card_number
string

Número do cartão bancário (verificação de cartão bancário da CHN).

company_registration_number
string

Número de registro da empresa emitido pelo registro de empresas: o CNPJ no Brasil (por exemplo, 11222333000181), o número de registro na África do Sul (por exemplo, 1936/007721/06). Obrigatório para os serviços de registro de empresas e de diretores de empresas (bra_company_registry, bra_company_directors, zaf_company_registry, zaf_company_directors).

company_name
string

Razão social registrada, verificada em relação ao registro. Opcional para zaf_company_registry.

initials
string

As iniciais da pessoa conforme impressas no documento. Obrigatório para zaf_drivers_license; aceito por zaf_bank_account_holder.

licence_number
string

Número da carteira de motorista conforme impresso no cartão, para zaf_drivers_license. Quando omitido, é usado o document_number.

refugee_file_number
string

Número do processo de refugiado emitido pelo Department of Home Affairs da África do Sul. Obrigatório para zaf_refugee.

bank_name
string

Nome do banco que mantém a conta. Obrigatório para zaf_bank_account_holder.

bank_account_number
string

Número da conta bancária. Obrigatório para zaf_bank_account_holder; aceito por zaf_fraud_prevention.

account_type
string

Tipo de conta bancária para zaf_bank_account_holder: current, savings, transmission, subscriptionShare ou notKnown, sem diferenciar maiúsculas de minúsculas. Qualquer outro valor retorna 400. Omita-o quando não souber o tipo: nesse caso, a verificação cruzada do tipo de conta é reportada como não confirmada.

phone_number
string

Número de celular de contato, para os serviços que verificam a contactabilidade (zaf_bank_account_holder, zaf_fraud_prevention, zaf_refugee).

right_thumb
string

Impressão digital do polegar direito codificada em Base64 para zaf_dha_fingerprint_match, junto com left_thumb ou sozinha.

left_thumb
string

Impressão digital do polegar esquerdo codificada em Base64 para zaf_dha_fingerprint_match, junto com right_thumb ou sozinha.

score_level
integer

Nível mínimo de pontuação biométrica para zaf_criminal_face_screening. O padrão é 3.

max_matches
integer

Número máximo de correspondências candidatas que zaf_criminal_face_screening retorna. O padrão é 1.

vehicle_register_number
string

Número de registro do veículo. Obrigatório, junto com vehicle_licence_plate e vin, para zaf_vehicle_ownership.

vehicle_licence_plate
string

Número da placa do veículo. Obrigatório, junto com vehicle_register_number e vin, para zaf_vehicle_ownership.

vin
string

Número de identificação do veículo (VIN ou número do chassi). Obrigatório, junto com vehicle_register_number e vehicle_licence_plate, para zaf_vehicle_ownership.

ssn
string

Número do Seguro Social (Social Security Number, EUA).

phone
string

Número de telefone para serviços de verificação de telefone.

landline
string

Número de telefone fixo para serviços de verificação de telefone.

email
string<email>

Endereço de e-mail para serviços de verificação de identidade.

country_of_residence
string

País de residência em ISO 3166-1 alpha-2. Usado por serviços globais de enriquecimento de identidade (por exemplo, glb_identity_enrichment) para direcionar a consulta.

Exemplo:

"US"

partial_match_action
enum<string>
padrão:NO_ACTION

O efeito de um partial_match em database_validation.status. O padrão é NO_ACTION (o status permanece Approved, com um aviso).

Opções disponíveis:
DECLINE,
NO_ACTION
no_match_action
enum<string>
padrão:DECLINE

O efeito de um no_match em database_validation.status. O padrão é DECLINE.

Opções disponíveis:
DECLINE,
NO_ACTION
save_api_request
boolean
padrão:true

Persiste a validação como uma sessão (visibilidade no console, endpoint de decisão, webhook status.updated). Também altera o formato da resposta validations: objetos por serviço quando true (padrão), um mapa de campos mesclado quando false.

vendor_data
string

Seu identificador para o usuário validado; retornado na resposta e armazenado com a sessão.

metadata
object | null

JSON livre armazenado com a requisição e retornado na resposta.

Resposta

Validação concluída: pelo menos um serviço selecionado retornou um resultado utilizável. Consulte database_validation.match_type para o resultado agregado, validations para as comparações de campos por serviço e os outcome_codes, e errors (quando presente) para os serviços que falharam.

request_id
string<uuid>

ID da sessão persistida quando save_api_request=true (utilizável com GET /v3/session/{sessionId}/decision/); caso contrário, um UUID de correlação transitório.

database_validation
object
vendor_data
string | null

Eco dos vendor_data que você enviou.

metadata
object | null

Eco do metadata que você enviou.

created_at
string<date-time>
Última modificação em 1 de novembro de 2026