from didit import Didit# Reads DIDIT_API_KEY.client = Didit()result = client.document_ai.analyze( document=open("document.pdf", "rb"), fields="[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",)print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.documentAi.analyze({
document: await fileFromPath("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{
Document: didit.FileFromPath("document.pdf"),
Fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
import me.didit.Didit;
import me.didit.types.DocumentAiAnalyzeParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()
.document(Path.of("document.pdf"))
.fields("[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->documentAi->analyze([
'document' => File::fromPath('document.pdf'),
'fields' => '[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.document_ai.analyze(
document: Pathname("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams
{
Document = FileUpload.FromPath("document.pdf"),
Fields = "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
Console.WriteLine(JsonSerializer.Serialize(result));
curl --request POST \
--url https://verification.didit.me/v3/document-ai/ \
--header 'Content-Type: multipart/form-data' \
--header 'x-api-key: <api-key>' \
--form document=@example-file \
--form 'fields=[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]' \
--form expected_first_name=Sophia \
--form expected_last_name=Martinez \
--form 'expected_company_name=<string>' \
--form 'expected_company_country=<string>' \
--form document_ai_name_match_score_threshold=80 \
--form document_ai_unreadable_document_action=REVIEW \
--form document_ai_missing_required_fields_action=REVIEW \
--form document_ai_document_tampering_action=DECLINE \
--form document_ai_name_mismatch_action=NO_ACTION \
--form document_ai_unsupported_file_action=REVIEW \
--form save_api_request=true \
--form vendor_data=user-123 \
--form 'metadata={
"flow": "onboarding"
}'
{ "request_id": "9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c", "document_ai": { "status": "Approved", "extracted_data": { "employer_name": "Acme Payments Ltd", "employee_name": "Sophia Martinez", "net_pay": 3120.5, "pay_date": "2026-07-31" }, "detected_codes": [ { "type": "CODE_128", "page_number": 1, "position": [ [ 96, 456 ], [ 96, 616 ], [ 1012, 611 ], [ 1015, 456 ] ], "x": 96, "y": 456, "width": 919, "height": 160, "page_width": 1200, "page_height": 1700, "raw_payload": "SU5WLTIwMjYtMDA0Mg==", "parsed_payload": "INV-2026-0042" } ], "fields": [ { "key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false }, { "key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true }, { "key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false }, { "key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false } ], "name_match_score": 100, "name_on_document": "Sophia Martinez", "warnings": [] }, "vendor_data": "user-123", "metadata": { "flow": "onboarding" }, "created_at": "2026-08-19T16:40:12.318Z"}
Document AI
Document AI API: extração de dados de documentos
POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.
POST
/
v3
/
document-ai
/
Python
from didit import Didit# Reads DIDIT_API_KEY.client = Didit()result = client.document_ai.analyze( document=open("document.pdf", "rb"), fields="[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",)print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.documentAi.analyze({
document: await fileFromPath("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{
Document: didit.FileFromPath("document.pdf"),
Fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
import me.didit.Didit;
import me.didit.types.DocumentAiAnalyzeParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()
.document(Path.of("document.pdf"))
.fields("[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->documentAi->analyze([
'document' => File::fromPath('document.pdf'),
'fields' => '[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.document_ai.analyze(
document: Pathname("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams
{
Document = FileUpload.FromPath("document.pdf"),
Fields = "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
Console.WriteLine(JsonSerializer.Serialize(result));
curl --request POST \
--url https://verification.didit.me/v3/document-ai/ \
--header 'Content-Type: multipart/form-data' \
--header 'x-api-key: <api-key>' \
--form document=@example-file \
--form 'fields=[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]' \
--form expected_first_name=Sophia \
--form expected_last_name=Martinez \
--form 'expected_company_name=<string>' \
--form 'expected_company_country=<string>' \
--form document_ai_name_match_score_threshold=80 \
--form document_ai_unreadable_document_action=REVIEW \
--form document_ai_missing_required_fields_action=REVIEW \
--form document_ai_document_tampering_action=DECLINE \
--form document_ai_name_mismatch_action=NO_ACTION \
--form document_ai_unsupported_file_action=REVIEW \
--form save_api_request=true \
--form vendor_data=user-123 \
--form 'metadata={
"flow": "onboarding"
}'
{ "request_id": "9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c", "document_ai": { "status": "Approved", "extracted_data": { "employer_name": "Acme Payments Ltd", "employee_name": "Sophia Martinez", "net_pay": 3120.5, "pay_date": "2026-07-31" }, "detected_codes": [ { "type": "CODE_128", "page_number": 1, "position": [ [ 96, 456 ], [ 96, 616 ], [ 1012, 611 ], [ 1015, 456 ] ], "x": 96, "y": 456, "width": 919, "height": 160, "page_width": 1200, "page_height": 1700, "raw_payload": "SU5WLTIwMjYtMDA0Mg==", "parsed_payload": "INV-2026-0042" } ], "fields": [ { "key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false }, { "key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true }, { "key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false }, { "key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false } ], "name_match_score": 100, "name_on_document": "Sophia Martinez", "warnings": [] }, "vendor_data": "user-123", "metadata": { "flow": "onboarding" }, "created_at": "2026-08-19T16:40:12.318Z"}
Envie um documento e a lista de campos que você quer ler nele. A Didit executa seu modelo de extração padrão sobre o arquivo, retorna cada campo com tipo (text, number ou date como YYYY-MM-DD), detecta e decodifica os QR codes e códigos de barras compatíveis, verifica se o arquivo foi manipulado e, opcionalmente, compara o nome no documento com o nome da pessoa ou empresa esperada. Use-o para comprovante de fundos, holerites, extratos bancários, documentos fiscais, faturas ou qualquer documento que não se encaixe em um modelo fixo.Esta é a versão de servidor para servidor da etapa hospedada de Document AI. A requisição é multipart/form-data: o arquivo vai em document, e as definições dos campos vão em fields como uma única string com um array codificado em JSON.
fields é um array JSON de 1 a 30 itens, enviado como uma única string. Cada item tem uma key (letras minúsculas, dígitos e sublinhados, única dentro da requisição), um name legível por humanos, uma instruction que diz ao modelo o que procurar, um type (text, number ou date) e duas flags: required e is_full_name.
[ { "key": "account_holder", "name": "Account holder", "instruction": "Full name of the person or company the account belongs to", "type": "text", "required": true, "is_full_name": true }, { "key": "balance", "name": "Closing balance", "instruction": "Closing balance shown on the statement, as a number without the currency symbol", "type": "number", "required": true }, { "key": "currency", "name": "Currency", "instruction": "Three-letter currency code of the balance", "type": "text" }, { "key": "statement_date", "name": "Statement date", "instruction": "Date the statement was issued", "type": "date", "required": true }]
Em uma requisição multipart, o array inteiro é um único valor de formulário:
curl -X POST https://verification.didit.me/v3/document-ai/ \ -H "x-api-key: $DIDIT_API_KEY" \ -F "document=@./bank-statement.pdf" \ -F 'fields=[{"key":"account_holder","name":"Account holder","instruction":"Full name of the account holder","type":"text","required":true,"is_full_name":true},{"key":"balance","name":"Closing balance","instruction":"Closing balance as a number","type":"number","required":true}]' \ -F "expected_first_name=Jane" \ -F "expected_last_name=Doe"
A resposta devolve os fields normalizados e retorna extracted_data com chaves correspondentes aos seus valores de key, com null para tudo o que o modelo não conseguiu encontrar. name, instruction e type são opcionais em cada item (type tem text como padrão); key é obrigatório. Enviar fields como chaves de formulário com colchetes (fields[0][key]=...) ou em qualquer formato que não seja um array JSON retorna 400 antes de qualquer extração, portanto nada é cobrado.
Toda resposta bem-sucedida inclui document_ai.detected_codes. Cada item contém:
Campo
Descrição
type
Simbologia detectada, como QR_CODE, CODE_128, EAN_13, DATA_MATRIX ou PDF_417
page_number
Número da página, começando em 1
position
Polígono detectado em pixels da página renderizada, ou null quando não há uma localização confiável
x, y, width, height
Caixa delimitadora em pixels da página renderizada, ou null quando não há uma localização confiável
page_width, page_height
Dimensões da página renderizada usadas pelas coordenadas
parsed_payload
String decodificada ou valor estruturado, ou null quando o código só pode ser localizado
raw_payload
Payload bruto do decodificador como string base64, quando disponível; caso contrário, uma string vazia
O array cobre todas as páginas processadas de um PDF e fica vazio quando nenhum código suportado é encontrado. A Didit nunca adivinha um payload: QR codes danificados podem ser retornados com sua localização e parsed_payload: null, e falhas na detecção de códigos não fazem a requisição de Document AI falhar.
Marque no máximo um campo com is_full_name: true e envie o nome de quem você espera que seja o titular do documento:
Você está verificando
Envie
O nome é comparado com
Uma pessoa
expected_first_name + expected_last_name
o nome completo da pessoa
Uma empresa
expected_company_name (+ expected_company_country opcional, um código ISO de 2 letras)
o nome da empresa
Envie um grupo ou o outro, não os dois. Quando um nome é extraído e há um nome esperado, a resposta inclui name_match_score (de 0 a 100) e name_on_document. Uma pontuação abaixo de document_ai_name_match_score_threshold (padrão 80) gera o aviso DOCUMENT_AI_NAME_MISMATCH e aplica document_ai_name_mismatch_action. Se nenhum campo estiver marcado com is_full_name, a Didit usa o primeiro campo de texto cuja chave pareça um nome (name, holder, full_name, account_holder); marque o campo explicitamente quando quiser controlar qual valor é comparado. Quando nenhum nome é encontrado no documento, ou nenhum nome esperado é enviado, a verificação de nome é ignorada e name_match_score é null.
Cada risco abaixo corresponde a um parâmetro de ação que você pode definir por requisição: DECLINE, REVIEW ou NO_ACTION. A ação mais rigorosa acionada define document_ai.status (Declined > In Review > Approved), e todos os riscos acionados são listados em document_ai.warnings. Os padrões são os mesmos da etapa do fluxo hospedado; consulte Regras e avisos do Document AI para saber como cada risco é detectado.
Arquivos aceitos: PDF (com suporte a várias páginas), JPG, JPEG, PNG, TIFF, WebP ou um ZIP contendo o documento, até 30 MB. PDFs criptografados retornam 400; envie um PDF descriptografado ou uma foto.
save_api_request (padrão true): a requisição, os campos extraídos e os códigos detectados aparecem no Business Console em Manual Checks, onde sua equipe pode revisá-los. Defina como false para não salvar.
vendor_data e metadata são retornados sem alterações na resposta para que você possa vincular o resultado aos seus próprios registros.
Preço: $0.20 por documento, cobrado quando o documento é processado e um status é retornado. O desconto do seu plano se aplica. Consulte Preços.
Precisa que o próprio usuário envie o documento? Precisa coletar até 3 documentos em um único fluxo, traduzir automaticamente a tela de envio ou cruzar os campos extraídos com dados do documento de identidade ou de questionários? Use, em vez disso, a etapa hospedada do fluxo de trabalho do Document AI.
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.
O documento a ser lido. Extensões permitidas: tiff, jpg, jpeg, png, pdf, webp, zip. Tamanho máximo de upload: 30 MB (arquivos maiores são rejeitados com 400). PDFs com várias páginas são compatíveis (espere maior latência); PDFs criptografados são rejeitados com 400. As imagens são compactadas automaticamente antes do processamento.
Uma string com um array codificado em JSON contendo 1–30 definições de campos (máximo de 16 KB). Cada item: key (obrigatório, ^[a-z0-9_]{1,64}$, único; a chave retornada em extracted_data), name (≤100 caracteres, exibido nas mensagens), instruction (≤500 caracteres, o que o modelo deve ler), type (text padrão | number | date), required (booleano, padrão false), is_full_name (booleano, padrão false, no máximo um por requisição). Arrays de formulário no estilo de colchetes, JSON inválido, chaves duplicadas ou mais de um is_full_name retornam 400 antes de qualquer processamento ou faturamento.
Exemplo:
"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
Primeiro nome a ser verificado em relação ao campo de nome do documento (correspondência aproximada, considerando transliteração). Use junto com expected_last_name; não pode ser combinado com expected_company_name.
Nome da empresa a ser verificado em relação ao campo de nome do documento (para documentos de empresas). Não pode ser combinado com expected_first_name / expected_last_name (sem valor de exemplo de propósito: o exemplo de requisição gerado usa os campos de pessoa; substitua-os por este ao verificar um documento de empresa).
Código de país ISO 3166-1 alfa-2 opcional (duas letras ASCII, por exemplo FR) que ajusta a normalização do nome da empresa para expected_company_name. Usado apenas com expected_company_name.
name_match_score mínimo (0–100) para considerar que o nome corresponde. Uma pontuação menor adiciona DOCUMENT_AI_NAME_MISMATCH, regido por document_ai_name_mismatch_action.
O que fazer quando a análise forense de PDF/EXIF suspeita de manipulação — modificação após a assinatura digital, editor de PDF conhecido, manipulação por sobreposição de texto, reexportação suspeita, anomalias de imagem (DOCUMENT_AI_SUSPECTED_MANIPULATION).
Quando true (padrão), persiste a chamada como uma sessão do tipo API: visível no Business Console, recuperável via GET /v3/session/{sessionId}/decision/ usando o request_id retornado, com o documento enviado, os valores extraídos, as definições de campos e o snapshot da correspondência de nome armazenados. Quando false, nada é armazenado e request_id é um UUID transitório usado apenas para correlacionar a resposta; a chamada continua sendo cobrada.
String opaca opcional (seu ID interno de usuário, e-mail, UUID…) armazenada na sessão persistida e devolvida na resposta. Use-a para correlacionar chamadas de API com seus próprios registros e para filtrar sessões posteriormente.
Objeto JSON opcional armazenado com a sessão (quando save_api_request=true) e devolvido na resposta. Em requisições multipart, envie-o como um campo de string codificada em JSON (por exemplo, metadata={"flow":"onboarding"}), que é convertido em um objeto.
Exemplo:
{ "flow": "onboarding" }
Resposta
Documento processado. document_ai.status é Approved, Declined ou In Review; cada problema detectado é detalhado em document_ai.warnings. Um documento com problemas ainda retorna 200: inspecione o corpo, não apenas o código HTTP. Quando save_api_request=true, request_id é o id da sessão persistida.
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.
Quando a requisição foi processada (UTC, ISO 8601).
Última modificação em 1 de novembro de 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Didit Docs","description":"The best way to integrate identity and fraud checks into your app. One API, four product lines (KYC · KYB · Transaction Monitoring · Wallet Screening), 220+ countries, 14,000+ documents, sub-2s inference, $10 free credit/month.","colors":{"primary":"#2567FF","light":"#90B1FF","dark":"#1B4FE0"},"logo":{"light":"https://mintcdn.com/didit-0f962782/dCzNNoYCusBNdK3I/logo/didit.svg?fit=max\u0026auto=format\u0026n=dCzNNoYCusBNdK3I\u0026q=85\u0026s=9f162fb8295fa1fd9300a24b293ce0b7","dark":"https://mintcdn.com/didit-0f962782/TefoKXCbZA_GIK5a/logo/didit-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=TefoKXCbZA_GIK5a\u0026q=85\u0026s=c8c541689c814ca6a2c873cf6185a3a7","href":"https://docs.didit.me"},"favicon":"https://mintcdn.com/didit-0f962782/t6r0B-WdGMU5mSS-/favicon.ico?fit=max\u0026auto=format\u0026n=t6r0B-WdGMU5mSS-\u0026q=85\u0026s=b291917b960ebe959ae3b1aa233eafa8","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://verification.didit.me"}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Sign in","href":"https://business.didit.me"}},"footer":{"socials":{"x":"https://x.com/didit","github":"https://github.com/didit-protocol","linkedin":"https://linkedin.com/company/91001155","website":"https://didit.me"}},"search":{"prompt":"Search Didit docs..."},"seo":{"metatags":{"twitter:site":"@didit","theme-color":"#2567FF","apple-mobile-web-app-title":"Didit Docs"},"organization":{"id":"https://didit.me/#organization","name":"Didit","legalName":"Didit Protocol","url":"https://didit.me","logo":"https://didit.me/logos/primary-horizontal-light.png","sameAs":["https://www.linkedin.com/company/91001155","https://www.youtube.com/@getdidit","https://github.com/didit-protocol","https://x.com/didit"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter","weight":500},"body":{"family":"Inter","weight":400}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page moved or never existed. [Back to docs](/)"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/didit-0f962782/Xkecx-xLq1K2abHK/images/og-thumbnail-backplate.png?fit=max\u0026auto=format\u0026n=Xkecx-xLq1K2abHK\u0026q=85\u0026s=c699fa252554b2ac8d4c631e209a1473","fonts":{"family":"Inter"}},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"href":"pt-br"},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"href":"ja"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"didit-0f962782","hasAudioNarration":false,"actualSubdomain":"didit-0f962782","customDomains":["docs.didit.me"],"gitSource":{"type":"github","owner":"didit-protocol","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae6fa1c62ef36be88636f75","collectionId":"50020d30-4212-40ce-b44f-967797e5972b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae6fa1c62ef36be88636f75"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae71ae0a0d878501ab6c761","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"es","tag":"Referencia de la API","count":432},{"language":"ja","tag":"APIリファレンス","count":432},{"language":"pt-BR","tag":"Referência da API","count":432},{"language":"en","tag":"API Reference","count":424},{"language":"en","tag":"Database Validation","count":129},{"language":"es","tag":"Validación de base de datos","count":129},{"language":"ja","tag":"データベース検証","count":129},{"language":"pt-BR","tag":"Validação de banco de dados","count":129},{"language":"es","tag":"Primeros pasos","count":93},{"language":"ja","tag":"はじめに","count":93},{"language":"pt-BR","tag":"Primeiros passos","count":93},{"language":"en","tag":"Get Started","count":87},{"language":"en","tag":"User Verification","count":74},{"language":"es","tag":"Verificación de usuarios","count":74},{"language":"ja","tag":"ユーザー認証","count":74},{"language":"pt-BR","tag":"Verificação de usuários","count":74},{"language":"en","tag":"Integrate / SDKs","count":62},{"language":"es","tag":"Integración / SDKs","count":62},{"language":"ja","tag":"連携 / SDK","count":62},{"language":"pt-BR","tag":"Integração / SDKs","count":62},{"language":"en","tag":"Travel Rule","count":55},{"language":"es","tag":"Travel Rule","count":55},{"language":"ja","tag":"トラベルルール","count":55},{"language":"pt-BR","tag":"Travel Rule","count":55},{"language":"en","tag":"Verification","count":48},{"language":"es","tag":"Verificación","count":48},{"language":"ja","tag":"検証","count":48},{"language":"pt-BR","tag":"Verificação","count":48},{"language":"en","tag":"Authentication","count":37},{"language":"es","tag":"Autenticación","count":37},{"language":"ja","tag":"認証","count":37},{"language":"pt-BR","tag":"Autenticação","count":37},{"language":"en","tag":"Digital ID wallets","count":35},{"language":"en","tag":"User and Business Verifications","count":35},{"language":"es","tag":"Wallets de identidad digital","count":35},{"language":"es","tag":"Verificaciones de usuarios y empresas","count":35},{"language":"ja","tag":"デジタルIDウォレット","count":35},{"language":"ja","tag":"ユーザーと企業の認証","count":35},{"language":"pt-BR","tag":"Carteiras de identidade digital","count":35},{"language":"pt-BR","tag":"Verificações de usuários e empresas","count":35}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/didit-0f962782/e74dc7c3efa9e767/style.css"}],"page":{"pagePath":"pt-br/standalone-apis/document-ai","slug":"/pt-br/standalone-apis/document-ai","pageMetadata":{"title":"Document AI API: extração de dados de documentos","sidebarTitle":"API Document AI","description":"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.","keywords":["API Document AI","API de extração de dados de documentos","API de OCR de documentos personalizada","API de comprovante de fundos","API de extração de holerite","OCR de extrato bancário","extração de documentos KYC","detecção de adulteração de documentos","API da Didit"],"openapi":"pt-br/openapi-25.json POST /v3/document-ai/","href":"/pt-br/standalone-apis/document-ai"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Envie um documento e a lista de campos que você quer ler nele. A Didit executa seu modelo de extração padrão sobre o arquivo, retorna cada campo com tipo (`,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`number`}),` ou `,_jsx(_components.code,{children:`date`}),` como `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`), detecta e decodifica os QR codes e códigos de barras compatíveis, verifica se o arquivo foi manipulado e, opcionalmente, compara o nome no documento com o nome da pessoa ou empresa esperada. Use-o para comprovante de fundos, holerites, extratos bancários, documentos fiscais, faturas ou qualquer documento que não se encaixe em um modelo fixo.`]}),`\n`,_jsxs(_components.p,{children:[`Esta é a versão de servidor para servidor da etapa hospedada de `,_jsx(_components.a,{href:`/pt-br/core-technology/document-ai/overview`,children:`Document AI`}),`. A requisição é `,_jsx(_components.code,{children:`multipart/form-data`}),`: o arquivo vai em `,_jsx(_components.code,{children:`document`}),`, e as definições dos campos vão em `,_jsx(_components.code,{children:`fields`}),` como uma única string com um array codificado em JSON.`]}),`\n`,_jsx(Heading,{level:`2`,id:`defina-os-campos-a-extrair`,children:`Defina os campos a extrair`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`fields`}),` é um array JSON de 1 a 30 itens, enviado como uma única string. Cada item tem uma `,_jsx(_components.code,{children:`key`}),` (letras minúsculas, dígitos e sublinhados, única dentro da requisição), um `,_jsx(_components.code,{children:`name`}),` legível por humanos, uma `,_jsx(_components.code,{children:`instruction`}),` que diz ao modelo o que procurar, um `,_jsx(_components.code,{children:`type`}),` (`,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`number`}),` ou `,_jsx(_components.code,{children:`date`}),`) e duas flags: `,_jsx(_components.code,{children:`required`}),` e `,_jsx(_components.code,{children:`is_full_name`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`30`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"account_holder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Account holder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Full name of the person or company the account belongs to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"is_full_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Closing balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Closing balance shown on the statement, as a number without the currency symbol\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"currency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Currency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Three-letter currency code of the balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"statement_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Statement date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Date the statement was issued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Em uma requisição multipart, o array inteiro é um único valor de formulário:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://verification.didit.me/v3/document-ai/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$DIDIT_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"document=@./bank-statement.pdf\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'fields=[{\"key\":\"account_holder\",\"name\":\"Account holder\",\"instruction\":\"Full name of the account holder\",\"type\":\"text\",\"required\":true,\"is_full_name\":true},{\"key\":\"balance\",\"name\":\"Closing balance\",\"instruction\":\"Closing balance as a number\",\"type\":\"number\",\"required\":true}]'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"expected_first_name=Jane\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"expected_last_name=Doe\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A resposta devolve os `,_jsx(_components.code,{children:`fields`}),` normalizados e retorna `,_jsx(_components.code,{children:`extracted_data`}),` com chaves correspondentes aos seus valores de `,_jsx(_components.code,{children:`key`}),`, com `,_jsx(_components.code,{children:`null`}),` para tudo o que o modelo não conseguiu encontrar. `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`instruction`}),` e `,_jsx(_components.code,{children:`type`}),` são opcionais em cada item (`,_jsx(_components.code,{children:`type`}),` tem `,_jsx(_components.code,{children:`text`}),` como padrão); `,_jsx(_components.code,{children:`key`}),` é obrigatório. Enviar `,_jsx(_components.code,{children:`fields`}),` como chaves de formulário com colchetes (`,_jsx(_components.code,{children:`fields[0][key]=...`}),`) ou em qualquer formato que não seja um array JSON retorna `,_jsx(_components.code,{children:`400`}),` antes de qualquer extração, portanto nada é cobrado.`]}),`\n`,_jsx(Heading,{level:`2`,id:`qr-codes-e-códigos-de-barras`,children:`QR codes e códigos de barras`}),`\n`,_jsxs(_components.p,{children:[`Toda resposta bem-sucedida inclui `,_jsx(_components.code,{children:`document_ai.detected_codes`}),`. Cada item contém:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsxs(_components.td,{children:[`Simbologia detectada, como `,_jsx(_components.code,{children:`QR_CODE`}),`, `,_jsx(_components.code,{children:`CODE_128`}),`, `,_jsx(_components.code,{children:`EAN_13`}),`, `,_jsx(_components.code,{children:`DATA_MATRIX`}),` ou `,_jsx(_components.code,{children:`PDF_417`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`page_number`})}),_jsx(_components.td,{children:`Número da página, começando em 1`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`position`})}),_jsxs(_components.td,{children:[`Polígono detectado em pixels da página renderizada, ou `,_jsx(_components.code,{children:`null`}),` quando não há uma localização confiável`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),`, `,_jsx(_components.code,{children:`width`}),`, `,_jsx(_components.code,{children:`height`})]}),_jsxs(_components.td,{children:[`Caixa delimitadora em pixels da página renderizada, ou `,_jsx(_components.code,{children:`null`}),` quando não há uma localização confiável`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`page_width`}),`, `,_jsx(_components.code,{children:`page_height`})]}),_jsx(_components.td,{children:`Dimensões da página renderizada usadas pelas coordenadas`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`parsed_payload`})}),_jsxs(_components.td,{children:[`String decodificada ou valor estruturado, ou `,_jsx(_components.code,{children:`null`}),` quando o código só pode ser localizado`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`raw_payload`})}),_jsx(_components.td,{children:`Payload bruto do decodificador como string base64, quando disponível; caso contrário, uma string vazia`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`O array cobre todas as páginas processadas de um PDF e fica vazio quando nenhum código suportado é encontrado. A Didit nunca adivinha um payload: QR codes danificados podem ser retornados com sua localização e `,_jsx(_components.code,{children:`parsed_payload: null`}),`, e falhas na detecção de códigos não fazem a requisição de Document AI falhar.`]}),`\n`,_jsx(Heading,{level:`2`,id:`correspondência-de-nome`,children:`Correspondência de nome`}),`\n`,_jsxs(_components.p,{children:[`Marque no máximo um campo com `,_jsx(_components.code,{children:`is_full_name: true`}),` e envie o nome de quem você espera que seja o titular do documento:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Você está verificando`}),_jsx(_components.th,{children:`Envie`}),_jsx(_components.th,{children:`O nome é comparado com`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Uma pessoa`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`expected_first_name`}),` + `,_jsx(_components.code,{children:`expected_last_name`})]}),_jsx(_components.td,{children:`o nome completo da pessoa`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Uma empresa`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`expected_company_name`}),` (+ `,_jsx(_components.code,{children:`expected_company_country`}),` opcional, um código ISO de 2 letras)`]}),_jsx(_components.td,{children:`o nome da empresa`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Envie um grupo ou o outro, não os dois. Quando um nome é extraído e há um nome esperado, a resposta inclui `,_jsx(_components.code,{children:`name_match_score`}),` (de 0 a 100) e `,_jsx(_components.code,{children:`name_on_document`}),`. Uma pontuação abaixo de `,_jsx(_components.code,{children:`document_ai_name_match_score_threshold`}),` (padrão `,_jsx(_components.code,{children:`80`}),`) gera o aviso `,_jsx(_components.code,{children:`DOCUMENT_AI_NAME_MISMATCH`}),` e aplica `,_jsx(_components.code,{children:`document_ai_name_mismatch_action`}),`. Se nenhum campo estiver marcado com `,_jsx(_components.code,{children:`is_full_name`}),`, a Didit usa o primeiro campo de texto cuja chave pareça um nome (`,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`holder`}),`, `,_jsx(_components.code,{children:`full_name`}),`, `,_jsx(_components.code,{children:`account_holder`}),`); marque o campo explicitamente quando quiser controlar qual valor é comparado. Quando nenhum nome é encontrado no documento, ou nenhum nome esperado é enviado, a verificação de nome é ignorada e `,_jsx(_components.code,{children:`name_match_score`}),` é `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`riscos-e-ações`,children:`Riscos e ações`}),`\n`,_jsxs(_components.p,{children:[`Cada risco abaixo corresponde a um parâmetro de ação que você pode definir por requisição: `,_jsx(_components.code,{children:`DECLINE`}),`, `,_jsx(_components.code,{children:`REVIEW`}),` ou `,_jsx(_components.code,{children:`NO_ACTION`}),`. A ação mais rigorosa acionada define `,_jsx(_components.code,{children:`document_ai.status`}),` (`,_jsx(_components.code,{children:`Declined`}),` > `,_jsx(_components.code,{children:`In Review`}),` > `,_jsx(_components.code,{children:`Approved`}),`), e todos os riscos acionados são listados em `,_jsx(_components.code,{children:`document_ai.warnings`}),`. Os padrões são os mesmos da etapa do fluxo hospedado; consulte `,_jsx(_components.a,{href:`/pt-br/core-technology/document-ai/warnings-document-ai`,children:`Regras e avisos do Document AI`}),` para saber como cada risco é detectado.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Risco`}),_jsx(_components.th,{children:`Parâmetro`}),_jsx(_components.th,{children:`Padrão`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_UNREADABLE_DOCUMENT`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_unreadable_document_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_MISSING_REQUIRED_FIELDS`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_missing_required_fields_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_SUSPECTED_MANIPULATION`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_document_tampering_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DECLINE`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_NAME_MISMATCH`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_name_mismatch_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`NO_ACTION`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_UNSUPPORTED_FILE`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_unsupported_file_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`arquivos-salvamento-e-faturamento`,children:`Arquivos, salvamento e faturamento`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Arquivos aceitos:`}),` PDF (com suporte a várias páginas), JPG, JPEG, PNG, TIFF, WebP ou um ZIP contendo o documento, até 30 MB. PDFs criptografados retornam `,_jsx(_components.code,{children:`400`}),`; envie um PDF descriptografado ou uma foto.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`save_api_request`})}),` (padrão `,_jsx(_components.code,{children:`true`}),`): a requisição, os campos extraídos e os códigos detectados aparecem no Business Console em `,_jsx(_components.strong,{children:`Manual Checks`}),`, onde sua equipe pode revisá-los. Defina como `,_jsx(_components.code,{children:`false`}),` para não salvar.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`vendor_data`})}),` e `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`metadata`})}),` são retornados sem alterações na resposta para que você possa vincular o resultado aos seus próprios registros.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Preço:`}),` $0.20 por documento, cobrado quando o documento é processado e um status é retornado. O desconto do seu plano se aplica. Consulte `,_jsx(_components.a,{href:`/pt-br/getting-started/pricing#pre%C3%A7os-das-apis-avulsas-servidor-a-servidor`,children:`Preços`}),`.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Precisa que o próprio usuário envie o documento? Precisa coletar até 3 documentos em um único fluxo, traduzir automaticamente a tela de envio ou cruzar os campos extraídos com dados do documento de identidade ou de questionários? Use, em vez disso, a `,_jsx(_components.a,{href:`/pt-br/core-technology/document-ai/overview`,children:`etapa hospedada do fluxo de trabalho do Document AI`}),`.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Document AI API: extração de dados de documentos","sidebarTitle":"API Document AI","description":"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.","keywords":["API Document AI","API de extração de dados de documentos","API de OCR de documentos personalizada","API de comprovante de fundos","API de extração de holerite","OCR de extrato bancário","extração de documentos KYC","detecção de adulteração de documentos","API da Didit"],"openapi":"pt-br/openapi-25.json POST /v3/document-ai/","href":"/pt-br/standalone-apis/document-ai"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Defina os campos a extrair","slug":"defina-os-campos-a-extrair","depth":2,"children":[]},{"title":"QR codes e códigos de barras","slug":"qr-codes-e-códigos-de-barras","depth":2,"children":[]},{"title":"Correspondência de nome","slug":"correspondência-de-nome","depth":2,"children":[]},{"title":"Riscos e ações","slug":"riscos-e-ações","depth":2,"children":[]},{"title":"Arquivos, salvamento e faturamento","slug":"arquivos-salvamento-e-faturamento","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/didit-0f962782/5fb7c0c336c92274/snippets/data/database-validation-coverage.js","/_mintlify/custom/didit-0f962782/4ac7d3c2a19a354d/database-validation-playground.js"],"openApiReferenceData":{"operation":{"summary":"Document AI (extração de campos personalizados + verificações de adulteração)","description":"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.","operationId":"post_v3document-ai","x-didit-sdk":{"resource":"document_ai","method":"analyze","auth":"api_key","server":true},"tags":["Standalone APIs"],"security":["6e8a82ea-3b91-4e7e-be10-268becd80937"],"requestBody":"493fadbf-cee3-4681-af7d-1bf0fe28d479","responses":{"200":"5c06fc80-2b4b-41e8-b5b5-079c9254f293","400":"36854d44-a1f1-4cf6-b59d-df8874c7ec52","403":"1f98c532-371a-4865-9f59-6e16db7f1684","429":"994a5a29-826f-484c-8483-aeecf82e0bce"},"x-codeSamples":[{"lang":"python","label":"Python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.document_ai.analyze(\n document=open(\"document.pdf\", \"rb\"),\n fields=\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n)\nprint(result)"},{"lang":"javascript","label":"Node.js","source":"import Didit, { fileFromPath } from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.documentAi.analyze({\n document: await fileFromPath(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nconsole.log(result);"},{"lang":"go","label":"Go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{\n\tDocument: didit.FileFromPath(\"document.pdf\"),\n\tFields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"lang":"java","label":"Java","source":"import java.nio.file.Path;\nimport me.didit.Didit;\nimport me.didit.types.DocumentAiAnalyzeParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()\n .document(Path.of(\"document.pdf\"))\n .fields(\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\")\n .build());\nSystem.out.println(result);"},{"lang":"php","label":"PHP","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\nuse Didit\\File;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->documentAi->analyze([\n 'document' => File::fromPath('document.pdf'),\n 'fields' => '[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]',\n]);\nprint_r($result->toArray());"},{"lang":"ruby","label":"Ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.document_ai.analyze(\n document: Pathname(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\"\n)\nputs result.to_h"},{"lang":"csharp","label":".NET","source":"using System;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams\n{\n Document = FileUpload.FromPath(\"document.pdf\"),\n Fields = \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"method":"post","type":"path","servers":["4dad0e93-45e1-4b49-b424-12516c3891fa"],"path":"/v3/document-ai/","baseUrlOptions":["https://verification.didit.me"],"title":"Document AI (extração de campos personalizados + verificações de adulteração)","codeSamples":[{"label":"Python","lang":"python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.document_ai.analyze(\n document=open(\"document.pdf\", \"rb\"),\n fields=\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n)\nprint(result)"},{"label":"Node.js","lang":"javascript","source":"import Didit, { fileFromPath } from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.documentAi.analyze({\n document: await fileFromPath(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nconsole.log(result);"},{"label":"Go","lang":"go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{\n\tDocument: didit.FileFromPath(\"document.pdf\"),\n\tFields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"label":"Java","lang":"java","source":"import java.nio.file.Path;\nimport me.didit.Didit;\nimport me.didit.types.DocumentAiAnalyzeParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()\n .document(Path.of(\"document.pdf\"))\n .fields(\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\")\n .build());\nSystem.out.println(result);"},{"label":"PHP","lang":"php","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\nuse Didit\\File;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->documentAi->analyze([\n 'document' => File::fromPath('document.pdf'),\n 'fields' => '[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]',\n]);\nprint_r($result->toArray());"},{"label":"Ruby","lang":"ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.document_ai.analyze(\n document: Pathname(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\"\n)\nputs result.to_h"},{"label":".NET","lang":"csharp","source":"using System;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams\n{\n Document = FileUpload.FromPath(\"document.pdf\"),\n Fields = \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.document":"\u003cstring>","body.fields":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","body.expected_first_name":"Sophia","body.expected_last_name":"Martinez","body.expected_company_name":"\u003cstring>","body.expected_company_country":"\u003cstring>","body.document_ai_name_match_score_threshold":80,"body.document_ai_unreadable_document_action":"REVIEW","body.document_ai_missing_required_fields_action":"REVIEW","body.document_ai_document_tampering_action":"DECLINE","body.document_ai_name_mismatch_action":"NO_ACTION","body.document_ai_unsupported_file_action":"REVIEW","body.save_api_request":true,"body.vendor_data":"user-123","body.metadata":{"flow":"onboarding"}}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["document","fields"],"properties":{"document":{"type":"string","format":"binary","description":"O documento a ser lido. Extensões permitidas: `tiff`, `jpg`, `jpeg`, `png`, `pdf`, `webp`, `zip`. Tamanho máximo de upload: **30 MB** (arquivos maiores são rejeitados com `400`). PDFs com várias páginas são compatíveis (espere maior latência); PDFs criptografados são rejeitados com `400`. As imagens são compactadas automaticamente antes do processamento.","isRequired":true,"uniqueKey":"document","typeLabel":"file"},"fields":{"type":"string","description":"Uma string com um array codificado em JSON contendo **1–30** definições de campos (máximo de 16 KB). Cada item: `key` (obrigatório, `^[a-z0-9_]{1,64}$`, único; a chave retornada em `extracted_data`), `name` (≤100 caracteres, exibido nas mensagens), `instruction` (≤500 caracteres, o que o modelo deve ler), `type` (`text` padrão | `number` | `date`), `required` (booleano, padrão `false`), `is_full_name` (booleano, padrão `false`, no máximo um por requisição). Arrays de formulário no estilo de colchetes, JSON inválido, chaves duplicadas ou mais de um `is_full_name` retornam `400` antes de qualquer processamento ou faturamento.","example":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","isRequired":true,"uniqueKey":"fields","typeLabel":"string"},"expected_first_name":{"type":"string","description":"Primeiro nome a ser verificado em relação ao campo de nome do documento (correspondência aproximada, considerando transliteração). Use junto com `expected_last_name`; não pode ser combinado com `expected_company_name`.","example":"Sophia","uniqueKey":"expected_first_name","typeLabel":"string"},"expected_last_name":{"type":"string","description":"Sobrenome a ser verificado em relação ao campo de nome do documento, combinado com `expected_first_name` para `name_match_score`.","example":"Martinez","uniqueKey":"expected_last_name","typeLabel":"string"},"expected_company_name":{"type":"string","description":"Nome da empresa a ser verificado em relação ao campo de nome do documento (para documentos de empresas). Não pode ser combinado com `expected_first_name` / `expected_last_name` (sem valor de exemplo de propósito: o exemplo de requisição gerado usa os campos de pessoa; substitua-os por este ao verificar um documento de empresa).","uniqueKey":"expected_company_name","typeLabel":"string"},"expected_company_country":{"type":"string","description":"Código de país ISO 3166-1 alfa-2 opcional (duas letras ASCII, por exemplo `FR`) que ajusta a normalização do nome da empresa para `expected_company_name`. Usado apenas com `expected_company_name`.","uniqueKey":"expected_company_country","typeLabel":"string"},"document_ai_name_match_score_threshold":{"type":"integer","minimum":0,"maximum":100,"default":80,"description":"`name_match_score` mínimo (0–100) para considerar que o nome corresponde. Uma pontuação menor adiciona `DOCUMENT_AI_NAME_MISMATCH`, regido por `document_ai_name_mismatch_action`.","example":80,"uniqueKey":"document_ai_name_match_score_threshold","typeLabel":"integer"},"document_ai_unreadable_document_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"O que fazer quando nenhum campo pôde ser lido do documento (`DOCUMENT_AI_UNREADABLE_DOCUMENT`).","uniqueKey":"document_ai_unreadable_document_action","typeLabel":"enum\u003cstring>"},"document_ai_missing_required_fields_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"O que fazer quando pelo menos um campo `required` não pôde ser lido (`DOCUMENT_AI_MISSING_REQUIRED_FIELDS`; `additional_data.missing_fields` os lista).","uniqueKey":"document_ai_missing_required_fields_action","typeLabel":"enum\u003cstring>"},"document_ai_document_tampering_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"DECLINE","description":"O que fazer quando a análise forense de PDF/EXIF suspeita de manipulação — modificação após a assinatura digital, editor de PDF conhecido, manipulação por sobreposição de texto, reexportação suspeita, anomalias de imagem (`DOCUMENT_AI_SUSPECTED_MANIPULATION`).","uniqueKey":"document_ai_document_tampering_action","typeLabel":"enum\u003cstring>"},"document_ai_name_mismatch_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"NO_ACTION","description":"O que fazer quando `name_match_score` está abaixo do limiar (`DOCUMENT_AI_NAME_MISMATCH`).","uniqueKey":"document_ai_name_mismatch_action","typeLabel":"enum\u003cstring>"},"document_ai_unsupported_file_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"O que fazer quando o envio está vazio ou não é um arquivo processável (`DOCUMENT_AI_UNSUPPORTED_FILE`).","uniqueKey":"document_ai_unsupported_file_action","typeLabel":"enum\u003cstring>"},"save_api_request":{"type":"boolean","default":true,"description":"Quando `true` (padrão), persiste a chamada como uma sessão do tipo API: visível no Business Console, recuperável via `GET /v3/session/{sessionId}/decision/` usando o `request_id` retornado, com o documento enviado, os valores extraídos, as definições de campos e o snapshot da correspondência de nome armazenados. Quando `false`, nada é armazenado e `request_id` é um UUID transitório usado apenas para correlacionar a resposta; a chamada continua sendo cobrada.","example":true,"uniqueKey":"save_api_request","typeLabel":"boolean"},"vendor_data":{"type":"string","description":"String opaca opcional (seu ID interno de usuário, e-mail, UUID…) armazenada na sessão persistida e devolvida na resposta. Use-a para correlacionar chamadas de API com seus próprios registros e para filtrar sessões posteriormente.","example":"user-123","uniqueKey":"vendor_data","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"description":"Objeto JSON opcional armazenado com a sessão (quando `save_api_request=true`) e devolvido na resposta. Em requisições multipart, envie-o como um campo de string codificada em JSON (por exemplo, `metadata={\"flow\":\"onboarding\"}`), que é convertido em um objeto.","example":{"flow":"onboarding"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"document":"\u003cstring>","fields":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","expected_first_name":"Sophia","expected_last_name":"Martinez","expected_company_name":"\u003cstring>","expected_company_country":"\u003cstring>","document_ai_name_match_score_threshold":80,"document_ai_unreadable_document_action":"REVIEW","document_ai_missing_required_fields_action":"REVIEW","document_ai_document_tampering_action":"DECLINE","document_ai_name_mismatch_action":"NO_ACTION","document_ai_unsupported_file_action":"REVIEW","save_api_request":true,"vendor_data":"user-123","metadata":{"flow":"onboarding"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5c06fc80-2b4b-41e8-b5b5-079c9254f293":{"description":"Documento processado. `document_ai.status` é `Approved`, `Declined` ou `In Review`; cada problema detectado é detalhado em `document_ai.warnings`. Um documento com problemas ainda retorna `200`: inspecione o corpo, não apenas o código HTTP. Quando `save_api_request=true`, `request_id` é o id da sessão persistida.","content":{"application/json":{"examples":{"Approved":{"title":"Approved","value":{"request_id":"9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c","document_ai":{"status":"Approved","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"detected_codes":[{"type":"CODE_128","page_number":1,"position":[[96,456],[96,616],[1012,611],[1015,456]],"x":96,"y":456,"width":919,"height":160,"page_width":1200,"page_height":1700,"raw_payload":"SU5WLTIwMjYtMDA0Mg==","parsed_payload":"INV-2026-0042"}],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":100,"name_on_document":"Sophia Martinez","warnings":[]},"vendor_data":"user-123","metadata":{"flow":"onboarding"},"created_at":"2026-08-19T16:40:12.318Z"}},"In Review — missing required field":{"title":"In Review — missing required field","value":{"request_id":"3f2a9c7b-5d4e-4b1a-8c6f-0e9d8c7b6a5f","document_ai":{"status":"In Review","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":null,"pay_date":"2026-07-31"},"detected_codes":[],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":100,"name_on_document":"Sophia Martinez","warnings":[{"risk":"DOCUMENT_AI_MISSING_REQUIRED_FIELDS","feature":"DOCUMENT_AI","additional_data":{"missing_fields":["Net pay"]},"log_type":"warning","short_description":"Required fields could not be extracted","long_description":"One or more fields configured as required could not be extracted from the uploaded document."}]},"vendor_data":null,"metadata":null,"created_at":"2026-08-19T16:41:05.002Z"}},"Declined — suspected manipulation":{"title":"Declined — suspected manipulation","value":{"request_id":"7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f","document_ai":{"status":"Declined","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"detected_codes":[],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":null,"name_on_document":"Sophia Martinez","warnings":[{"risk":"DOCUMENT_AI_SUSPECTED_MANIPULATION","feature":"DOCUMENT_AI","additional_data":{"detection_method":"known_editor","processed_by_known_editor":"ilovepdf"},"log_type":"error","short_description":"Suspected document manipulation","long_description":"The system detected signs of potential manipulation or editing in the uploaded document."}]},"vendor_data":null,"metadata":null,"created_at":"2026-08-19T16:42:40.771Z"}}},"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"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.","uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"document_ai":{"type":"object","properties":{"status":{"type":"string","enum":["Approved","Declined","In Review"],"description":"`Approved` quando nenhum aviso resulta em recusa ou revisão; `Declined` quando pelo menos um risco é mapeado para `DECLINE`; caso contrário, `In Review` quando pelo menos um é mapeado para `REVIEW`. A lista `warnings` explica o motivo.","uniqueKey":"document_ai.status","typeLabel":"enum\u003cstring>"},"extracted_data":{"type":"object","additionalProperties":true,"description":"Uma entrada por chave de campo solicitada. Os valores são tipados conforme o `type` do campo (strings para `text`, números para `number`, strings `YYYY-MM-DD` para `date`) ou `null` quando o valor não pôde ser lido.","example":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"uniqueKey":"document_ai.extracted_data","typeLabel":"object"},"detected_codes":{"type":"array","description":"QR codes e códigos de barras detectados em todas as páginas processadas. Vazio quando nenhum é encontrado. Um QR code localizado, mas que não pôde ser decodificado, tem `parsed_payload: null`.","items":{"type":"object","required":["type","page_number","position","x","y","width","height","page_width","page_height","raw_payload","parsed_payload"],"properties":{"type":{"type":"string","description":"Simbologia detectada, por exemplo `QR_CODE`, `CODE_128`, `EAN_13`, `DATA_MATRIX` ou `PDF_417`.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].type","typeLabel":"string"},"page_number":{"type":"integer","minimum":1,"description":"Número da página, começando em 1.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_number","typeLabel":"integer"},"position":{"oneOf":[{"type":"array","description":"Polígono detectado em coordenadas de pixels da página renderizada. É `null` quando não há uma localização confiável disponível.","items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer","uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0.items.[INDEX].items.[INDEX]","typeLabel":"integer"},"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0.items.[INDEX]","typeLabel":"integer[]"},"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0","typeLabel":"integer[][]"},{"type":"null","description":"Polígono detectado em coordenadas de pixels da página renderizada. É `null` quando não há uma localização confiável disponível.","items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position","typeLabel":"integer[][] | null"},"x":{"oneOf":[{"type":"integer","description":"Borda esquerda da caixa delimitadora, em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Borda esquerda da caixa delimitadora, em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x","typeLabel":"integer | null"},"y":{"oneOf":[{"type":"integer","description":"Borda superior da caixa delimitadora, em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Borda superior da caixa delimitadora, em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y","typeLabel":"integer | null"},"width":{"oneOf":[{"type":"integer","description":"Largura da caixa delimitadora em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Largura da caixa delimitadora em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","description":"Altura da caixa delimitadora em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Altura da caixa delimitadora em pixels da página renderizada.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height","typeLabel":"integer | null"},"page_width":{"type":"integer","description":"Largura da página renderizada, em pixels.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_width","typeLabel":"integer"},"page_height":{"type":"integer","description":"Altura da página renderizada, em pixels.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_height","typeLabel":"integer"},"raw_payload":{"type":"string","description":"Payload bruto do decodificador como string base64, quando disponível; caso contrário, uma string vazia.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].raw_payload","typeLabel":"string"},"parsed_payload":{"oneOf":[{"description":"String decodificada ou valor estruturado. `null` quando o código foi localizado, mas não pôde ser decodificado.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload.oneOf.0","typeLabel":"any"},{"description":"String decodificada ou valor estruturado. `null` quando o código foi localizado, mas não pôde ser decodificado.","type":"null","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload","typeLabel":"any | null"}},"uniqueKey":"document_ai.detected_codes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.detected_codes","typeLabel":"object[]"},"fields":{"type":"array","description":"As definições de campos normalizadas usadas nesta extração, devolvidas na resposta (também armazenadas com a sessão quando `save_api_request=true`).","items":{"type":"object","properties":{"key":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].name","typeLabel":"string"},"instruction":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].instruction","typeLabel":"string"},"type":{"type":"string","enum":["text","number","date"],"uniqueKey":"document_ai.fields.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","uniqueKey":"document_ai.fields.items.[INDEX].required","typeLabel":"boolean"},"is_full_name":{"type":"boolean","uniqueKey":"document_ai.fields.items.[INDEX].is_full_name","typeLabel":"boolean"}},"uniqueKey":"document_ai.fields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.fields","typeLabel":"object[]"},"name_match_score":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"description":"Similaridade aproximada (0–100) entre `name_on_document` e o nome esperado da pessoa/empresa. Retornada sempre que existem tanto um valor de nome quanto um nome esperado, em correspondências **e** em divergências; caso contrário, `null`.","example":96,"uniqueKey":"document_ai.name_match_score.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"description":"Similaridade aproximada (0–100) entre `name_on_document` e o nome esperado da pessoa/empresa. Retornada sempre que existem tanto um valor de nome quanto um nome esperado, em correspondências **e** em divergências; caso contrário, `null`.","example":96,"uniqueKey":"document_ai.name_match_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.name_match_score","typeLabel":"number | null"},"name_on_document":{"oneOf":[{"type":"string","description":"O valor de nome extraído do documento (o campo `is_full_name` ou o primeiro campo de texto semelhante a um nome) que foi comparado com o nome esperado. `null` quando nenhum valor de nome estava disponível.","example":"Sophia Martinez","uniqueKey":"document_ai.name_on_document.oneOf.0","typeLabel":"string"},{"type":"null","description":"O valor de nome extraído do documento (o campo `is_full_name` ou o primeiro campo de texto semelhante a um nome) que foi comparado com o nome esperado. `null` quando nenhum valor de nome estava disponível.","example":"Sophia Martinez","uniqueKey":"document_ai.name_on_document.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.name_on_document","typeLabel":"string | null"},"warnings":{"type":"array","description":"Vazio em uma aprovação sem ressalvas. Cada entrada explica um risco detectado; entradas com `log_type: \"error\"` definem `status` como `Declined`, e entradas com `log_type: \"warning\"` o definem como `In Review`.","items":{"type":"object","properties":{"risk":{"type":"string","enum":["DOCUMENT_AI_UNREADABLE_DOCUMENT","DOCUMENT_AI_MISSING_REQUIRED_FIELDS","DOCUMENT_AI_SUSPECTED_MANIPULATION","DOCUMENT_AI_NAME_MISMATCH","DOCUMENT_AI_UNSUPPORTED_FILE"],"description":"Código de risco legível por máquina. Cada um é controlado pela opção de requisição `document_ai_*_action` correspondente.","example":"DOCUMENT_AI_MISSING_REQUIRED_FIELDS","uniqueKey":"document_ai.warnings.items.[INDEX].risk","typeLabel":"enum\u003cstring>"},"feature":{"type":"string","enum":["DOCUMENT_AI"],"description":"Recurso que emitiu o aviso. Sempre `DOCUMENT_AI` neste endpoint.","uniqueKey":"document_ai.warnings.items.[INDEX].feature","typeLabel":"enum\u003cstring>"},"additional_data":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Contexto adicional sobre o risco: `{\"missing_fields\": [\"Net pay\"]}` para campos obrigatórios ausentes, `{\"name_on_document\", \"score\", \"threshold\"}` para divergência de nome e o achado forense (`detection_method`, detalhes do produtor/editor) para suspeita de manipulação. `null` quando não há nada a acrescentar.","example":{"missing_fields":["Net pay"]},"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Contexto adicional sobre o risco: `{\"missing_fields\": [\"Net pay\"]}` para campos obrigatórios ausentes, `{\"name_on_document\", \"score\", \"threshold\"}` para divergência de nome e o achado forense (`detection_method`, detalhes do produtor/editor) para suspeita de manipulação. `null` quando não há nada a acrescentar.","example":{"missing_fields":["Net pay"]},"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data","typeLabel":"object | null"},"log_type":{"type":"string","enum":["error","warning","information"],"description":"Severidade derivada da ação configurada: `error` (DECLINE), `warning` (REVIEW), `information` (NO_ACTION).","uniqueKey":"document_ai.warnings.items.[INDEX].log_type","typeLabel":"enum\u003cstring>"},"short_description":{"type":"string","description":"Descrição legível de uma linha do risco.","example":"Required fields could not be extracted","uniqueKey":"document_ai.warnings.items.[INDEX].short_description","typeLabel":"string"},"long_description":{"type":"string","description":"Explicação legível, interpolada com `additional_data` quando relevante.","uniqueKey":"document_ai.warnings.items.[INDEX].long_description","typeLabel":"string"}},"uniqueKey":"document_ai.warnings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.warnings","typeLabel":"object[]"}},"uniqueKey":"document_ai","typeLabel":"object"},"vendor_data":{"oneOf":[{"type":"string","description":"Eco do `vendor_data` que você enviou, ou `null`.","uniqueKey":"vendor_data.oneOf.0","typeLabel":"string"},{"type":"null","description":"Eco do `vendor_data` que você enviou, ou `null`.","uniqueKey":"vendor_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"vendor_data","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Eco do objeto `metadata` que você enviou, ou `null`.","uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Eco do objeto `metadata` que você enviou, ou `null`.","uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"created_at":{"type":"string","format":"date-time","description":"Quando a requisição foi processada (UTC, ISO 8601).","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"36854d44-a1f1-4cf6-b59d-df8874c7ec52":{"description":"Erro de validação ou de processamento. Problemas em nível de campo retornam o envelope padrão do DRF (um array de mensagens para cada campo com problema). Documentos criptografados ou ilegíveis e falhas de extração retornam `{\"error\": ...}`.","content":{"application/json":{"examples":{"Missing document":{"title":"Missing document","value":{"document":["No file was submitted."]}},"Invalid fields payload":{"title":"Invalid fields payload","value":{"fields":["fields must be a valid JSON array string."]}},"Duplicate field keys":{"title":"Duplicate field keys","value":{"fields":["Every fields item must have a unique key."]}},"Conflicting expectations":{"title":"Conflicting expectations","value":{"non_field_errors":["Provide either person expected-name fields or expected_company_name, not both."]}},"Invalid metadata":{"title":"Invalid metadata","value":{"metadata":["Metadata must be a JSON object."]}},"Oversized vendor_data":{"title":"Oversized vendor_data","value":{"vendor_data":["vendor_data is too long (maximum 2000 bytes)."]}},"Encrypted PDF":{"title":"Encrypted PDF","value":{"error":"The PDF is encrypted. Please upload a decrypted PDF or a photo instead."}},"Extraction failed":{"title":"Extraction failed","value":{"error":["Error extracting Document AI information"]}}},"schema":{"type":"object","additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"1f98c532-371a-4865-9f59-6e16db7f1684":{"description":"Permissão negada. Retornado quando o cabeçalho `x-api-key` está ausente e também quando o saldo da organização que faz a chamada não cobre a chamada; uma chave incorreta, revogada ou expirada retorna `401`. Uma chave ausente retorna `403` com `{\"detail\": ...}`; uma chave incorreta, revogada ou expirada retorna `401`. Créditos insuficientes (e organizações faturadas por contrato cuja tabela de tarifas não tem uma entrada para a Document AI API) retornam `403` com `{\"error\": ...}` antes de qualquer processamento do documento.","content":{"application/json":{"examples":{"Missing or invalid API key":{"title":"Missing or invalid API key","value":{"detail":"You do not have permission to perform this action."}},"Not enough credits":{"title":"Not enough credits","value":{"error":"You don't have enough credits to perform this request. Please top up at https://business.didit.me"}},"Contract rate missing":{"title":"Contract rate missing","value":{"error":"Document AI API is not included in your contract rate card. Contact support@didit.me to enable it."}}},"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"994a5a29-826f-484c-8483-aeecf82e0bce":{"description":"Limite de requisições excedido. Todos os endpoints POST/PATCH/DELETE compartilham uma cota de 300 requisições de escrita por minuto por chave de API. A resposta inclui os cabeçalhos `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` e `Retry-After`.","content":{"application/json":{"examples":{"Write rate limit exceeded":{"title":"Write rate limit exceeded","value":{"detail":"Write request rate limit exceeded. You can make up to 300 requests per minute."}}},"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"6e8a82ea-3b91-4e7e-be10-268becd80937":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"4dad0e93-45e1-4b49-b424-12516c3891fa":{"url":"https://verification.didit.me"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"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.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"pt-br/openapi-25.json"},"subdomain":"didit-0f962782","siteName":"Didit Docs","title":"Document AI API: extração de dados de documentos - Didit Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/standalone-apis/document-ai","matchLevel":1},"es":{"href":"/es/standalone-apis/document-ai","matchLevel":1},"pt-BR":{"href":"/pt-br/standalone-apis/document-ai","matchLevel":0},"ja":{"href":"/ja/standalone-apis/document-ai","matchLevel":1}}},"lastModified":"2026-11-01T10:59:40.688Z","gitLastModified":"2026-11-01T10:56:28.000Z","originalFileLocation":"pt-br/standalone-apis/document-ai.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Document AI API: extração de dados de documentos - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/pt-br/standalone-apis/document-ai\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://didit-0f962782.mintlify.app/_mintlify/api/og/v2?division=Document+AI\u0026amp;title=Document+AI+API%3A+extra%C3%A7%C3%A3o+de+dados+de+documentos\u0026amp;description=POST+%2Fv3%2Fdocument-ai%2F+da+Didit+extrai+campos+que+voc%C3%AA+define+de+PDFs+ou+imagens%2C+com+checagem+de+nome+e+adultera%C3%A7%C3%A3o.+%240.20+por+documento.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=263fbe52881c29fd2591273f05811624d0a534dcbd29ad3a027c3e663b8f2aa1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Document AI API: extração de dados de documentos - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.app/_mintlify/api/og/v2?division=Document+AI\u0026amp;title=Document+AI+API%3A+extra%C3%A7%C3%A3o+de+dados+de+documentos\u0026amp;description=POST+%2Fv3%2Fdocument-ai%2F+da+Didit+extrai+campos+que+voc%C3%AA+define+de+PDFs+ou+imagens%2C+com+checagem+de+nome+e+adultera%C3%A7%C3%A3o.+%240.20+por+documento.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=263fbe52881c29fd2591273f05811624d0a534dcbd29ad3a027c3e663b8f2aa1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2567FF\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#2567FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.didit.me/pt-br/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-br/standalone-apis/document-ai.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.didit.me/pt-br/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.didit.me/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.didit.me/es/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.didit.me/ja/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.didit.me/standalone-apis/document-ai\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://didit.me/#organization\",\"name\":\"Didit\",\"legalName\":\"Didit Protocol\",\"url\":\"https://didit.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://didit.me/logos/primary-horizontal-light.png\"},\"sameAs\":[\"https://www.linkedin.com/company/91001155\",\"https://www.youtube.com/@getdidit\",\"https://github.com/didit-protocol\",\"https://x.com/didit\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.didit.me#website\",\"name\":\"Didit Docs\",\"url\":\"https://docs.didit.me\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai#webpage\",\"url\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai\",\"name\":\"Document AI API: extração de dados de documentos\",\"description\":\"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\",\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Didit Docs\",\"item\":\"https://docs.didit.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Document AI API: extração de dados de documentos\",\"item\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai#apireference\",\"headline\":\"Document AI API: extração de dados de documentos\",\"name\":\"Document AI API: extração de dados de documentos\",\"description\":\"POST /v3/document-ai/ da Didit extrai campos que você define de PDFs ou imagens, com checagem de nome e adulteração. $0.20 por documento.\",\"url\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/pt-br/standalone-apis/document-ai#webpage\"},\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"keywords\":\"API Document AI, API de extração de dados de documentos, API de OCR de documentos personalizada, API de comprovante de fundos, API de extração de holerite, OCR de extrato bancário, extração de documentos KYC, detecção de adulteração de documentos, API da Didit\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Didit Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Didit Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/standalone-apis/document-ai"}]},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"pages":[{"title":"es","href":"/es/standalone-apis/document-ai"}]},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"tabs":[{"tab":"Primeiros passos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","pages":[{"title":"Primeiros passos","href":"/pt-br"}]},{"tab":"Integração / SDKs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Integração / SDKs","href":"/pt-br/integration/sdks"}]},{"tab":"Referência da API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","groups":[{"group":"Visão geral","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"Referência da API Didit: API REST de verificação","sidebarTitle":"Referência da API","href":"/pt-br/api-reference/overview"},{"title":"API de healthcheck: sonda pública de disponibilidade","sidebarTitle":"Healthcheck","openapi":"pt-br/openapi-healthcheck.json GET /system/healthcheck","href":"/pt-br/api-reference/healthcheck"},{"title":"API de status do serviço: feed público de status da Didit","sidebarTitle":"Status do serviço","openapi":"pt-br/openapi-25.json GET /v3/status/","href":"/pt-br/api-reference/service-status"},{"title":"API de preços de verificação bancária: feed público","sidebarTitle":"Preços de verificação bancária","openapi":"pt-br/openapi-25.json GET /v3/organization/bank-verification-pricing/","href":"/pt-br/api-reference/bank-verification-pricing"}]},{"group":"Verificações de usuários e empresas","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"API de Sessões: verificação KYC e KYB unificada","sidebarTitle":"Visão geral","href":"/pt-br/sessions-api/overview"},{"title":"API de criação de sessão: inicie a verificação KYC ou KYB","sidebarTitle":"Criar sessão","openapi":"pt-br/openapi-25.json POST /v3/session/","href":"/pt-br/sessions-api/create-session"},{"title":"Importar dados de outro provedor","openapi":"pt-br/openapi-25.json POST /v3/session/imports/","href":"/pt-br/sessions-api/import-verifications"},{"title":"API para consultar sessão: decisão de KYC e KYB","sidebarTitle":"Consultar sessão","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/decision/","href":"/pt-br/sessions-api/retrieve-session"},{"title":"API para listar sessões: filtre sessões de KYC e KYB","sidebarTitle":"Listar sessões","openapi":"pt-br/openapi-25.json GET /v3/sessions/","href":"/pt-br/sessions-api/list-sessions"},{"title":"API para atualizar status da sessão: aprovar e recusar","sidebarTitle":"Atualizar status da sessão","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/update-status/","href":"/pt-br/sessions-api/update-status"},{"title":"Pré-visualizar e-mail de reenvio da verificação","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/resubmission-preview/","href":"/pt-br/sessions-api/preview-resubmission"},{"title":"API de prévia do e-mail de decisão: aprovado e recusado","sidebarTitle":"Pré-visualizar e-mail de decisão","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/decision-email-preview/","href":"/pt-br/sessions-api/preview-decision-email"},{"title":"Atualizar status de recurso na API: aprovar ou recusar","sidebarTitle":"Atualizar status de recurso","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/features/{nodeId}/update-status/","href":"/pt-br/sessions-api/update-feature-status"},{"title":"Listar substituições de recurso: histórico de status","sidebarTitle":"Listar substituições de recurso","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/features/overrides/","href":"/pt-br/sessions-api/list-feature-overrides"},{"title":"Cancelar Override de Recurso na API: Descartar Pendente","sidebarTitle":"Cancelar override de recurso","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/features/overrides/{overrideId}/cancel/","href":"/pt-br/sessions-api/cancel-feature-override"},{"title":"API Atualizar Status de Hit AML: Confirmar e Limpar","sidebarTitle":"Atualizar status de ocorrência AML","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/update-aml-hit-status/","href":"/pt-br/sessions-api/update-aml-hit-status"},{"title":"Atualizar dados da sessão: corrigir campos KYC e KYB","sidebarTitle":"Atualizar dados da sessão","href":"/pt-br/sessions-api/update-data"},{"title":"Atualizar status da verificação AML via API","sidebarTitle":"Atualizar status AML","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/update-aml-status/","href":"/pt-br/sessions-api/update-aml-status"},{"title":"Atualizar dados do Document AI via API","sidebarTitle":"Atualizar dados do Document AI","openapi":"pt-br/openapi-25.json PATCH /v3/document-ai/{sessionId}/documents/{documentUuid}/","href":"/pt-br/sessions-api/update-document-ai-data"},{"title":"API para regenerar sessão KYC de pessoas-chave do KYB","sidebarTitle":"Regenerar sessão KYC de pessoa-chave","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/","href":"/pt-br/sessions-api/regenerate-kyb-party"},{"title":"API para enviar documentos KYB","sidebarTitle":"Enviar documentos KYB","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/kyb/documents/","href":"/pt-br/sessions-api/kyb-upload-documents"},{"title":"API para listar partes extraídas do KYB","sidebarTitle":"Listar partes extraídas do KYB","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/kyb/extracted-parties/","href":"/pt-br/sessions-api/kyb-extracted-parties"},{"title":"Listar rascunhos de partes KYB via API","sidebarTitle":"Listar rascunhos de partes KYB","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/kyb/parties/drafts/","href":"/pt-br/sessions-api/kyb-list-party-drafts"},{"title":"API para criar rascunho de parte no KYB","sidebarTitle":"Criar rascunho de parte KYB","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/drafts/","href":"/pt-br/sessions-api/kyb-create-party-draft"},{"title":"Editar rascunho de parte KYB via API","sidebarTitle":"Editar rascunho de parte KYB","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/pt-br/sessions-api/kyb-update-party-draft"},{"title":"Excluir rascunho de parte do KYB via API","sidebarTitle":"Excluir rascunho de parte KYB","openapi":"pt-br/openapi-25.json DELETE /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/pt-br/sessions-api/kyb-delete-party-draft"},{"title":"Enviar pessoas-chave do KYB: API","sidebarTitle":"Enviar pessoas-chave do KYB","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/submit/","href":"/pt-br/sessions-api/kyb-submit-parties"},{"title":"Adicionar imagens a uma sessão via API","sidebarTitle":"Adicionar imagens à sessão","openapi":"pt-br/openapi-25.json PATCH /v3/session/{sessionId}/add-images/","href":"/pt-br/sessions-api/add-images"},{"title":"API para excluir sessão: direito ao esquecimento do GDPR","sidebarTitle":"Excluir sessão","openapi":"pt-br/openapi-25.json DELETE /v3/session/{sessionId}/delete/","href":"/pt-br/sessions-api/delete-session"},{"title":"API para gerar PDF: relatórios de conformidade KYC e KYB","sidebarTitle":"Gerar PDF","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/generate-pdf/","href":"/pt-br/sessions-api/generate-pdf"},{"title":"Exportar arquivos da sessão (API): baixe tudo em um ZIP","sidebarTitle":"Exportar arquivos","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/files-export/","href":"/pt-br/sessions-api/export-files"},{"title":"Exportar arquivos da sessão: status e link de download","sidebarTitle":"Obter exportação de arquivos","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/files-export/{exportId}/","href":"/pt-br/sessions-api/get-files-export"},{"group":"Assinaturas eletrônicas","pages":[{"title":"Baixar documento assinado via API: PDF assinado","sidebarTitle":"Baixar documento assinado","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/documents/{documentId}/file/","href":"/pt-br/sessions-api/electronic-signature/download-signed-document"},{"title":"API de evidências de assinatura: PDF de auditoria","sidebarTitle":"Baixar evidências","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/evidence/","href":"/pt-br/sessions-api/electronic-signature/download-evidence"},{"title":"API de imagem de assinatura: PNG da assinatura adotada","sidebarTitle":"Baixar imagem da assinatura","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/","href":"/pt-br/sessions-api/electronic-signature/download-field-image"},{"title":"Validar assinaturas via API: reverifique PDFs assinados","sidebarTitle":"Validar assinaturas","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/signatures/{nodeId}/validate/","href":"/pt-br/sessions-api/electronic-signature/validate-signatures"}]},{"title":"API Share Session: KYC reutilizável entre parceiros","sidebarTitle":"Visão geral","href":"/pt-br/sessions-api/share-session/overview"},{"title":"API Share Session: gerar token de compartilhamento","sidebarTitle":"Compartilhar sessão","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/share/","href":"/pt-br/sessions-api/share-session/share"},{"title":"API de importar sessão compartilhada: KYC e KYB","sidebarTitle":"Importar sessão compartilhada","openapi":"pt-br/openapi-25.json POST /v3/session/import-shared/","href":"/pt-br/sessions-api/share-session/import"}]},{"group":"Listas","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"API de listas da Didit: listas de bloqueio e de permissão","sidebarTitle":"Visão geral","href":"/pt-br/management-api/lists/overview"},{"title":"API para listar listas: listas de bloqueio e de permissão","sidebarTitle":"Listar listas","openapi":"pt-br/openapi-25.json GET /v3/lists/","href":"/pt-br/management-api/lists/list"},{"title":"API para criar lista: allowlist e lista personalizada","sidebarTitle":"Criar lista","openapi":"pt-br/openapi-25.json POST /v3/lists/","href":"/pt-br/management-api/lists/create"},{"title":"API Obter lista: consultar lista de conformidade","sidebarTitle":"Obter lista","openapi":"pt-br/openapi-25.json GET /v3/lists/{list_uuid}/","href":"/pt-br/management-api/lists/get"},{"title":"API para atualizar lista: editar lista de conformidade","sidebarTitle":"Atualizar lista","openapi":"pt-br/openapi-25.json PATCH /v3/lists/{list_uuid}/","href":"/pt-br/management-api/lists/update"},{"title":"Excluir lista via API: remover lista de conformidade","sidebarTitle":"Excluir lista","openapi":"pt-br/openapi-25.json DELETE /v3/lists/{list_uuid}/","href":"/pt-br/management-api/lists/delete"},{"title":"API de entradas de lista: itens de bloqueio e permissão","sidebarTitle":"Entradas da lista","openapi":"pt-br/openapi-25.json GET /v3/lists/{list_uuid}/entries/","href":"/pt-br/management-api/lists/list-entries"},{"title":"Criar entrada em lista via API: bloqueio e permissões","sidebarTitle":"Criar entrada de lista","openapi":"pt-br/openapi-25.json POST /v3/lists/{list_uuid}/entries/","href":"/pt-br/management-api/lists/create-entry"},{"title":"API para excluir entrada da lista: desbloquear item","sidebarTitle":"Excluir entrada da lista","openapi":"pt-br/openapi-25.json DELETE /v3/lists/{list_uuid}/entries/{entry_uuid}/","href":"/pt-br/management-api/lists/delete-entry"},{"title":"API de upload de rosto: listas biométricas","sidebarTitle":"Enviar rosto","openapi":"pt-br/openapi-25.json POST /v3/lists/{list_uuid}/entries/face-upload/","href":"/pt-br/management-api/lists/upload-face"}]},{"group":"Lista de bloqueio","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"API de lista de bloqueio: listar itens bloqueados","sidebarTitle":"Listar itens bloqueados","openapi":"pt-br/openapi-25.json GET /v3/blocklist/","href":"/pt-br/management-api/blocklist/list"},{"title":"API para adicionar à lista de bloqueio: itens da sessão","sidebarTitle":"Adicionar à lista de bloqueio","openapi":"pt-br/openapi-25.json POST /v3/blocklist/add/","href":"/pt-br/management-api/blocklist/add"},{"title":"API para remover da lista de bloqueio: itens da sessão","sidebarTitle":"Remover da lista de bloqueio","openapi":"pt-br/openapi-25.json POST /v3/blocklist/remove/","href":"/pt-br/management-api/blocklist/remove"}]},{"group":"Fluxos de trabalho","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/workflows.svg","pages":[{"title":"API para listar workflows: fluxos de verificação","sidebarTitle":"Listar workflows","openapi":"pt-br/openapi-25.json GET /v3/workflows/","href":"/pt-br/management-api/workflows/list"},{"title":"API para criar workflow: monte seu fluxo de KYC","sidebarTitle":"Criar workflow","openapi":"pt-br/openapi-25.json POST /v3/workflows/","href":"/pt-br/management-api/workflows/create"},{"title":"Configurações de recursos de workflow: referência da API","sidebarTitle":"Configurações de recursos","href":"/pt-br/management-api/workflows/feature-configs"},{"title":"API Obter Workflow: consultar fluxo de KYC","sidebarTitle":"Obter workflow","openapi":"pt-br/openapi-25.json GET /v3/workflows/{settings_uuid}/","href":"/pt-br/management-api/workflows/get"},{"title":"API para atualizar workflow: editar fluxo de KYC","sidebarTitle":"Atualizar workflow","openapi":"pt-br/openapi-25.json PATCH /v3/workflows/{settings_uuid}/","href":"/pt-br/management-api/workflows/update"},{"title":"API para excluir workflow: remover fluxo de KYC","sidebarTitle":"Excluir workflow","openapi":"pt-br/openapi-25.json DELETE /v3/workflows/{settings_uuid}/","href":"/pt-br/management-api/workflows/delete"}]},{"group":"Questionários","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"API para listar questionários: formulários de KYC","sidebarTitle":"Listar questionários","openapi":"pt-br/openapi-25.json GET /v3/questionnaires/","href":"/pt-br/management-api/questionnaires/list"},{"title":"API para criar questionário: formulário KYC personalizado","sidebarTitle":"Criar questionário","openapi":"pt-br/openapi-25.json POST /v3/questionnaires/","href":"/pt-br/management-api/questionnaires/create"},{"title":"Obter questionário KYC via API: consultar formulário","sidebarTitle":"Obter questionário","openapi":"pt-br/openapi-25.json GET /v3/questionnaires/{questionnaire_uuid}/","href":"/pt-br/management-api/questionnaires/get"},{"title":"Atualizar questionário via API: editar formulário KYC","sidebarTitle":"Atualizar questionário","openapi":"pt-br/openapi-25.json PATCH /v3/questionnaires/{questionnaire_uuid}/","href":"/pt-br/management-api/questionnaires/update"},{"title":"Excluir questionário via API: remover formulário KYC","sidebarTitle":"Excluir questionário","openapi":"pt-br/openapi-25.json DELETE /v3/questionnaires/{questionnaire_uuid}/","href":"/pt-br/management-api/questionnaires/delete"}]},{"group":"Usuários","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/users.svg","pages":[{"title":"API para listar usuários: entidades User do fornecedor","sidebarTitle":"Listar usuários","openapi":"pt-br/openapi-25.json GET /v3/users/","href":"/pt-br/management-api/users/list"},{"title":"API para criar usuário: entidade User do fornecedor","sidebarTitle":"Criar usuário","openapi":"pt-br/openapi-25.json POST /v3/users/create/","href":"/pt-br/management-api/users/create"},{"title":"API de upload de rosto do usuário: perfil com vendor_data","sidebarTitle":"Enviar rosto do usuário","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/","href":"/pt-br/management-api/users/upload-face"},{"title":"Obter usuário via API: entidade User do fornecedor","sidebarTitle":"Obter usuário","openapi":"pt-br/openapi-25.json GET /v3/users/{vendor_data}/","href":"/pt-br/management-api/users/get"},{"title":"PDF do histórico do usuário via API: todas as sessões","sidebarTitle":"PDF do histórico do usuário","openapi":"pt-br/openapi-25.json GET /v3/users/{vendor_data}/generate-pdf/","href":"/pt-br/management-api/users/generate-pdf"},{"title":"API para atualizar usuário: entidade User do fornecedor","sidebarTitle":"Atualizar usuário","openapi":"pt-br/openapi-25.json PATCH /v3/users/{vendor_data}/","href":"/pt-br/management-api/users/update"},{"title":"Atualizar status do usuário na API: bloquear ou sinalizar","sidebarTitle":"Atualizar status do usuário","openapi":"pt-br/openapi-25.json PATCH /v3/users/{vendor_data}/update-status/","href":"/pt-br/management-api/users/update-status"},{"title":"API de exclusão de usuários em lote: apagamento GDPR","sidebarTitle":"Excluir usuários em lote","openapi":"pt-br/openapi-25.json POST /v3/users/delete/","href":"/pt-br/management-api/users/delete"}]},{"group":"Templates biométricos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"API de templates biométricos","sidebarTitle":"Visão geral","href":"/pt-br/management-api/biometric-templates/overview"},{"title":"Listar templates biométricos via API","sidebarTitle":"Listar templates","openapi":"pt-br/openapi-25.json GET /v3/biometric-templates/","href":"/pt-br/management-api/biometric-templates/list"},{"title":"Contar templates biométricos via API","sidebarTitle":"Contar templates","openapi":"pt-br/openapi-25.json GET /v3/biometric-templates/count/","href":"/pt-br/management-api/biometric-templates/count"},{"title":"Obter template biométrico via API","sidebarTitle":"Obter template","openapi":"pt-br/openapi-25.json GET /v3/biometric-templates/{template_uuid}/","href":"/pt-br/management-api/biometric-templates/get"},{"title":"Expurgar template biométrico pela API","sidebarTitle":"Expurgar template","openapi":"pt-br/openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/","href":"/pt-br/management-api/biometric-templates/purge"},{"title":"API de exclusão em massa de templates biométricos","sidebarTitle":"Exclusão em massa","openapi":"pt-br/openapi-25.json POST /v3/biometric-templates/delete/","href":"/pt-br/management-api/biometric-templates/batch-purge"}]},{"group":"Empresas","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"API para listar empresas: entidades KYB","sidebarTitle":"Listar empresas","openapi":"pt-br/openapi-25.json GET /v3/businesses/","href":"/pt-br/management-api/businesses/list"},{"title":"API para criar empresa: entidade KYB de fornecedor","sidebarTitle":"Criar empresa","openapi":"pt-br/openapi-25.json POST /v3/businesses/create/","href":"/pt-br/management-api/businesses/create"},{"title":"API Obter Empresa: entidade KYB por vendor_data","sidebarTitle":"Obter empresa","openapi":"pt-br/openapi-25.json GET /v3/businesses/{vendor_data}/","href":"/pt-br/management-api/businesses/get"},{"title":"API de PDF da sessão KYB de empresa","sidebarTitle":"Gerar PDF da sessão de empresa","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/businesses/{business_session_id}/pdf/","href":"/pt-br/management-api/businesses/generate-session-pdf"},{"title":"API para atualizar empresa (KYB): entidade do fornecedor","sidebarTitle":"Atualizar empresa","openapi":"pt-br/openapi-25.json PATCH /v3/businesses/{vendor_data}/","href":"/pt-br/management-api/businesses/update"},{"title":"API Atualizar Status da Empresa: bloquear ou sinalizar","sidebarTitle":"Atualizar status da empresa","openapi":"pt-br/openapi-25.json PATCH /v3/businesses/{vendor_data}/update-status/","href":"/pt-br/management-api/businesses/update-status"},{"title":"API para excluir empresas em lote: remoção de dados KYB","sidebarTitle":"Excluir empresas em lote","openapi":"pt-br/openapi-25.json POST /v3/businesses/delete/","href":"/pt-br/management-api/businesses/delete"}]},{"group":"Monitoramento contínuo de AML","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"Ativar ou desativar monitoramento AML de usuários na API","sidebarTitle":"Ativar para usuários","openapi":"pt-br/openapi-25.json POST /v3/users/aml-monitoring/","href":"/pt-br/management-api/aml-monitoring/toggle-users"},{"title":"API para ativar monitoramento AML de empresas","sidebarTitle":"Ativar para empresas","openapi":"pt-br/openapi-25.json POST /v3/businesses/aml-monitoring/","href":"/pt-br/management-api/aml-monitoring/toggle-businesses"},{"title":"Consultar job de monitoramento AML via API","sidebarTitle":"Consultar job de monitoramento AML","openapi":"pt-br/openapi-25.json GET /v3/aml-monitoring/jobs/{job_id}/","href":"/pt-br/management-api/aml-monitoring/get-job"}]},{"group":"Casos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/clipboard-check.svg","pages":[{"title":"API para listar casos de conformidade","sidebarTitle":"Listar casos","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/pt-br/management-api/cases/list"},{"title":"API de criação de caso","sidebarTitle":"Criar caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/pt-br/management-api/cases/create"},{"title":"Obter caso via API","sidebarTitle":"Obter caso","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/pt-br/management-api/cases/get"},{"title":"API de atualização de caso","sidebarTitle":"Atualizar caso","openapi":"pt-br/openapi-25.json PATCH /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/pt-br/management-api/cases/update"},{"title":"API para excluir caso de conformidade","sidebarTitle":"Excluir caso","openapi":"pt-br/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/pt-br/management-api/cases/delete"},{"title":"API para resolver caso","sidebarTitle":"Resolver caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/","href":"/pt-br/management-api/cases/resolve"},{"title":"API para solicitar informações em um caso","sidebarTitle":"Solicitar informações (aguardando usuário)","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/request-info/","href":"/pt-br/management-api/cases/request-info"},{"title":"API de transferência de caso","sidebarTitle":"Transferir caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/transfer/","href":"/pt-br/management-api/cases/transfer"},{"title":"API para imprimir caso em PDF","sidebarTitle":"Imprimir caso","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/print/","href":"/pt-br/management-api/cases/print"},{"title":"API de análise de casos","sidebarTitle":"Análise de casos","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/statistics/","href":"/pt-br/management-api/cases/statistics"},{"title":"API de atualização de status de casos em massa","sidebarTitle":"Status de casos em massa","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/bulk/status/","href":"/pt-br/management-api/cases/bulk-status"},{"title":"API para listar notas de casos","sidebarTitle":"Listar notas do caso","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/pt-br/management-api/cases/list-notes"},{"title":"API para criar nota de caso","sidebarTitle":"Criar nota de caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/pt-br/management-api/cases/create-note"}]},{"group":"Blueprints de casos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"Listar blueprints de caso via API","sidebarTitle":"Listar blueprints de caso","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/pt-br/management-api/case-blueprints/list"},{"title":"Criar blueprint de caso via API","sidebarTitle":"Criar blueprint de caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/pt-br/management-api/case-blueprints/create"},{"title":"Instalar presets de blueprints: API de gerenciamento","sidebarTitle":"Instalar presets","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/","href":"/pt-br/management-api/case-blueprints/install-presets"}]},{"group":"Redes","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"API para listar redes de fraude","sidebarTitle":"Listar redes","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/","href":"/pt-br/management-api/networks/list"},{"title":"API para obter rede de fraude","sidebarTitle":"Obter rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/","href":"/pt-br/management-api/networks/get"},{"title":"Adicionar tag a uma rede de fraude via API","sidebarTitle":"Adicionar tag à rede","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/add/","href":"/pt-br/management-api/networks/add-tag"},{"title":"Remover tag de rede de fraude via API","sidebarTitle":"Remover tag da rede","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/remove/","href":"/pt-br/management-api/networks/remove-tag"},{"title":"API de grafo de rede de fraude","sidebarTitle":"Obter grafo da rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/graph/","href":"/pt-br/management-api/networks/graph"},{"title":"Listar membros de rede de fraude via API","sidebarTitle":"Listar membros da rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/members/","href":"/pt-br/management-api/networks/members"},{"title":"API para listar sinais de redes de fraude","sidebarTitle":"Listar sinais de rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/signals/","href":"/pt-br/management-api/networks/signals"},{"title":"API de linha do tempo de redes de fraude","sidebarTitle":"Obter linha do tempo da rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/timeline/","href":"/pt-br/management-api/networks/timeline"},{"title":"API de mapa de redes de fraude","sidebarTitle":"Obter mapa da rede","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/map/","href":"/pt-br/management-api/networks/map"},{"title":"API de consulta de participação em redes de fraude","sidebarTitle":"Consulta de participação","href":"/pt-br/management-api/networks/membership-lookup"}]},{"group":"Modelos de relatório","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"Listar modelos de relatório UIF via API","sidebarTitle":"Listar modelos de relatório","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/pt-br/management-api/report-templates/list"},{"title":"Criar modelo de relatório via API","sidebarTitle":"Criar modelo de relatório","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/pt-br/management-api/report-templates/create"}]},{"group":"Relatórios regulatórios","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/search-file.svg","pages":[{"title":"API para criar relatório à UIF a partir de um caso","sidebarTitle":"Criar relatório a partir de caso","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/regulatory-reports/","href":"/pt-br/management-api/regulatory-reports/create-for-case"},{"title":"API para listar relatórios à UIF","sidebarTitle":"Listar relatórios","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/","href":"/pt-br/management-api/regulatory-reports/list"},{"title":"API para validar relatório à UIF","sidebarTitle":"Validar relatório","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/validate/","href":"/pt-br/management-api/regulatory-reports/validate"},{"title":"API para finalizar relatório à UIF","sidebarTitle":"Finalizar relatório","openapi":"pt-br/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/finalize/","href":"/pt-br/management-api/regulatory-reports/finalize"},{"title":"Excluir relatório FIU via API","sidebarTitle":"Excluir relatório","openapi":"pt-br/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/","href":"/pt-br/management-api/regulatory-reports/delete"},{"title":"API de URL de download de relatório para a UIF","sidebarTitle":"URL de download do relatório","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/download-url/","href":"/pt-br/management-api/regulatory-reports/download-url"}]},{"group":"Transações","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"API para listar transações: monitoramento KYT","sidebarTitle":"Listar transações","openapi":"pt-br/openapi-25.json GET /v3/transactions/","href":"/pt-br/management-api/transactions/list"},{"title":"API de criação de transação: envio ao KYT","sidebarTitle":"Criar transação","openapi":"pt-br/openapi-25.json POST /v3/transactions/","href":"/pt-br/management-api/transactions/create"},{"title":"API de exclusão em lote de transações","sidebarTitle":"Excluir transações em lote","openapi":"pt-br/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/transactions/delete/","href":"/pt-br/management-api/transactions/delete"},{"title":"API de consulta de transação: detalhes de KYT","sidebarTitle":"Obter transação","openapi":"pt-br/openapi-25.json GET /v3/transactions/{transaction_id}/","href":"/pt-br/management-api/transactions/get"},{"title":"Listar notas de transação via API","sidebarTitle":"Listar notas de transação","openapi":"pt-br/openapi-25.json GET /v3/transactions/{transaction_id}/notes/","href":"/pt-br/management-api/transactions/list-notes"},{"title":"API para criar nota de transação","sidebarTitle":"Criar nota de transação","openapi":"pt-br/openapi-25.json POST /v3/transactions/{transaction_id}/notes/","href":"/pt-br/management-api/transactions/create-note"},{"title":"API para listar transações relacionadas","sidebarTitle":"Listar transações relacionadas","openapi":"pt-br/openapi-25.json GET /v3/transactions/{transaction_id}/related/","href":"/pt-br/management-api/transactions/list-related"},{"title":"API de relatório em PDF de transações","sidebarTitle":"Gerar PDF da transação","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/","href":"/pt-br/management-api/transactions/generate-pdf"},{"title":"API de triagem de carteira cripto: AML sob demanda","sidebarTitle":"Triagem de carteira","openapi":"pt-br/openapi-25.json POST /v3/wallet-screening/","href":"/pt-br/management-api/transactions/screen-wallet"},{"title":"API de relatório PDF de triagem de carteira","sidebarTitle":"PDF de triagem de carteira","openapi":"pt-br/openapi-25.json POST /v3/wallet-screening/pdf/","href":"/pt-br/management-api/transactions/screen-wallet-pdf"},{"title":"API de token de transação do SDK: KYT no lado do cliente","sidebarTitle":"Gerar token de transação do SDK","openapi":"pt-br/openapi-25.json POST /v3/transactions/sdk-token/","href":"/pt-br/management-api/transactions/sdk-token"},{"title":"Enviar transação pelo SDK: KYT no lado do cliente","sidebarTitle":"Enviar transação (token do SDK)","openapi":"pt-br/openapi-25.json POST /v1/transactions/","href":"/pt-br/management-api/transactions/submit-sdk"},{"title":"Consultar transação via SDK: KYT no lado do cliente","sidebarTitle":"Consultar transação (token SDK)","openapi":"pt-br/openapi-25.json GET /v1/transactions/{transaction_id}/","href":"/pt-br/management-api/transactions/get-sdk"},{"title":"Listar regras de monitoramento de transações via API","sidebarTitle":"Listar regras","openapi":"pt-br/openapi-25.json GET /v3/transactions/rules/","href":"/pt-br/management-api/transactions/rules-list"},{"title":"Criar regra de monitoramento de transações - Regras KYT","sidebarTitle":"Criar regra","openapi":"pt-br/openapi-25.json POST /v3/transactions/rules/","href":"/pt-br/management-api/transactions/rules-create"},{"title":"API para obter regra de monitoramento de transações","sidebarTitle":"Obter regra","openapi":"pt-br/openapi-25.json GET /v3/transactions/rules/{rule_uuid}/","href":"/pt-br/management-api/transactions/rules-get"},{"title":"Atualizar regra de monitoramento de transações via API","sidebarTitle":"Atualizar regra","openapi":"pt-br/openapi-25.json PATCH /v3/transactions/rules/{rule_uuid}/","href":"/pt-br/management-api/transactions/rules-update"},{"title":"Excluir regra de monitoramento de transações via API","sidebarTitle":"Excluir regra","openapi":"pt-br/openapi-25.json DELETE /v3/transactions/rules/{rule_uuid}/","href":"/pt-br/management-api/transactions/rules-delete"},{"title":"API de backtest de regras de monitoramento de transações","sidebarTitle":"Backtest de regras","openapi":"pt-br/openapi-25.json POST /v3/transactions/rules/backtest/","href":"/pt-br/management-api/transactions/rules-backtest"},{"title":"API de biblioteca de regras de transações: 150+ presets","sidebarTitle":"Listar biblioteca de regras","openapi":"pt-br/openapi-25.json GET /v3/transactions/rules/library/","href":"/pt-br/management-api/transactions/rules-library"},{"title":"Instalar regras de monitoramento de transações (API)","sidebarTitle":"Instalar regras da biblioteca","openapi":"pt-br/openapi-25.json POST /v3/transactions/rules/install/","href":"/pt-br/management-api/transactions/rules-install"},{"title":"Desinstalar regras predefinidas de transações via API","sidebarTitle":"Desinstalar regras da biblioteca","openapi":"pt-br/openapi-25.json DELETE /v3/transactions/rules/install/","href":"/pt-br/management-api/transactions/rules-uninstall"}]},{"group":"Eventos de monitoramento","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Listar eventos de monitoramento: API da Didit","sidebarTitle":"Listar eventos de monitoramento","openapi":"pt-br/openapi-25.json GET /v3/events/","href":"/pt-br/management-api/monitoring-events/list"},{"title":"API para criar evento de monitoramento","sidebarTitle":"Criar evento de monitoramento","openapi":"pt-br/openapi-25.json POST /v3/events/","href":"/pt-br/management-api/monitoring-events/create"},{"title":"API de eventos de monitoramento em lote","sidebarTitle":"Criar eventos em lote","openapi":"pt-br/openapi-25.json POST /v3/events/batch/","href":"/pt-br/management-api/monitoring-events/create-batch"},{"title":"Token do SDK de monitoramento: gerar via API","sidebarTitle":"Gerar token do SDK","openapi":"pt-br/openapi-25.json POST /v3/events/sdk-token/","href":"/pt-br/management-api/monitoring-events/sdk-token"},{"title":"Obter evento de monitoramento via API","sidebarTitle":"Obter evento de monitoramento","openapi":"pt-br/openapi-25.json GET /v3/events/{event_uuid}/","href":"/pt-br/management-api/monitoring-events/get"},{"title":"Linha do tempo de eventos do sujeito via API","sidebarTitle":"Obter linha do tempo do sujeito","openapi":"pt-br/openapi-25.json GET /v3/events/subjects/{vendor_data}/","href":"/pt-br/management-api/monitoring-events/subject-timeline"},{"title":"API de métricas de enriquecimento de eventos","sidebarTitle":"Obter métricas de enriquecimento","openapi":"pt-br/openapi-25.json GET /v3/events/enrichment-metrics/","href":"/pt-br/management-api/monitoring-events/enrichment-metrics"},{"title":"Excluir evento de monitoramento via API","sidebarTitle":"Excluir evento de monitoramento","openapi":"pt-br/openapi-25.json DELETE /v3/events/{event_uuid}/delete/","href":"/pt-br/management-api/monitoring-events/delete"}]},{"group":"Travel Rule","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"API de configurações da Travel Rule: perfil de VASP","sidebarTitle":"Obter configurações da Travel Rule","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/settings/","href":"/pt-br/management-api/travel-rule/get-settings"},{"title":"Atualizar configurações da Travel Rule via API","sidebarTitle":"Atualizar configurações da Travel Rule","openapi":"pt-br/openapi-25.json PUT /v3/travel-rule/settings/","href":"/pt-br/management-api/travel-rule/update-settings"},{"title":"API para obter redes de Travel Rule","sidebarTitle":"Consultar redes de Travel Rule","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/networks/","href":"/pt-br/management-api/travel-rule/get-networks"},{"title":"API para obter o questionário da rede Travel Rule","sidebarTitle":"Obter questionário da rede","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/networks/questionnaire/","href":"/pt-br/management-api/travel-rule/get-network-questionnaire"},{"title":"API para salvar o questionário de rede da Travel Rule","sidebarTitle":"Salvar respostas do questionário","openapi":"pt-br/openapi-25.json PUT /v3/travel-rule/networks/questionnaire/","href":"/pt-br/management-api/travel-rule/update-network-questionnaire"},{"title":"API para enviar o questionário de rede da Travel Rule","sidebarTitle":"Enviar questionário de rede","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/networks/questionnaire/submit/","href":"/pt-br/management-api/travel-rule/submit-network-questionnaire"},{"title":"Acesso à rede Travel Rule: API de solicitação","sidebarTitle":"Solicitar rede Travel Rule","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/networks/{network}/request/","href":"/pt-br/management-api/travel-rule/request-network"},{"title":"E-mail de conformidade da Travel Rule: API de confirmação","sidebarTitle":"Confirmar e-mail de conformidade","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/settings/compliance-email/confirmation/","href":"/pt-br/management-api/travel-rule/send-compliance-email-confirmation"},{"title":"API para listar transferências da Travel Rule","sidebarTitle":"Listar transferências","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/transfers/","href":"/pt-br/management-api/travel-rule/list-transfers"},{"title":"Listar depósitos sem correspondência da Travel Rule (API)","sidebarTitle":"Listar depósitos sem correspondência","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/unmatched/","href":"/pt-br/management-api/travel-rule/list-unmatched-deposits"},{"title":"Vincular depósito da Travel Rule a uma mensagem via API","sidebarTitle":"Vincular depósito pendente","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/unmatched/{transaction_uuid}/match/","href":"/pt-br/management-api/travel-rule/match-unmatched-deposit"},{"title":"API de ações de transferência Travel Rule","sidebarTitle":"Finalizar, cancelar, reenviar ou atualizar","openapi":"pt-br/openapi-25.json PATCH /v3/transactions/{transaction_id}/travel-rule/","href":"/pt-br/management-api/travel-rule/update-transfer"},{"title":"API para confirmar propriedade de carteira na Travel Rule","sidebarTitle":"Confirmar propriedade da carteira","openapi":"pt-br/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/ownership/","href":"/pt-br/management-api/travel-rule/confirm-ownership"},{"title":"API para listar mensagens da Travel Rule","sidebarTitle":"Listar mensagens da Travel Rule","openapi":"pt-br/openapi-25.json GET /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/pt-br/management-api/travel-rule/list-messages"},{"title":"API para enviar mensagem da Travel Rule","sidebarTitle":"Enviar mensagem da Travel Rule","openapi":"pt-br/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/pt-br/management-api/travel-rule/create-message"},{"title":"Registrar transferência sunrise recebida: API Travel Rule","sidebarTitle":"Registrar recebida (sunrise)","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/inbound/","href":"/pt-br/management-api/travel-rule/register-inbound"},{"title":"API de transferência de entrada de VASP de teste","sidebarTitle":"Acionar entrada do VASP de teste","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/test-vasp/inbound/","href":"/pt-br/management-api/travel-rule/trigger-test-vasp-inbound"},{"title":"API de busca no diretório de VASPs: rotas da Travel Rule","sidebarTitle":"Buscar no diretório de VASPs","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/vasps/","href":"/pt-br/management-api/travel-rule/search-vasps"},{"title":"Obter entrada de VASP no diretório: API da Travel Rule","sidebarTitle":"Obter entrada de VASP","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/","href":"/pt-br/management-api/travel-rule/get-vasp"},{"title":"Decisão sobre VASP contraparte via API: Travel Rule","sidebarTitle":"Sua decisão sobre um VASP","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/pt-br/management-api/travel-rule/get-vasp-decision"},{"title":"API para definir decisão de VASP contraparte: Travel Rule","sidebarTitle":"Definir decisão sobre um VASP","openapi":"pt-br/openapi-25.json PUT /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/pt-br/management-api/travel-rule/set-vasp-decision"},{"title":"Remover decisão de VASP da contraparte: API Travel Rule","sidebarTitle":"Remover sua decisão sobre um VASP","openapi":"pt-br/openapi-25.json DELETE /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/pt-br/management-api/travel-rule/clear-vasp-decision"},{"title":"Consultar triagem de VASP contraparte: API da Travel Rule","sidebarTitle":"Obter triagem de um VASP","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/pt-br/management-api/travel-rule/get-vasp-screening"},{"title":"Triagem de VASP contraparte via API: checagem de sanções","sidebarTitle":"Triagem de VASP contraparte","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/pt-br/management-api/travel-rule/screen-vasp"},{"title":"Questionários de due diligence de VASP: API para listar","sidebarTitle":"Listar questionários de due diligence","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/pt-br/management-api/travel-rule/list-vasp-questionnaires"},{"title":"Enviar questionário de due diligence a VASP via API","sidebarTitle":"Enviar questionário de due diligence","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/pt-br/management-api/travel-rule/send-vasp-questionnaire"},{"title":"Listar contatos de contraparte: Travel Rule por e-mail","sidebarTitle":"Listar contatos de contrapartes","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/counterparty-contacts/","href":"/pt-br/management-api/travel-rule/list-counterparty-contacts"},{"title":"API de contato de contraparte - Travel Rule por e-mail","sidebarTitle":"Adicionar contato de contraparte","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/counterparty-contacts/","href":"/pt-br/management-api/travel-rule/create-counterparty-contact"},{"title":"Excluir contato de contraparte via API - Travel Rule","sidebarTitle":"Excluir contato de contraparte","openapi":"pt-br/openapi-25.json DELETE /v3/travel-rule/counterparty-contacts/{contact_uuid}/","href":"/pt-br/management-api/travel-rule/delete-counterparty-contact"},{"title":"API para listar endereços de carteira: Travel Rule","sidebarTitle":"Listar endereços de carteira","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/wallet-addresses/","href":"/pt-br/management-api/travel-rule/list-wallet-addresses"},{"title":"API para registrar endereço de carteira: Travel Rule","sidebarTitle":"Registrar endereço de carteira","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/wallet-addresses/","href":"/pt-br/management-api/travel-rule/create-wallet-address"},{"title":"API para importar endereços de carteira | Travel Rule","sidebarTitle":"Importar endereços de carteira","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/wallet-addresses/import/","href":"/pt-br/management-api/travel-rule/import-wallet-addresses"},{"title":"Atualizar endereço de carteira: API da Travel Rule","sidebarTitle":"Atualizar endereço de carteira","openapi":"pt-br/openapi-25.json PATCH /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/pt-br/management-api/travel-rule/update-wallet-address"},{"title":"API para excluir endereço de carteira: Travel Rule","sidebarTitle":"Excluir endereço de carteira","openapi":"pt-br/openapi-25.json DELETE /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/pt-br/management-api/travel-rule/delete-wallet-address"},{"title":"Listar comprovantes de carteira por captura de tela","sidebarTitle":"Listar comprovantes a revisar","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/wallet-proofs/","href":"/pt-br/management-api/travel-rule/list-wallet-proofs"},{"title":"Aprovar ou rejeitar prova de carteira por captura de tela","sidebarTitle":"Decidir prova de carteira","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/","href":"/pt-br/management-api/travel-rule/decide-wallet-proof"},{"title":"Criar sessão de widget de propriedade de carteira","sidebarTitle":"Criar sessão do widget de carteira","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/widget-session/","href":"/pt-br/management-api/travel-rule/create-widget-session"},{"title":"API de contexto do widget de propriedade de carteira","sidebarTitle":"Obter contexto do widget","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/widget/{token}/","href":"/pt-br/management-api/travel-rule/get-widget-context"},{"title":"API para iniciar prova de propriedade de carteira","sidebarTitle":"Iniciar prova do widget","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/","href":"/pt-br/management-api/travel-rule/create-widget-proof"},{"title":"API para enviar prova de propriedade de carteira","sidebarTitle":"Enviar evidência da prova","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/","href":"/pt-br/management-api/travel-rule/verify-widget-proof"},{"title":"API de seleção de VASP no widget: contraparte Travel Rule","sidebarTitle":"Escolher VASP de contraparte no widget","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/widget/{token}/vasps/","href":"/pt-br/management-api/travel-rule/select-widget-vasp"},{"title":"API de seletor de VASP: busca no diretório Travel Rule","sidebarTitle":"Buscar VASPs no widget de carteira","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/widget/{token}/vasps/","href":"/pt-br/management-api/travel-rule/search-widget-vasps"},{"title":"API Obter Dados de Coleta por E-mail | Travel Rule","sidebarTitle":"Obter coleta por e-mail","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/pickup/{token}/","href":"/pt-br/management-api/travel-rule/get-pickup"},{"title":"Responder à retirada por e-mail: API da Travel Rule","sidebarTitle":"Responder retirada por e-mail","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/pickup/{token}/respond/","href":"/pt-br/management-api/travel-rule/respond-pickup"},{"title":"Listar mensagens de retirada: API Travel Rule por e-mail","sidebarTitle":"Listar mensagens de retirada","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/pickup/{token}/messages/","href":"/pt-br/management-api/travel-rule/list-pickup-messages"},{"title":"Responder no portal de retirada - Travel Rule por e-mail","sidebarTitle":"Responder no portal de retirada","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/pickup/{token}/messages/","href":"/pt-br/management-api/travel-rule/create-pickup-message"},{"title":"Consultar convite de adesão à Travel Rule: API Didit","sidebarTitle":"Consultar convite de adesão","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/join/{token}/","href":"/pt-br/management-api/travel-rule/get-join-invitation"},{"title":"Cadastrar conta gratuita de Travel Rule via API","sidebarTitle":"Cadastrar conta gratuita","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/join/{token}/","href":"/pt-br/management-api/travel-rule/register-join"},{"title":"Verificar conta gratuita da Travel Rule via API","sidebarTitle":"Verificar conta gratuita","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/join/{token}/verify/","href":"/pt-br/management-api/travel-rule/verify-join"},{"title":"API para obter workspace gratuito da Travel Rule","sidebarTitle":"Obter workspace gratuito","openapi":"pt-br/openapi-25.json GET /v3/travel-rule/workspace/","href":"/pt-br/management-api/travel-rule/get-workspace"},{"title":"Reivindicar entrada no diretório: Travel Rule gratuita","sidebarTitle":"Reivindicar entrada no diretório","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/workspace/claim/","href":"/pt-br/management-api/travel-rule/claim-workspace"},{"title":"API para enviar código de domínio - Travel Rule gratuita","sidebarTitle":"Enviar código de domínio","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/workspace/domain/code/","href":"/pt-br/management-api/travel-rule/send-workspace-domain-code"},{"title":"API Confirmar Código de Domínio - Travel Rule Grátis","sidebarTitle":"Confirmar código de domínio","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/workspace/domain/confirm/","href":"/pt-br/management-api/travel-rule/confirm-workspace-domain"},{"title":"Verificar domínio por DNS: adesão gratuita Travel Rule","sidebarTitle":"Verificar domínio por DNS","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/workspace/domain/dns/","href":"/pt-br/management-api/travel-rule/verify-workspace-domain-dns"},{"title":"Ativar faturamento de saída na API da Travel Rule","sidebarTitle":"Ativar faturamento de saída","openapi":"pt-br/openapi-25.json POST /v3/travel-rule/workspace/billing/","href":"/pt-br/management-api/travel-rule/enable-workspace-billing"}]},{"group":"Operações de sessão","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/play.svg","pages":[{"title":"Excluir sessões em lote via API: limpeza de KYC","sidebarTitle":"Excluir sessões em lote","openapi":"pt-br/openapi-25.json POST /v3/sessions/delete/","href":"/pt-br/management-api/sessions/batch-delete"},{"title":"Consultar job de exclusão de sessões via API","sidebarTitle":"Consultar job de exclusão","openapi":"pt-br/openapi-25.json GET /v3/sessions/delete/{job_id}/","href":"/pt-br/management-api/sessions/get-deletion-job"},{"title":"API de revisões de sessão: registro de auditoria KYC","sidebarTitle":"Listar revisões de sessão","openapi":"pt-br/openapi-25.json GET /v3/sessions/{session_id}/reviews/","href":"/pt-br/management-api/sessions/list-reviews"},{"title":"API para criar revisão de sessão: KYC manual","sidebarTitle":"Criar revisão de sessão","openapi":"pt-br/openapi-25.json POST /v3/sessions/{session_id}/reviews/","href":"/pt-br/management-api/sessions/create-review"},{"title":"API para listar eventos de sessão","sidebarTitle":"Listar eventos de sessão","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/events/","href":"/pt-br/management-api/sessions/list-events"},{"title":"Entregas de webhooks da sessão: API para listar","sidebarTitle":"Listar entregas de webhooks","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/webhooks/","href":"/pt-br/management-api/sessions/list-webhooks"},{"title":"Consultar entrega de webhook da sessão: API","sidebarTitle":"Consultar entrega de webhook","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/webhook/{webhook_uuid}","href":"/pt-br/management-api/sessions/get-webhook"},{"title":"Reenviar webhook de sessão: API de entrega","sidebarTitle":"Reenviar webhook de sessão","openapi":"pt-br/openapi-25.json POST /v3/session/{sessionId}/webhook/{webhook_uuid}/resend","href":"/pt-br/management-api/sessions/resend-webhook"},{"title":"Histórico de triagem AML: listar via API","sidebarTitle":"Listar histórico de triagem AML","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/","href":"/pt-br/management-api/sessions/aml-screening-history"},{"title":"Histórico de triagem AML em CSV: API de exportação","sidebarTitle":"Exportar histórico AML","openapi":"pt-br/openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/export/","href":"/pt-br/management-api/sessions/export-aml-screening-history"}]},{"group":"Personalização","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"API para obter a personalização de marca (branding)","sidebarTitle":"Obter branding","openapi":"pt-br/openapi-25.json GET /v3/customization/","href":"/pt-br/management-api/customization/get"},{"title":"Atualizar personalização de marca via API | Didit","sidebarTitle":"Atualizar marca","openapi":"pt-br/openapi-25.json PATCH /v3/customization/","href":"/pt-br/management-api/customization/update"}]},{"group":"Webhook","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"Listar destinos de webhook pela API","sidebarTitle":"Listar destinos de webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/destinations/","href":"/pt-br/management-api/webhook/list-destinations"},{"title":"Criar destino de webhook via API","sidebarTitle":"Criar destino de webhook","openapi":"pt-br/openapi-25.json POST /v3/webhook/destinations/","href":"/pt-br/management-api/webhook/create-destination"},{"title":"Consultar destino do webhook: Management API da Didit","sidebarTitle":"Obter destino do webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/","href":"/pt-br/management-api/webhook/get-destination"},{"title":"Atualizar destino de webhook: API","sidebarTitle":"Atualizar destino de webhook","openapi":"pt-br/openapi-25.json PATCH /v3/webhook/destinations/{destination_uuid}/","href":"/pt-br/management-api/webhook/update-destination"},{"title":"Excluir destino de webhook via API","sidebarTitle":"Excluir destino de webhook","openapi":"pt-br/openapi-25.json DELETE /v3/webhook/destinations/{destination_uuid}/","href":"/pt-br/management-api/webhook/delete-destination"},{"title":"Obter configuração de webhook via API","sidebarTitle":"Obter configuração de webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/","href":"/pt-br/management-api/webhook/get-config"},{"title":"Atualizar configuração de webhook pela API","sidebarTitle":"Atualizar configuração de webhook","openapi":"pt-br/openapi-25.json PATCH /v3/webhook/","href":"/pt-br/management-api/webhook/update-config"},{"title":"API de análise de destino de webhook","sidebarTitle":"Análise do destino de webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/analytics/","href":"/pt-br/management-api/webhook/destination-analytics"},{"title":"API para listar entregas de webhook","sidebarTitle":"Listar entregas do webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/","href":"/pt-br/management-api/webhook/list-deliveries"},{"title":"Consultar entrega de webhook pela API","sidebarTitle":"Obter entrega de webhook","openapi":"pt-br/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/","href":"/pt-br/management-api/webhook/get-delivery"},{"title":"Reenviar entrega de webhook: API da Didit","sidebarTitle":"Reenviar entrega de webhook","openapi":"pt-br/openapi-25.json POST /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/resend/","href":"/pt-br/management-api/webhook/resend-delivery"}]},{"group":"Faturamento","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"API de saldo de créditos: faturamento de KYC","sidebarTitle":"Consultar saldo de créditos","openapi":"pt-br/openapi-25.json GET /v3/billing/balance/","href":"/pt-br/management-api/billing/balance"},{"title":"API de recarga de créditos","sidebarTitle":"Recarregar créditos","openapi":"pt-br/openapi-25.json POST /v3/billing/top-up/","href":"/pt-br/management-api/billing/top-up"}]},{"group":"Análises","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"API de analytics da aplicação","sidebarTitle":"Obter analytics da aplicação","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/","href":"/pt-br/management-api/analytics/get"},{"title":"API de verificações de hoje por hora","sidebarTitle":"Verificações de hoje por hora","openapi":"pt-br/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/today/","href":"/pt-br/management-api/analytics/today-by-hour"}]},{"group":"Visão geral da API de gerenciamento","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/info.svg","pages":[{"title":"API de gerenciamento v3: fluxos de trabalho e faturamento","sidebarTitle":"API de gerenciamento","href":"/pt-br/sessions-api/management-api"}]},{"group":"API de autenticação (programática)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/key.svg","pages":[{"title":"Registro programático de conta via Auth API","sidebarTitle":"Registrar conta","openapi":"pt-br/openapi-auth.json POST /programmatic/register/","href":"/pt-br/auth-api/register"},{"title":"API de verificação de e-mail: obtenha credenciais Didit","sidebarTitle":"Verificar e-mail","openapi":"pt-br/openapi-auth.json POST /programmatic/verify-email/","href":"/pt-br/auth-api/verify-email"},{"title":"API de login programático: tokens de autenticação","sidebarTitle":"Login","openapi":"pt-br/openapi-auth.json POST /programmatic/login/","href":"/pt-br/auth-api/login"},{"title":"API de credenciais Didit: obter client_id e api_key","sidebarTitle":"Obter credenciais","openapi":"pt-br/openapi-auth.json GET /organizations/me/{org_id}/applications/{app_id}/","href":"/pt-br/auth-api/get-credentials"},{"title":"API de criação de aplicações: apps via programação","sidebarTitle":"Criar aplicação","openapi":"pt-br/openapi-auth.json POST /organizations/me/{org_id}/applications/","href":"/pt-br/auth-api/create-application"},{"title":"API para atualizar aplicação: gerencie apps de clientes","sidebarTitle":"Atualizar aplicação","openapi":"pt-br/openapi-auth.json PATCH /organizations/me/{org_id}/applications/{app_id}/","href":"/pt-br/auth-api/update-application"}]},{"group":"Identidade e documentos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"API de Verificação de ID: OCR e Autenticidade","sidebarTitle":"API de verificação de identidade","openapi":"pt-br/openapi-25.json POST /v3/id-verification/","href":"/pt-br/standalone-apis/id-verification"},{"title":"API de comprovante de endereço: verificação POA e OCR","sidebarTitle":"API de comprovante de residência","openapi":"pt-br/openapi-25.json POST /v3/poa/","href":"/pt-br/standalone-apis/proof-of-address"},{"title":"API de validação de endereço: verificar e normalizar","sidebarTitle":"Validação de endereço","openapi":"pt-br/openapi-25.json POST /v3/address-validation/","href":"/pt-br/standalone-apis/address-validation"}]},{"group":"Carteiras de identidade digital","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"Carteiras de identidade digital: APIs de verificação","sidebarTitle":"APIs de carteira digital","href":"/pt-br/standalone-apis/digital-id-wallets"},{"title":"Catálogo de API de carteiras de identidade digital","sidebarTitle":"Listar carteiras de ID digital","openapi":"pt-br/openapi-25.json GET /v3/id-verification/wallets/","href":"/pt-br/standalone-apis/digital-id-wallet-catalog"},{"group":"Iniciar verificação","pages":[{"title":"API de verificação BankID Suécia","sidebarTitle":"BankID Suécia","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/bankid-se/","href":"/pt-br/api-reference/digital-id-wallets/bankid-se"},{"title":"API de verificação Finnish Trust Network","sidebarTitle":"Finnish Trust Network","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/ftn/","href":"/pt-br/api-reference/digital-id-wallets/ftn"},{"title":"API de verificação MitID pessoal","sidebarTitle":"MitID pessoal","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/mitid/","href":"/pt-br/api-reference/digital-id-wallets/mitid"},{"title":"API de verificação de identidade Mobile-ID","sidebarTitle":"Mobile-ID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/mobile-id/","href":"/pt-br/api-reference/digital-id-wallets/mobile-id"},{"title":"API de verificação Smart-ID","sidebarTitle":"Smart-ID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/smart-id/","href":"/pt-br/api-reference/digital-id-wallets/smart-id"},{"title":"iDIN identificação completa: API de verificação","sidebarTitle":"iDIN identificação completa","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/idin/","href":"/pt-br/api-reference/digital-id-wallets/idin"},{"title":"API de verificação de identidade Auðkenni","sidebarTitle":"Auðkenni","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/audkenni/","href":"/pt-br/api-reference/digital-id-wallets/audkenni"},{"title":"API de verificação Bank iD","sidebarTitle":"Bank iD","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/bankid-cz/","href":"/pt-br/api-reference/digital-id-wallets/bankid-cz"},{"title":"BankID Noruega: API de verificação de identidade","sidebarTitle":"BankID Noruega","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/bankid-no/","href":"/pt-br/api-reference/digital-id-wallets/bankid-no"},{"title":"API de verificação de ID Buypass","sidebarTitle":"Buypass ID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/buypass/","href":"/pt-br/api-reference/digital-id-wallets/buypass"},{"title":"API ConnectID: verificação de identidade","sidebarTitle":"ConnectID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/connectid/","href":"/pt-br/api-reference/digital-id-wallets/connectid"},{"title":"API de verificação Diia","sidebarTitle":"Diia","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/diia/","href":"/pt-br/api-reference/digital-id-wallets/diia"},{"title":"EUDI Wallet: API de verificação de identidade","sidebarTitle":"EUDI Wallet","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/eudi/","href":"/pt-br/api-reference/digital-id-wallets/eudi"},{"title":"API de verificação do ID-card estoniano","sidebarTitle":"ID-card estoniano","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/idcard-ee/","href":"/pt-br/api-reference/digital-id-wallets/idcard-ee"},{"title":"API de verificação FranceConnect","sidebarTitle":"FranceConnect","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/franceconnect/","href":"/pt-br/api-reference/digital-id-wallets/franceconnect"},{"title":"Freja eID: API de verificação de identidade","sidebarTitle":"Freja eID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/frejaid/","href":"/pt-br/api-reference/digital-id-wallets/frejaid"},{"title":"API do GOV.UK Wallet para verificação de identidade","sidebarTitle":"GOV.UK Wallet","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/govuk-wallet/","href":"/pt-br/api-reference/digital-id-wallets/govuk-wallet"},{"title":"API de verificação de identidade com Google Wallet ID","sidebarTitle":"Google Wallet ID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/google-wallet/","href":"/pt-br/api-reference/digital-id-wallets/google-wallet"},{"title":"API de verificação de identidade MojeID","sidebarTitle":"MojeID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/mojeid/","href":"/pt-br/api-reference/digital-id-wallets/mojeid"},{"title":"API de verificação OneID","sidebarTitle":"OneID","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/oneid/","href":"/pt-br/api-reference/digital-id-wallets/oneid"},{"title":"API de verificação Personalausweis Profile 2","sidebarTitle":"Personalausweis Profile 2","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/personalausweis/","href":"/pt-br/api-reference/digital-id-wallets/personalausweis"},{"title":"API de verificação UAE PASS","sidebarTitle":"UAE PASS","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/uae-pass/","href":"/pt-br/api-reference/digital-id-wallets/uae-pass"},{"title":"API de verificação Vipps Plus","sidebarTitle":"Vipps Plus","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/vipps/","href":"/pt-br/api-reference/digital-id-wallets/vipps"},{"title":"API de verificação eParaksts mobile","sidebarTitle":"eParaksts mobile","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/eparaksts-mobile/","href":"/pt-br/api-reference/digital-id-wallets/eparaksts-mobile"},{"title":"API gov.br para verificação de identidade","sidebarTitle":"gov.br","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/govbr/","href":"/pt-br/api-reference/digital-id-wallets/govbr"},{"title":"API de verificação itsme","sidebarTitle":"itsme","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/itsme/","href":"/pt-br/api-reference/digital-id-wallets/itsme"}]},{"title":"Obter resultado de verificação da carteira de ID digital","sidebarTitle":"Obter verificação da carteira","openapi":"pt-br/openapi-25.json GET /v3/id-verification/wallets/verifications/{request_id}/","href":"/pt-br/standalone-apis/digital-id-wallet-result"},{"title":"Enviar resposta de carteira da Digital Credentials API","sidebarTitle":"Enviar resposta da carteira","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/response/","href":"/pt-br/standalone-apis/digital-id-wallet-response"},{"title":"Consultar autenticação Smart-ID e Mobile-ID (polling)","sidebarTitle":"Consultar verificação de carteira","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/poll/","href":"/pt-br/standalone-apis/digital-id-wallet-poll"},{"title":"Cancelar verificação de carteira de identidade digital","sidebarTitle":"Cancelar verificação da carteira","description":"Cancele uma verificação pendente de carteira de identidade digital com a API autônoma da Didit. Esta página documenta o endpoint de cancelamento.","openapi":"pt-br/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/cancel/","href":"/pt-br/standalone-apis/digital-id-wallet-cancel"}]},{"group":"Document AI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/document-ai.svg","pages":[{"title":"Document AI API: extração de dados de documentos","sidebarTitle":"API Document AI","openapi":"pt-br/openapi-25.json POST /v3/document-ai/","href":"/pt-br/standalone-apis/document-ai"}]},{"group":"API de validação em bases de dados","pages":[{"title":"API de Validação de Base de Dados: Documento Nacional","sidebarTitle":"API de validação em bases","description":"Valide dados de identidade com a API da Didit em 100+ fontes nacionais e globais, com correspondência em cascata 1x1 e 2x2. Pague por chamada.","openapi":"pt-br/openapi-25.json POST /v3/database-validation/","href":"/pt-br/standalone-apis/database-validation"}]},{"group":"Validação de banco de dados","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/driver-2.svg","pages":[{"group":"🇦🇷 Argentina","pages":[{"title":"API de verificação de dados do DNI argentino: Data Match","sidebarTitle":"Argentina - Dados do DNI (RENAPER, sem selfie)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/argentina/renaper-data"},{"title":"Verificação de DNI na Argentina (RENAPER) via API","sidebarTitle":"Argentina - DNI (RENAPER)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/argentina/renaper"},{"title":"API de verificação de cidadãos da Argentina (AFIP)","sidebarTitle":"Cidadãos da Argentina (AFIP)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/argentina/citizens"},{"title":"API de verificação em bureau de crédito da Argentina","sidebarTitle":"Bureau de crédito Argentina","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/argentina/credit-bureau"}]},{"group":"🇦🇺 Austrália","pages":[{"title":"Verificação de certidão de nascimento: API DVS Austrália","sidebarTitle":"Austrália - DVS - Certidão de nascimento","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/birth-certificate"},{"title":"Verificação do cartão Centrelink na Austrália (DVS) – API","sidebarTitle":"Austrália - DVS - Cartão Centrelink","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/centrelink-card"},{"title":"Verificação de ImmiCard na Austrália (DVS) - API","sidebarTitle":"Austrália - DVS - ImmiCard","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/immicard"},{"title":"API de verificação de documento de viagem (DVS) Austrália","sidebarTitle":"Austrália - DVS - Documento de viagem","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/travel-document"},{"title":"Certidão de Mudança de Nome da Austrália (DVS) – API","sidebarTitle":"Austrália – Mudança de Nome (DVS)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/change-of-name-certificate"},{"title":"API de Certificado de Cidadania da Austrália (DVS)","sidebarTitle":"Austrália - DVS – Certificado de Cidadania","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/citizenship-certificate"},{"title":"API de Certidão de Casamento da Austrália – DVS","sidebarTitle":"Austrália – Certidão de Casamento (DVS)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/marriage-certificate"},{"title":"API de bureau de crédito da Austrália: ID Match","sidebarTitle":"Bureau de crédito da Austrália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/credit-bureau"},{"title":"API de verificação de óbito na Austrália (BDM)","sidebarTitle":"Óbito Austrália (BDM)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/death-check"},{"title":"API de verificação Electoral Roll da Austrália: ID Match","sidebarTitle":"Cadastro eleitoral da Austrália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/electoral-roll"},{"title":"API de verificação de superannuation e folha na Austrália","sidebarTitle":"Superannuation e folha (Austrália)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/superannuation-payroll"},{"title":"API de verificação VEVO da Austrália em tempo real","sidebarTitle":"VEVO Austrália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/vevo"},{"title":"Verificação de carteira de motorista da Austrália (DVS)","sidebarTitle":"DVS - Carteira de motorista australiana","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/driver-licence"},{"title":"DVS - API de verificação do Cartão Medicare da Austrália","sidebarTitle":"DVS - Cartão Medicare da Austrália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/medicare-card"},{"title":"API de verificação de passaporte DVS Austrália: ID Match","sidebarTitle":"DVS - Passaporte da Austrália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/passport"},{"title":"API de verificação de visto da Austrália (DVS)","sidebarTitle":"DVS - Visto australiano","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/australia/visa"}]},{"title":"API de verificação de bureau de crédito da Áustria","sidebarTitle":"Bureau de crédito da Áustria","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/austria/credit-bureau"},{"title":"API de verificação de CI da Bolívia em tempo real","sidebarTitle":"Bolívia - verificação da CI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/bolivia/cedula"},{"group":"🇧🇷 Brasil","pages":[{"title":"API de verificação BRA - Unico IDCloud (CPF + selfie)","sidebarTitle":"BRA - Unico IDCloud (CPF + selfie)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/unico-idcloud"},{"title":"API CNH com QR code e comparação facial (Datavalid)","sidebarTitle":"Brasil - CNH QR code + facial (Datavalid)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/cnh-facial-qrcode"},{"title":"API de CPF + face match (Datavalid) no Brasil: ID Match","sidebarTitle":"Brasil - CPF + biometria facial (Datavalid)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/cpf-facial"},{"title":"API de consulta de CPF: situação cadastral em tempo real","sidebarTitle":"Brasil - consulta de CPF","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/cpf"},{"title":"API de Quadro de Sócios e Administradores (QSA) do Brasil","sidebarTitle":"Brasil - Sócios e Administradores (QSA)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/company-directors"},{"title":"Consulta CNPJ: API de registro de empresas do Brasil","sidebarTitle":"Brasil - Registro de empresas (CNPJ)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/company-registry"},{"title":"Consulta de óbito por CPF no Brasil: API em tempo real","sidebarTitle":"Brasil - Óbito (CPF)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/death-check"},{"title":"API de antecedentes criminais da Polícia Federal - Brasil","sidebarTitle":"Antecedentes criminais (PF)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/antecedentes-criminais-pf"},{"title":"API de verificação residencial no Brasil: identidade","sidebarTitle":"Brasil residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/residential"},{"title":"API de verificação de CPF/CNPJ: cadastro fiscal do Brasil","sidebarTitle":"Cadastro fiscal (CPF/CNPJ)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/brazil/tax-registration"}]},{"title":"API de ID nacional do Camboja: correspondência de dados","sidebarTitle":"Identidade nacional do Camboja","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/cambodia/national-id"},{"group":"🇨🇦 Canadá","pages":[{"title":"Verificação em bureau de crédito do Canadá (FINTRAC)","sidebarTitle":"Bureau de crédito Canadá (FINTRAC)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/canada/credit-bureau-fintrac"},{"title":"API Bureau de Crédito 2 Canadá (não FINTRAC): ID Match","sidebarTitle":"Bureau de Crédito 2 do Canadá (não FINTRAC)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/canada/credit-bureau-2-non-fintrac"},{"title":"API de verificação residencial do Canadá: identidade","sidebarTitle":"Canadá Residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/canada/residential"}]},{"title":"Verificação de RUT no Chile: API em tempo real","sidebarTitle":"Chile - Verificação de RUT","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/chile/rut"},{"group":"🇨🇳 China","pages":[{"title":"API de verificação de cartão bancário da China","sidebarTitle":"Cartão bancário da China","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/china/bank-card"},{"title":"API de Verificação de ID Nacional da China: Consulta","sidebarTitle":"Identidade nacional da China","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/china/national-id"},{"title":"API de verificação de passaporte da China em tempo real","sidebarTitle":"Passaporte da China","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/china/passport-verification"},{"title":"API de verificação de telefone na China: ID em tempo real","sidebarTitle":"Telefone na China","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/china/phone"}]},{"group":"🇨🇴 Colômbia","pages":[{"title":"API de verificação de Cédula da Colômbia: identidade","sidebarTitle":"Colômbia - verificação de Cédula","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/colombia/cedula"},{"title":"API de status de estrangeiro Migración Colombia","sidebarTitle":"Colômbia - Migración Colombia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/colombia/migracion"}]},{"title":"API de verificação de cédula da Costa Rica: Data Match","sidebarTitle":"Costa Rica - Cédula","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/costa-rica/cedula"},{"group":"🇩🇰 Dinamarca","pages":[{"title":"API Denmark Consumer 2: verificação de identidade","sidebarTitle":"Denmark Consumer 2","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/denmark/consumer-2"},{"title":"API de Verificação de ID Nacional da Dinamarca","sidebarTitle":"ID nacional da Dinamarca","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/denmark/national-id"}]},{"title":"API de verificação de Cédula da República Dominicana","sidebarTitle":"República Dominicana - Cédula","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/dominican-republic/cedula"},{"title":"API de verificação de Cédula do Equador em tempo real","sidebarTitle":"Equador - Cédula","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/ecuador/cedula"},{"title":"API de verificação do DUI de El Salvador: identidade","sidebarTitle":"El Salvador - verificação do DUI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/el-salvador/dui"},{"group":"🇫🇮 Finlândia","pages":[{"title":"API Finland Consumer 2: verificação de identidade","sidebarTitle":"Finland Consumer 2","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/finland/consumer-2"},{"title":"API de verificação de ID nacional da Finlândia","sidebarTitle":"ID nacional da Finlândia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/finland/national-id"}]},{"group":"🇫🇷 França","pages":[{"title":"API de verificação de telefone da França em tempo real","sidebarTitle":"Telefone França","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/france/phone"},{"title":"API de verificação residencial na França: identidade","sidebarTitle":"França residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/france/residential"},{"title":"API de verificação de contas de consumo da França","sidebarTitle":"Contas de consumo França","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/france/utility"}]},{"group":"🇩🇪 Alemanha","pages":[{"title":"API de verificação em bureau de crédito da Alemanha","sidebarTitle":"Bureau de crédito da Alemanha","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/germany/credit-bureau"},{"title":"API de verificação Telefone 2 Alemanha: tempo real","sidebarTitle":"Alemanha Telefone 2","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/germany/phone-2"}]},{"group":"🌐 Global","pages":[{"title":"API de verificação Global Core Intelligence Service","sidebarTitle":"Global - Core Intelligence Service","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/global/intelligence-service"},{"title":"Enriquecimento de identidade global: API de verificação","sidebarTitle":"Global - Enriquecimento de identidade","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/global/identity-enrichment"},{"title":"Verificação de SIM Swap global: correspondência telco","sidebarTitle":"Global - SIM Swap","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/global/swap"}]},{"group":"🇬🇹 Guatemala","pages":[{"title":"API de DPI + face match na Guatemala (RENAP): ID Match","sidebarTitle":"Guatemala - DPI + facial (RENAP)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/guatemala/dpi-facial"},{"title":"Verificação de DPI da Guatemala: consulta em tempo real","sidebarTitle":"Guatemala - verificação de DPI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/guatemala/dpi"}]},{"title":"API de verificação do DNI de Honduras em tempo real","sidebarTitle":"Honduras - verificação do DNI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/honduras/dni"},{"group":"🇮🇳 Índia","pages":[{"title":"API Aadhaar da Índia (UIDAI): correspondência de dados","sidebarTitle":"Aadhaar (UIDAI) da Índia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/india/aadhaar"},{"title":"API de verificação de CNH da Índia (RTO)","sidebarTitle":"Carteira de motorista da Índia (RTO)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/india/drivers-licence"},{"title":"API EPIC da Índia (registro de eleitor) (ECI)","sidebarTitle":"EPIC da Índia (registro de eleitor)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/india/epic-voter-s-registration"},{"title":"API PAN da Índia (Permanent Account Number) (ITD)","sidebarTitle":"PAN da Índia (ITD)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/india/pan-permanent-account-number"}]},{"title":"API de verificação de KTP da Indonésia | Didit","sidebarTitle":"KTP da Indonésia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/indonesia/residential-identity-card"},{"group":"🇮🇹 Itália","pages":[{"title":"API de bureau de crédito da Itália: match de cabeçalho","sidebarTitle":"Bureau de crédito da Itália","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/italy/credit-bureau"},{"title":"API de verificação residencial na Itália: identidade","sidebarTitle":"Itália residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/italy/residential"}]},{"title":"API de verificação de ID nacional do Quênia","sidebarTitle":"ID Nacional do Quênia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/kenya/national-id"},{"title":"API de ID nacional da Malásia: correspondência de dados","sidebarTitle":"ID nacional da Malásia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/malaysia/national-id"},{"group":"🇲🇽 México","pages":[{"title":"API de verificação de CURP (México) em tempo real","sidebarTitle":"México - verificação de CURP","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/mexico/curp"},{"title":"API de vigência da credencial INE do México","sidebarTitle":"México - vigência da credencial INE","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/mexico/ine-vigencia"}]},{"title":"API de verificação residencial da Holanda: ID Match","sidebarTitle":"Holanda residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/netherlands/residential"},{"group":"🇳🇿 Nova Zelândia","pages":[{"title":"API de verificação de nascimentos DIA, Nova Zelândia","sidebarTitle":"DIA - Nascimentos Nova Zelândia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/new-zealand/births"},{"title":"API de verificação de cidadania da Nova Zelândia - DIA","sidebarTitle":"DIA - Cidadania da Nova Zelândia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/new-zealand/citizenship"},{"title":"API de verificação de passaporte da Nova Zelândia (DIA)","sidebarTitle":"DIA - Passaporte da Nova Zelândia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/new-zealand/passport"},{"title":"API de verificação de óbito na Nova Zelândia (BDM)","sidebarTitle":"Óbito Nova Zelândia (BDM)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/new-zealand/death-check"},{"title":"API de carteira de motorista da Nova Zelândia (NZTA)","sidebarTitle":"Habilitação da Nova Zelândia (NZTA)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/new-zealand/drivers-licence"}]},{"group":"🇳🇬 Nigéria","pages":[{"title":"API de BVN da Nigéria (Bank Verification Number)","sidebarTitle":"BVN da Nigéria","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/nigeria/bank-verification-number"},{"title":"Verificação de carteira de motorista da Nigéria (FRSC)","sidebarTitle":"Carteira de motorista da Nigéria (FRSC)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/nigeria/drivers-license"},{"title":"API de Passaporte da Nigéria (NIS): Correspondência de ID","sidebarTitle":"Passaporte da Nigéria (NIS)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/nigeria/passport"},{"title":"Verificação do ID nacional da Nigéria (NIMC) via API","sidebarTitle":"ID nacional da Nigéria (NIMC)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/nigeria/national-id"},{"title":"Verificação de ID nacional da Nigéria + selfie (NIMC)","sidebarTitle":"ID nacional da Nigéria + selfie (NIMC)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/nigeria/national-id-facial"}]},{"title":"API de verificação residencial da Noruega: identidade","sidebarTitle":"Noruega residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/norway/residential"},{"group":"🇵🇦 Panamá","pages":[{"title":"API de cédula do Panamá com face match biométrico","sidebarTitle":"Panamá - Cédula com biometria facial (SIB Plus)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/panama/sib-plus"},{"title":"API Cédula do Panamá com face-match biométrico (SIB)","sidebarTitle":"Panamá - Cédula com biometria facial (SIB)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/panama/sib"}]},{"title":"Paraguai: API de verificação de CI em tempo real","sidebarTitle":"Paraguai - verificação de CI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/paraguay/cedula"},{"group":"🇵🇪 Peru","pages":[{"title":"API de verificação de DNI do Peru em tempo real","sidebarTitle":"Peru - verificação de DNI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/peru/dni"},{"title":"Verificação de registro fiscal no Peru (SUNAT) via API","sidebarTitle":"Registro fiscal do Peru (SUNAT)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/peru/tax-registration"}]},{"title":"API de verificação residencial nas Filipinas: ID Match","sidebarTitle":"Residencial Filipinas","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/philippines/residential"},{"group":"🇸🇬 Singapura","pages":[{"title":"API de verificação em bureau de crédito de Singapura","sidebarTitle":"Bureau de crédito de Singapura","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/singapore/credit-bureau"},{"title":"API de Verificação de Conta de Consumo em Singapura","sidebarTitle":"Conta de consumo (Singapura)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/singapore/utility"}]},{"group":"🇿🇦 África do Sul","pages":[{"title":"Verificação de titular de conta bancária na África do Sul","sidebarTitle":"África do Sul - Titular de conta bancária","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/bank-account-holder"},{"title":"API de consulta de diretores de empresas na África do Sul","sidebarTitle":"África do Sul - Diretores de empresas","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/company-directors"},{"title":"Registro de empresas da África do Sul - API de consulta","sidebarTitle":"África do Sul - Registro de empresas","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/company-registry"},{"title":"API de contactabilidade na África do Sul: ID Match","sidebarTitle":"África do Sul - Contactabilidade","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/contactability"},{"title":"Triagem criminal por rosto na África do Sul - API","sidebarTitle":"África do Sul - Triagem criminal facial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/criminal-face-screening"},{"title":"API DHA Fingerprint Match da África do Sul: ID Match","sidebarTitle":"África do Sul - Impressão digital DHA","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/dha-fingerprint-match"},{"title":"API de recuperação de foto do DHA da África do Sul","sidebarTitle":"África do Sul - Foto DHA","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/dha-photo"},{"title":"Verificação de carteira de motorista na África do Sul API","sidebarTitle":"África do Sul - Carteira de motorista","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/drivers-license"},{"title":"API de triagem de prevenção a fraudes na África do Sul","sidebarTitle":"África do Sul - Prevenção a fraudes","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/fraud-prevention"},{"title":"API de consulta de cargos de diretor na África do Sul","sidebarTitle":"África do Sul - Cargos de diretor","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/person-directorships"},{"title":"API de verificação de arquivo de refugiado: África do Sul","sidebarTitle":"África do Sul - Arquivo de refugiado","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/refugee"},{"title":"Verificação de propriedade de veículo na África do Sul","sidebarTitle":"África do Sul - Propriedade de veículo","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/vehicle-ownership"},{"title":"API de verificação de ID nacional da África do Sul (DHA)","sidebarTitle":"Identidade nacional África do Sul (DHA)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/south-africa/national-id"}]},{"title":"API de verificação de DNI/NIE na Espanha em tempo real","sidebarTitle":"Espanha - DNI/NIE","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/spain/dni"},{"group":"🇸🇪 Suécia","pages":[{"title":"API de ID nacional da Suécia: correspondência","sidebarTitle":"ID nacional da Suécia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/sweden/national-id"},{"title":"API de verificação de telefone da Suécia em tempo real","sidebarTitle":"Telefone Suécia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/sweden/phone"}]},{"title":"API de verificação de birô de crédito da Suíça","sidebarTitle":"Birô de crédito da Suíça","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/switzerland/credit-bureau"},{"title":"API de verificação de ID nacional da Tailândia","sidebarTitle":"ID nacional da Tailândia","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/thailand/national-id"},{"group":"🇬🇧 Reino Unido","pages":[{"title":"API de verificação em bureau de crédito do Reino Unido","sidebarTitle":"Bureau de crédito do Reino Unido","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-kingdom/credit-bureau"},{"title":"API de verificação de serviços financeiros do Reino Unido","sidebarTitle":"Serviços financeiros do Reino Unido","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-kingdom/financial-services"},{"title":"API de telefone 2 do Reino Unido: correspondência","sidebarTitle":"Reino Unido Telefone 2","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-kingdom/phone-2"},{"title":"API de verificação residencial no Reino Unido","sidebarTitle":"Reino Unido residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-kingdom/residential"}]},{"group":"🇺🇸 Estados Unidos","pages":[{"title":"API de verificação por bureau de crédito dos EUA","sidebarTitle":"EUA - Bureau de crédito","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-states/credit-bureau"},{"title":"API de verificação de óbito nos EUA (SSDMF)","sidebarTitle":"EUA - Verificação de óbito (SSDMF)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-states/death-check"},{"title":"API de verificação de serviços financeiros dos EUA","sidebarTitle":"EUA - Serviços financeiros","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-states/financial-services"},{"title":"API de verificação Phone 2 dos EUA: correspondência","sidebarTitle":"Estados Unidos - Phone 2","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-states/phone-2"},{"title":"API de verificação residencial dos Estados Unidos","sidebarTitle":"Estados Unidos - Residencial","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/united-states/residential"}]},{"title":"API de verificação da CI do Uruguai em tempo real","sidebarTitle":"Uruguai - verificação da CI","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/uruguay/cedula"},{"title":"API de verificação de Cédula da Venezuela","sidebarTitle":"Venezuela - verificação de Cédula","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/venezuela/cedula"},{"title":"API de verificação do NRC da Zâmbia (registro fiscal)","sidebarTitle":"NRC da Zâmbia (registro fiscal)","api":"POST /v3/database-validation/","href":"/pt-br/api-reference/database-validation/zambia/national-id"}]},{"group":"Biometria e rosto","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"API de Prova de Vida Passiva: Detecção de Deepfake","sidebarTitle":"Liveness passiva","openapi":"pt-br/openapi-25.json POST /v3/passive-liveness/","href":"/pt-br/standalone-apis/passive-liveness"},{"title":"API de comparação facial 1:1 (Face Match)","sidebarTitle":"Face Match","openapi":"pt-br/openapi-25.json POST /v3/face-match/","href":"/pt-br/standalone-apis/face-match"},{"title":"API de busca facial: deduplicação 1:N e redes de fraude","sidebarTitle":"Busca facial","openapi":"pt-br/openapi-25.json POST /v3/face-search/","href":"/pt-br/standalone-apis/face-search"},{"title":"API de estimativa de idade: verificação por selfie","sidebarTitle":"API de estimativa de idade","openapi":"pt-br/openapi-25.json POST /v3/age-estimation/","href":"/pt-br/standalone-apis/age-estimation"}]},{"group":"Conformidade e risco","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"API de triagem AML: sanções, PEP e lista de monitoramento","sidebarTitle":"API de triagem AML","openapi":"pt-br/openapi-25.json POST /v3/aml/","href":"/pt-br/standalone-apis/aml-screening"},{"title":"API de atualização das bases de dados AML","sidebarTitle":"Obter atualização das bases AML","openapi":"pt-br/openapi-25.json GET /v3/aml/dataset-freshness/","href":"/pt-br/standalone-apis/aml-dataset-freshness"},{"title":"API antifraude: Fraud Check da Didit","openapi":"pt-br/openapi-25.json POST /v3/fraud/checks/","href":"/pt-br/standalone-apis/fraud-check"},{"title":"Planejar uma verificação de fraude","openapi":"pt-br/openapi-25.json POST /v3/fraud/checks/plan/","href":"/pt-br/standalone-apis/fraud-check-plan"},{"title":"Obter resultado do Fraud Check (verificação de fraude)","openapi":"pt-br/openapi-25.json GET /v3/fraud/checks/{check_id}/","href":"/pt-br/standalone-apis/fraud-check-result"}]},{"group":"Análise de dispositivo e IP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/ip-analysis.svg","pages":[{"title":"API de risco de IP: geolocalização, VPN e datacenter","sidebarTitle":"API de risco de IP","openapi":"pt-br/openapi-25.json POST /v3/ip/risk/","href":"/pt-br/standalone-apis/ip-risk"}]},{"group":"Registro KYB","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"API de registro KYB: busca e seleção de empresas","sidebarTitle":"Visão geral","href":"/pt-br/standalone-apis/kyb-registry"},{"title":"API de busca em registro de empresas (KYB)","sidebarTitle":"Busca KYB em registros","openapi":"pt-br/openapi-25.json POST /v3/kyb/search/","href":"/pt-br/standalone-apis/kyb-registry-search"},{"title":"API KYB Registry Select: obter perfil da empresa","sidebarTitle":"KYB Registry Select","openapi":"pt-br/openapi-25.json POST /v3/kyb/select/","href":"/pt-br/standalone-apis/kyb-registry-select"},{"title":"API de acionistas KYB do registro de empresas","sidebarTitle":"Acionistas KYB do registro","openapi":"pt-br/openapi-25.json POST /v3/kyb/shareholders/","href":"/pt-br/standalone-apis/kyb-registry-shareholders"},{"title":"API de UBO do registro KYB: beneficiários finais","sidebarTitle":"UBOs no registro KYB","openapi":"pt-br/openapi-25.json POST /v3/kyb/ubo/","href":"/pt-br/standalone-apis/kyb-registry-ubo"}]},{"group":"Verificação de e-mail","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sms-tracking.svg","pages":[{"title":"API de verificação de e-mail: OTP e pontuação de risco","sidebarTitle":"Visão geral","href":"/pt-br/standalone-apis/email-verification"},{"title":"API de OTP por e-mail: enviar código de verificação","sidebarTitle":"Enviar código por e-mail","openapi":"pt-br/openapi-25.json POST /v3/email/send/","href":"/pt-br/standalone-apis/email-send"},{"title":"API para verificar OTP de e-mail: validar código","sidebarTitle":"Verificar código de e-mail","openapi":"pt-br/openapi-25.json POST /v3/email/check/","href":"/pt-br/standalone-apis/email-check"},{"title":"API de risco de e-mail: entregabilidade e vazamentos","sidebarTitle":"API de risco de e-mail","openapi":"pt-br/openapi-25.json POST /v3/email/risk/","href":"/pt-br/standalone-apis/email-risk"}]},{"group":"Verificação de telefone","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/phone-verification.svg","pages":[{"title":"API de verificação de telefone: SMS OTP e sinais de risco","sidebarTitle":"Visão geral","href":"/pt-br/standalone-apis/phone-verification"},{"title":"API de envio de OTP por telefone: verificação por SMS","sidebarTitle":"Enviar código por telefone","openapi":"pt-br/openapi-25.json POST /v3/phone/send/","href":"/pt-br/standalone-apis/phone-send"},{"title":"API Check Phone OTP: validar código SMS","sidebarTitle":"Verificar código","openapi":"pt-br/openapi-25.json POST /v3/phone/check/","href":"/pt-br/standalone-apis/phone-check"},{"title":"API de risco de telefone: operadora e sinais de fraude","sidebarTitle":"API de risco de telefone","openapi":"pt-br/openapi-25.json POST /v3/phone/risk/","href":"/pt-br/standalone-apis/phone-risk"}]},{"group":"Verificação bancária","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"Account Check API: verificar conta bancária de pagamento","sidebarTitle":"Verificação de conta","openapi":"pt-br/openapi-25.json POST /v3/bank/account-check/","href":"/pt-br/standalone-apis/bank-account-check"}]}]},{"tab":"Verificação de usuários","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Verificação de usuários","href":"/pt-br/core-technology/liveness/overview"}]},{"tab":"Verificação de empresas","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"Verificação de empresas","href":"/pt-br/business-verification/overview"}]},{"tab":"Monitoramento de transações","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Monitoramento de transações","href":"/pt-br/transaction-monitoring/overview"}]},{"tab":"Registro de alterações","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"Registro de alterações","href":"/pt-br/changelog"}]}],"global":{"anchors":[{"anchor":"Referência da API","icon":"code","href":"/pt-br/api-reference/overview"},{"anchor":"Business Console","icon":"gauge","href":"https://business.didit.me"},{"anchor":"Especificação OpenAPI","icon":"file-code","href":"https://docs.didit.me/pt-br/openapi-25.json"},{"anchor":"Prompt de integração","icon":"wand-magic-sparkles","href":"/pt-br/integration/integration-prompt"},{"anchor":"Servidor MCP","icon":"plug","href":"/pt-br/integration/mcp/overview"},{"anchor":"Agent Skills","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"pages":[{"title":"ja","href":"/ja/standalone-apis/document-ai"}]}]},"basePath":"","title":"Document AI API: extração de dados de documentos - Didit Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}