---
title: "Exato - Análise Documental"
method: POST
path: "/br/exato/analise-documental"
tags: ["Exato - Consultas"]
---

# Exato - Análise Documental

`POST /br/exato/analise-documental`

## Request

- Base URL: `https://api.directdigital.com.br`
- URL: `https://api.directdigital.com.br/br/exato/analise-documental`
- Auth: API key in header `token`

Exato - Análise Documental

## Query parameters

- `test_mode` boolean
- `lightweight` boolean

## Request body `application/x-www-form-urlencoded`

- object
  - `cpf` string, required: CPF do solicitante da troca de titularidade
  - `nome` string, required: Nome do solicitante como declarado na solicitação
  - `conta_contrato` string: Número da conta contrato na distribuidora, só para auditoria

## Response `200`

Success

- ExatoDocumentAnalysisResponse: ExatoDocumentAnalysisResponse
  - `ApiResultType` 'Success' | 'SuccessWithRemarks' | 'InvalidInput' | 'DataUnavailable' | 'NotFound' | 'InvalidParameters' | 'UnsupportedCombination' | 'RemoteUnavailable' | 'Timeout' | 'RetryLimitReached' | 'RemoteError' | 'InProgress' | 'InsufficientCredits' | 'ConcurrentLimitReached' | 'TransactionUnavailable' | 'AccessDenied' | 'TransactionCancelled' | 'Created' | 'Updated' | 'Deleted' | 'InternalError' | 'ValidationFailed' | 'Conflict' | 'ResourceLocked' | 'PendingApproval' | 'Approved' | 'Rejected' | 'Cancelled' | 'Paused' | 'Resumed': Novo tipo de resultado unificado para queries e operações administrativas. Substitui TransactionResultType com melhor semântica.
  - `BalanceInBrl` number, double: Saldo atual em BRL.
  - `BalanceInCredits` integer: Saldo atual em créditos.
  - `DataSourceCategory` string: Categoria da fonte de dados
  - `Date` string, date-time: Data da transação.
  - `ElapsedTimeInMilliseconds` integer: Tempo de execução (em milisegundos).
  - `ExecutedDataSourceName` string: Nome de exibição do tipo de consulta que realmente executou.
  - `ExecutedDataSourceTypeId` integer: Id do tipo de consulta que realmente executou (o gravado na transação), que pode diferir do tipo pedido quando a rota é genérica por UF ou quando um master delega a uma sub-consulta.
  - `HasOriginalFiles` boolean: Indica que a transação carrega arquivos originais da fonte (a certidão emitida, por exemplo) para download em OriginalFilesUrl. Falso não significa que a URL não exista: ela é montada sempre.
  - `HasPdf` boolean: Indica que existe PDF de comprovante do resultado.
  - `Message` string: Mensagem.
  - `OriginalFilesUrl` string: Url para download dos arquivos originais da transação (quando disponíveis).
  - `OutdatedResult` boolean: Indica que o resultado é datado.
  - `PdfUrl` string: Url para download do arquivo de comprovante em PDF da transação (quando disponível).
  - `ResultSubtype` string: Subtipo específico do resultado para fornecer contexto adicional (ex: 'duplicate_name', 'invalid_cpf').
  - `ResultTypeCode` integer: Código numérico do resultado (compatível com TransactionResultTypeCode mas extensível).
  - `TotalCost` number, double: Internal use only.
  - `TotalCostInCredits` integer: Custo total da transação em créditos.
  - `TransactionResultType` 'Success' | 'SuccessWithRemarks' | 'InvalidInputData' | 'UnavailableData' | 'EntityNotFound' | 'InvalidParameters' | 'ParametersNotSupported' | 'RemoteSystemUnavailable' | 'Timeout' | 'AttemptsLimitReached' | 'RemoteSystemError' | 'AsyncExecutionInProgress' | 'AwaitingExecution' | 'BirthDateRequired' | 'InsufficientBalance' | 'SimultaneousTransactionsLimitReached' | 'TransactionUnavailable' | 'AccessDenied' | 'TransactionCancelled' | 'InternalError': <table class="transaction"><thead><tr><th>TransactionResultType Code</th><th>TransactionResultType</th><th>Definitivo</th><th>Faturavel</th><th>Erro</th></tr></thead><tbody><tr><td>1</td><td>Sucesso</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>2</td><td>Sucesso parcial ou com observações</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>3</td><td>Entrada ou documento inválido</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>4</td><td>Dados não disponíveis</td><td>Verdadeiro (no dia)</td><td>Falso</td><td>Falso</td></tr><tr><td>5</td><td>Entidade ou documento inexistente/não encontrado</td><td>Verdadeiro</td><td>Verdadeiro</td><td>Falso</td></tr><tr><td>6</td><td>Parâmetros de entrada inválidos</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>7</td><td>Combinação de parâmetros não suportados</td><td>Verdadeiro</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>8</td><td>Fonte de dados ou sistema remoto indisponível</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>9</td><td>Limite de tempo esgotado</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>10</td><td>Limite de tentativas atingido</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>11</td><td>Erro na fonte de dados ou sistema remoto</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>12</td><td>Transação em execução</td><td>Falso</td><td>Falso</td><td>Falso</td></tr><tr><td>101</td><td>Saldo em créditos insuficiente, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>102</td><td>Limite de transações simultâneas atingido, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>103</td><td>Transação não disponível, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>104</td><td>Credenciais inválidas ou acesso negado, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>105</td><td>Transação cancelada, entre em contato</td><td>Falso</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>255*</td><td>Erro interno não esperado, entre em contato</td><td>Verdadeiro (no dia)</td><td>Falso</td><td>Verdadeiro</td></tr><tr><td>* Consulta em manutenção, tente refazer mais tarde ou entre em contato com a Exato para notificação do problema</td></tr></tbody></table>
  - `TransactionResultTypeCode` integer: Código do tipo de resultado da transação.
  - `UniqueIdentifier` string: Identificador único da transação. Recomendado armazenar para controle e depuração.
  - `Result` ExatoDocumentAnalysisResult: ExatoDocumentAnalysisResult
    - `Findings` ChecklistItemDto[]: Itens do checklist, na ordem A (identificação), B (vínculo), C (cruzamentos), D (assinatura)
      - `Code` string: Código estável do item, ex.: A4, B2.term, C2
      - `Group` string: IdentityDocument, PropertyBondDocument, CrossChecks ou Signature
      - `Indicator` string: Green, Amber, Red ou Neutral
      - `Tag` string: Ok, Atenção, Importante, Inconclusivo; nulo em bloco de dados
      - `Message` string: O que foi verificado e o que se achou, com os valores comparados
      - `Field` string: Campo do resultado a que o item se refere
      - `Page` integer: Página do documento de origem
      - `DocumentIndex` integer: Índice do documento no inventário do processo (base 0); só na consulta por processo
      - `DocumentKind` string: Tipo do documento no inventário a que o item se refere; só na consulta por processo
    - `IdentityDocument` IdentityDocumentDto: IdentityDocumentDto
      - `DocumentKind` string
      - `DocumentKindLabel` string
      - `FileNature` string
      - `PageCount` integer
      - `Quality` string
      - `FullName` string
      - `Cpf` string
      - `BirthDate` string, date-time
      - `IssueDate` string, date-time
      - `IssuingAgency` string
      - `IssuingState` string
      - `DocumentNumber` string
      - `MotherName` string
      - `FatherName` string
      - `RgValidUntil` string, date-time
      - `FraudPercent` integer
      - `AiGeneratedPercent` integer
      - `QrCodeSignatureValid` boolean
      - `ReceitaAvailable` boolean
      - `ReceitaFound` boolean
      - `ReceitaName` string
      - `ReceitaBirthDate` string, date-time
      - `ReceitaRegistrationStatus` string
      - `ReceitaDeceased` boolean
      - `AnalysisFailure` string
    - `PropertyBondDocument` PropertyBondDocumentDto: PropertyBondDocumentDto
      - `DocumentKind` string
      - `DocumentKindLabel` string
      - `FileNature` string
      - `PageCount` integer
      - `TruncatedPages` integer
      - `IllegiblePages` integer[]
      - `Quality` string
      - `PropertyAddress` string
      - `Landlords` ContractPartyDto[]
        - `Name` string
        - `Document` string
        - `Page` integer
      - `Tenants` ContractPartyDto[]
        - `Name` string
        - `Document` string
        - `Page` integer
      - `SignedOn` string, date-time
      - `TermStart` string, date-time
      - `TermEnd` string, date-time
      - `IndeterminateTerm` boolean
      - `PermissionsClausePresent` boolean
      - `PartiesDocumentsListed` boolean
      - `SignatureFieldsPresent` boolean
      - `Purpose` string
      - `DigitalSignatureStamps` DigitalSignatureStampDto[]
        - `SignerName` string
        - `SignerDocument` string
        - `SignedAt` string, date-time
        - `Tool` string
        - `Page` integer
      - `EmbeddedSignatureCount` integer
      - `AddressMatch` AddressMatchDto: AddressMatchDto
        - `Verdict` string
        - `ZipCodeMatches` boolean
        - `NumberMatches` boolean
        - `Reasons` string[]
      - `MissingRequiredFields` string[]
      - `AnalysisFailure` string
      - `NotarySeals` NotarySealDto[]
        - `NotaryOffice` string
        - `OfficialName` string
        - `ActType` string: SignatureAuthenticityRecognition, SignatureLikenessRecognition, CopyAuthentication, Other ou Unknown
        - `SignerNames` string[]
        - `ActDate` string, date-time
        - `SealCode` string
        - `Page` integer

## Changes

> 15 revisions in range; 1 not diffed.

- **2026-10-02** `db768a0606ce`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/directdigital/apis/backend-apis/changes/br/exato/analise-documental/post.md)

---

[API](https://skmtc.dev/directdigital/apis/backend-apis.md) - [All operations](https://skmtc.dev/directdigital/apis/backend-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/directdigital/apis/backend-apis/revisions/ed0f26ffe529?raw)
