> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# API de verificação de identidade: 14,000+ documentos

> A verificação de identidade da Didit lê e autentica documentos com IA em 220+ países, 14,000+ tipos e 48+ idiomas. $0.15 por consulta, $10 grátis por mês.

A Verificação de identidade da Didit lê e autentica documentos de identidade emitidos por governos, como passaportes, documentos de identidade, carteiras de motorista e autorizações de residência, em 220+ países e 14,000+ tipos de documento. Ela verifica se o documento foi adulterado ou fraudado e depois extrai seus dados com OCR baseado em IA; onde o país permite, as pessoas podem se verificar sem documento, por meio de uma consulta a uma base de dados ou de uma carteira de identidade digital ([três formas de verificar](#três-formas-de-verificar)).A lição da Academy sobre como ler o resultado de uma verificação chega à verificação de identidade em 3:47 e mostra por que as verificações de autenticidade vêm antes dos dados extraídos.[Verificação de identidade: autenticidade antes dos dados — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=227\&rel=0\&playsinline=1)

Prompt de integração da Verificação de identidade
        Copy prompt to clipboard



      
      

\<pre>

\````# Goal
Integrate Didit ID Verification (OCR + document authenticity) into your app. Pick ONE of the two delivery modes below.

\# Mode A — Session-based (recommended for user-facing flows)
Use this when the user uploads / photographs their document in a hosted Didit flow. The feature is configured on a workflow and runs as part of /v3/session/.

1\. Create a workflow with the ID_VERIFICATION feature (Business Console or POST /v3/workflows/). Canonical feature enum: "OCR" (legacy) or "ID_VERIFICATION".
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open the returned session.url for the user OR mount the Web/Mobile SDK.
4\. After completion fetch the decision — GET /v3/session/{sessionId}/decision/ (or subscribe to the session.status.updated webhook).

The decision response surfaces the result under the plural array `id_verifications[]` (one entry per document collected in the workflow).

\# Mode B — Standalone API (server-to-server)
Use when you already have one or two document images and want a one-shot OCR + checks call.

POST https://verification.didit.me/v3/id-verification/
multipart/form-data — x-api-key: YOUR_API_KEY

Required: front_image. Required for dual-sided docs (ID cards, driver licences): back_image.
Allowed extensions: tiff/jpg/jpeg/png/webp/pdf. Max 5 MB per file. Images must be uncropped — all 4 corners visible.

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/id-verification/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'front_image=@./id_front.jpg' \
-F 'back_image=@./id_back.jpg' \
-F 'perform_document_liveness=true' \
-F 'minimum_age=18' \
-F 'expiration_date_not_detected_action=DECLINE' \
-F 'invalid_mrz_action=DECLINE' \
-F 'inconsistent_data_action=DECLINE' \
-F 'preferred_characters=latin' \
-F 'save_api_request=true' \
-F 'vendor_data=user-123'
\```
Returns: { request_id, id_verification: { status, full_name, document_type, document_number, date_of_birth, expiration_date, parsed_address, mrz, barcodes, portrait_image, front_document_image, back_document_image, warnings: [...] } }.

\# Status enum (per id_verifications[].status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.ID_VERIFICATION)
The warnings[] array on each id_verification carries risk codes including:
DOCUMENT_EXPIRED, INVALID_MRZ, INCONSISTENT_DATA, COULD_NOT_RECOGNIZE_DOCUMENT, DOCUMENT_LIVENESS_FAILED, MIN_AGE_NOT_REACHED, MAX_AGE_EXCEEDED, EXPIRATION_DATE_NOT_DETECTED, DUPLICATED_DOCUMENT, FRAUD_RISK_FROM_OCR, COUNTRY_NOT_ALLOWED, DOCUMENT_TYPE_NOT_ALLOWED.
Full catalogue: /core-technology/id-verification/warnings-id-verification.

\# Failure modes to handle
\- HTTP 403 "You don't have enough credits..." — insufficient balance.
\- HTTP 400 with multipart validation errors (missing back_image on dual-sided docs, file > 5 MB, unsupported extension).
\- status="Declined" with one or more terminal warnings (DOCUMENT_EXPIRED, DOCUMENT_LIVENESS_FAILED, COULD_NOT_RECOGNIZE_DOCUMENT, etc.) — surface the first warning's long_description to the user and stop the flow.
\- status="In Review" with a DOCUMENT_LIVENESS_NOT_COMPUTED warning — the requested forgery check produced no usable score (provider error or crash); treat the document as unchecked and route it to your manual-review queue.
\- status="In Review" — route to your manual-review queue; do not approve the user.

\# See also
\- Canonical schema: /reference/data-models#id-verification
\- Full integration playbook: /integration/integration-prompt
\- Risk catalogue: /core-technology/id-verification/warnings-id-verification
\- Per-feature report: /core-technology/id-verification/report-id-verification````

\</pre>



      
      

Paste into

![Etapas da verificação de identidade da Didit, da captura do documento à análise com IA e à decisão](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-verification-steps.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=42c64546f3495000d7ea3b10c4b5fa50)**1. Captura inteligente**Comece o processo de verificação sem esforço com nosso sistema de captura intuitivo, baseado em IA. Os usuários enviam ou fotografam seus documentos de identidade com assistência em tempo real:* **Detecção automática** do tipo de documento e do país emissor
* **Indicações visuais em tempo real** para posicionamento, iluminação e foco ideais
* **Captura automática** quando as condições são ideais - sem tentativas manuais repetidas
* Compatível com **passaportes**, **carteiras de motorista**, **documentos nacionais de identidade** e **autorizações de residência**> [!NOTE]
>
> *Por que isso importa*: nossa captura inteligente reduz o atrito para o usuário e garante envios de alta qualidade já na primeira tentativa, aumentando as taxas de conversão e a confiança.**2. Processamento avançado de dados**Extraia e valide dados de identidade com precisão incomparável.**Extração de dados** - tecnologia de ponta processa todos os campos principais:| Capacidade | Detalhes |
| - | - |
| **Extração de campos** | Nome completo, data de nascimento, número do documento, datas de emissão e validade, nacionalidade e mais |
| **OCR** | Reconhecimento de texto de alta precisão |
| **Análise de MRZ** | Decodificação da zona de leitura óptica (MRZ) |
| **Decodificação de códigos de barras** | Extração automática dos dados de códigos de barras |**Validação de dados**:* Cruza os dados entre as zonas visuais, a MRZ e os códigos de barras para verificar a consistência
* Verificação criptográfica de códigos de barras assinados pelo emissor, quando a autoridade emissora publica os certificados necessários para checá-los. Os documentos nacionais de identidade franceses já são cobertos: o código de barras 2D-Doc da ANTS é verificado contra um certificado de assinante que se encadeia à lista de confiança da ANTS, de modo que um código de barras que a autoridade não assinou é detectado mesmo quando seu conteúdo parece consistente
* Correspondência de formato e de padrões para detectar anomalias
* Consultas em tempo real a bases de dados governamentais (onde permitido) para uma verificação com fonte oficial> [!NOTE]
>
> *Por que isso importa*: o processamento abrangente de dados garante precisão e elimina erros, dando confiança em cada verificação.**3. Análise avançada**Nosso sistema baseado em IA realiza verificações abrangentes para garantir a integridade e a autenticidade do documento:- Verificação de **autenticidade do documento**
- **Detecção de adulteração** e análise de integridade da imagem
- **Prova de vida do documento** para evitar fraudes como:
  * Capturas de tela de documentos digitais
  * Fotos de documentos exibidos em telas
  * Cópias impressas de documentos
  * Documentos manipulados com retratos alterados
- **Validação de elementos de segurança** (hologramas, marcas d'água etc.)
- **Correspondência de modelos** com uma base certificada**4. Resultados e integração sem atritos**Receba informações acionáveis na hora, com opções flexíveis de entrega.**Resultados em tempo real**:- Atualizações imediatas em um painel intuitivo
- Notificações instantâneas por webhook para fluxos automatizados
- API RESTful para integração sem atritos aos seus sistemas existentes**Relatórios completos**:* Relatórios detalhados em PDF com os resultados da verificação e as evidências
* Trilhas de auditoria para conformidade e manutenção de registros
* Opções personalizáveis para se adequar às suas necessidades operacionais> [!NOTE]
>
> *Por que isso importa*: resultados rápidos e acessíveis permitem que sua equipe aja com agilidade, mantendo um processo seguro e auditável.***## Três formas de verificarUm documento fotografado é um dos três [métodos de verificação de identidade](https://docs.didit.me/core-technology/id-verification/verification-methods.md). Em cada país, você também pode permitir que as pessoas comprovem quem são sem nenhum documento:- **[Consulta sem documento](https://docs.didit.me/core-technology/id-verification/non-doc-lookup.md)** - o usuário digita o número do documento nacional de identidade e alguns dados pessoais, e nós os conferimos em um registro governamental ou em outra fonte autorizada, indicada por país. Quando essa fonte retorna um retrato, a selfie, a prova de vida passiva e a correspondência facial estão incluídas.
- **[Carteiras de identidade digital](https://docs.didit.me/core-technology/id-verification/digital-id-wallets.md)** - o usuário entra com uma identidade digital governamental ou bancária, como MitID, BankID ou itsme, e a carteira compartilha um conjunto assinado de atributos.Tudo nesta página descreve a captura de documentos, que não mudou: um fluxo (workflow) que não menciona métodos continua usando apenas a captura de documentos.***## Requisitos do documentoPara o melhor êxito na verificação, os documentos devem atender a estes padrões:#### Requisitos gerais- Emitido por um governo e válido dentro do período de validade configurado
- Fisicamente íntegro (sem danos, riscos ou manchas que escondam detalhes)
- Todas as informações críticas (nome completo, data de nascimento, MRZ etc.) claramente legíveis
- Dados consistentes em todos os documentos enviados#### Requisitos da imagem- Foto original e em tempo real (sem capturas de tela, digitalizações ou cópias digitais)
- Formatos compatíveis: JPG, JPEG, PNG, PDF
- Tamanho máximo do arquivo: 5MB
- Imagem colorida, com todos os cantos do documento visíveis
- Sem reflexos, sombras, edição digital ou manipulação
- Documentos físicos são obrigatórios (documentos digitais só são aceitos em regiões selecionadas onde são oficialmente reconhecidos)## Configurações adicionais por país e tipo de documentoConfigure regras detalhadas por país e tipo de documento diretamente no console. Esses controles permitem adaptar os critérios de aceitação e as preferências de transcrição às suas necessidades de conformidade.![Painel de configurações adicionais da verificação de identidade da Didit para regras de validade e aceitação por país](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-additional-settings.jpeg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=4238b10a404795a61926fbdf1a3adc20)* **Modo de validade**: escolha como tratar documentos com data de validade vencida.

  * **Rejeitar documentos expirados**: se a data de validade do documento for anterior a hoje, marque-o como expirado e rejeite.
  * **Permitir documentos expirados**: não sinalize nem bloqueie documentos com data de validade vencida.

  Essa configuração também controla o monitoramento pós-aprovação, que vem ativado por padrão: com **Rejeitar documentos expirados**, uma sessão aprovada passa para `"Kyc Expired"` quando a data de validade do documento vence depois, e o evento `status.updated` é disparado; com **Permitir documentos expirados**, ela continua aprovada e nunca é monitorada. Veja o [monitoramento de documentos](https://docs.didit.me/core-technology/id-verification/document-monitoring-id-verification.md).
* **Formato de caracteres preferido**: selecione como os nomes e campos extraídos devem ser normalizados.
  * **Prefira caracteres latinos (A–Z)**: exemplo: "Mohammed"
  * **Prefira script original (não latino)**: exemplo: "محمد"
* **Suporte regional e subtipos**: ative documentos por região e especifique os subtipos aceitáveis quando um tipo de documento tiver muitas variações.
  * Exemplo: para carteiras de motorista dos Estados Unidos, selecione os subtipos exatos que você aceita (por exemplo, Arizona Commercial Driver License, Indiana Operator License (REAL ID), New York Enhanced Driver License etc.).
  * Use o controle "Subtipos aceitos" para incluir/excluir rapidamente muitas variantes (por exemplo, "128 selecionados").> Dica: essas configurações se aplicam por país e tipo de documento, então você pode ser rigoroso em alguns mercados e mais flexível em outros.## Restrições de idade por paísAplique requisitos de idade mínima e máxima por país durante a verificação de identidade. O sistema extrai a data de nascimento do usuário a partir do documento enviado e a confere com os limites de idade configurados para o país emissor do documento.### ConfiguraçãoAs restrições de idade são configuradas como uma tabela por país, diretamente no console:| Coluna | Descrição |
| - | - |
| **País** | O país emissor do documento (ISO 3166-1 alpha-3). Apenas os países habilitados na sua lista de documentos permitidos são exibidos. |
| **Idade mín.** | Idade mínima exigida. Usuários mais jovens que esse valor acionam a ação configurada (recusar ou revisar). |
| **Idade máx.** | Idade máxima permitida. Usuários mais velhos que esse valor acionam a ação configurada. Deixe vazio para não ter limite superior. |
| **Substituições de estado/região** | Para países com variação de idade subnacional (por exemplo, Estados Unidos e México), abra o ícone de configurações para definir idades mínimas e máximas por estado que substituem os padrões do país. |### Padrões de maioridadeO console inclui o botão **"Aplicar padrões de maioridade"**, que preenche automaticamente a idade mínima de cada país com a maioridade legal conhecida (18 anos na maioria dos países, com exceções como 19 na Coreia do Sul, 21 nos Emirados Árabes Unidos, 20 na Nova Zelândia etc.). Depois você pode ajustar países individuais ou adicionar substituições por estado conforme necessário.### Substituições por estado/regiãoAlguns países têm limites legais de idade diferentes conforme o estado ou a região. Quando um documento é digitalizado, o sistema de OCR extrai a região (por exemplo, "Mississippi", "Alabama", "Jalisco") do documento. Se houver uma substituição configurada para essa região, ela tem precedência sobre a configuração de idade do país.Por exemplo, se os Estados Unidos têm idade mínima de 18 anos, mas o Mississippi tem uma substituição de estado de 21, um usuário que apresentar uma carteira de motorista do Mississippi será conferido contra a idade mínima de 21.### Ações configuráveisQuando a idade de um usuário fica fora do intervalo configurado para o país (ou estado) do documento, você pode escolher a ação:* **Recusar**: a sessão é recusada automaticamente.
* **Revisar**: a sessão é sinalizada para revisão manual.> [!NOTE]
>
> As restrições de idade por país também funcionam com fluxos (workflows) de **Verificação de idade adaptativa**. Quando um caso limítrofe aciona o fallback para a verificação de identidade, a checagem de idade usa essas configurações por país para tomar a decisão final com base no país e na região emissores do documento.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.