> ## Documentation Index
> Fetch the complete documentation index at: https://docs-platform.services-valid.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Enviar Documentos para OCR

> Envie documentos para extração de dados

Diferente da análise de documentos, o OCR aceita documentos não identificados: você não precisa informar qual é a frente, o verso ou o tipo de cada arquivo.

## Request Body

<ParamField body="cpf" type="string" required>
  CPF do titular dos documentos. Aceita 11 dígitos, com ou sem máscara, e os dígitos verificadores precisam ser válidos.

  **Exemplo**: `12345678909`
</ParamField>

<ParamField body="documents" type="string[]" required>
  Lista de documentos em data URI base64. Envie de 1 a 20 documentos por requisição.

  Limite de 10 MB por arquivo. Formatos: JPG, JPEG, PNG e PDF.

  **Exemplo**: `["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ..."]`
</ParamField>

<ParamField body="workflowPresetAlias" type="string">
  Alias do preset de workflow de OCR. Quando omitido, o preset configurado no projeto é aplicado.

  Consulte os valores disponíveis em [Listar Presets de Workflow](/plataforma/documentoscopia/api/get-workflow-presets), filtrando por `process=ocr`.

  **Exemplo**: `ocr_auto_2min`
</ParamField>

<Note>
  O tamanho máximo do corpo da requisição não deve ultrapassar **50 MB**.
</Note>

## Response

<ResponseField name="requestId" type="string">
  Identificador da requisição.

  **Exemplo**: `7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c`
</ResponseField>

<ResponseField name="documentId" type="string">
  Identificador do documento criado. Use-o para consultar status e dados extraídos.

  **Exemplo**: `123e4567-e89b-12d3-a456-426614174000`
</ResponseField>

<ResponseField name="batchExternalId" type="string">
  Identificador externo do lote enviado para extração.

  **Exemplo**: `7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c`
</ResponseField>

<ResponseField name="backofficeBatchId" type="string">
  Identificador do lote gerado no processamento.

  **Exemplo**: `229462`
</ResponseField>

<ResponseField name="flexImageResponse" type="object">
  Retorno do serviço de processamento no envio do lote.
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":"catppuccin-latte"}
  {
    "requestId": "7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c",
    "documentId": "123e4567-e89b-12d3-a456-426614174000",
    "batchExternalId": "7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c",
    "backofficeBatchId": "229462",
    "flexImageResponse": {
      "id": "229462",
      "status": "created"
    }
  }
  ```

  ```json 400 theme={"theme":"catppuccin-latte"}
  {
    "error": "INVALID_WORKFLOW_PRESET",
    "message": "workflowPresetAlias inválido ou indisponível para OCR",
    "requestId": "7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c",
    "timestamp": "2026-06-01T12:00:00.000Z"
  }
  ```

  ```json 502 theme={"theme":"catppuccin-latte"}
  {
    "error": "FLEXIMAGE_IMPORT_FAILED",
    "message": "Unknown error",
    "requestId": "7d7a6f2b-8d9f-4f55-9a2d-ec8e7b4f1d0c",
    "timestamp": "2026-06-01T12:00:00.000Z"
  }
  ```
</ResponseExample>
