---
title: "Exato - Batch Insert"
method: POST
path: "/exato/batch/insert"
tags: ["Exato - Processamento em Lote"]
---

# Exato - Batch Insert

`POST /exato/batch/insert`

## Request

- Base URL: `https://api.directdigital.com.br`
- URL: `https://api.directdigital.com.br/exato/batch/insert`
- Auth: API key in header `token`
- TypeScript: <https://skmtc.dev/directdigital/apis/directdigital/docs/exato/batch/insert/post.ts> (a function with typed inputs; its response is checked against the schema)

Exato - Batch Insert

## Query parameters

- `test_mode` boolean
- `lightweight` boolean

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

- object
  - `file_name` string: Batch input file name (required if using file upload)
  - `file_base64` string: Batch input file in base64 (required if using file upload)
  - `documents` string: List of documents (CPF/CNPJ) separated by comma or line break. Alternative to file upload. Max 500 documents.
  - `reuse_period_days` integer: Window in days for reusing previous reports of the same type/document from the client tree. Null or <= 0 disables reuse. Max 90.
  - `reuse_risk_indicators` string: Risk indicators accepted for reuse, comma-separated, like '3,4'. Requires reuse_period_days > 0.
  - `datasource_external_id` string, required: Datasource external id
  - `name` string: Batch name for display/reference. When empty, the file name or a generated name is used
  - `description` string: Batch description
  - `reference_id` string: External ID for correlation with client's system
  - `params` string: JSON with default parameters for all batch items (e.g. {"versao": 2})

## Response `200`

Success

- ExatoBatchInsertResponse: ExatoBatchInsertResponse
  - `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': New unified result type for queries and administrative operations. Replaces TransactionResultType with better semantics.
  - `BalanceInBrl` number, double: Current balance in BRL.
  - `BalanceInCredits` integer: Current balance in credits.
  - `DataSourceCategory` string: Data source category
  - `Date` string, date-time: Transaction date.
  - `ElapsedTimeInMilliseconds` integer: Execution time (in milliseconds).
  - `ExecutedDataSourceName` string: Display name of the query type that actually ran.
  - `ExecutedDataSourceTypeId` integer: Id of the query type that actually ran (the one recorded on the transaction), which may differ from the requested type when the route is generic per state or when a master delegates to a sub-query.
  - `HasOriginalFiles` boolean: Indicates that the transaction carries original files from the source (the issued certificate, for example) for download at OriginalFilesUrl. False does not mean the URL does not exist: it is always built.
  - `HasPdf` boolean: Indicates that there is a PDF proof document for the result.
  - `Message` string: Message.
  - `OriginalFilesUrl` string: URL to download the transaction's original files (when available).
  - `OutdatedResult` boolean: Indicates that the result is dated.
  - `PdfUrl` string: URL to download the transaction's PDF proof document (when available).
  - `ResultSubtype` string: Specific result subtype to provide additional context (e.g.: 'duplicate_name', 'invalid_cpf').
  - `ResultTypeCode` integer: Numeric result code (compatible with TransactionResultTypeCode but extensible).
  - `TotalCost` number, double: Internal use only.
  - `TotalCostInCredits` integer: Total transaction cost in credits.
  - `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>Final</th><th>Billable</th><th>Error</th></tr></thead><tbody><tr><td>1</td><td>Success</td><td>True</td><td>True</td><td>False</td></tr><tr><td>2</td><td>Partial success or success with remarks</td><td>True</td><td>True</td><td>False</td></tr><tr><td>3</td><td>Invalid input or document</td><td>True</td><td>False</td><td>True</td></tr><tr><td>4</td><td>Data not available</td><td>True (for the day)</td><td>False</td><td>False</td></tr><tr><td>5</td><td>Entity or document nonexistent/not found</td><td>True</td><td>True</td><td>False</td></tr><tr><td>6</td><td>Invalid input parameters</td><td>True</td><td>False</td><td>True</td></tr><tr><td>7</td><td>Unsupported parameter combination</td><td>True</td><td>False</td><td>True</td></tr><tr><td>8</td><td>Data source or remote system unavailable</td><td>False</td><td>False</td><td>True</td></tr><tr><td>9</td><td>Time limit exceeded</td><td>False</td><td>False</td><td>True</td></tr><tr><td>10</td><td>Attempts limit reached</td><td>False</td><td>False</td><td>True</td></tr><tr><td>11</td><td>Error in the data source or remote system</td><td>False</td><td>False</td><td>True</td></tr><tr><td>12</td><td>Transaction in progress</td><td>False</td><td>False</td><td>False</td></tr><tr><td>101</td><td>Insufficient credit balance, please contact us</td><td>False</td><td>False</td><td>True</td></tr><tr><td>102</td><td>Simultaneous transactions limit reached, please contact us</td><td>False</td><td>False</td><td>True</td></tr><tr><td>103</td><td>Transaction not available, please contact us</td><td>False</td><td>False</td><td>True</td></tr><tr><td>104</td><td>Invalid credentials or access denied, please contact us</td><td>False</td><td>False</td><td>True</td></tr><tr><td>105</td><td>Transaction cancelled, please contact us</td><td>False</td><td>False</td><td>True</td></tr><tr><td>255*</td><td>Unexpected internal error, please contact us</td><td>True (for the day)</td><td>False</td><td>True</td></tr><tr><td>* Query under maintenance, try again later or contact Exato to report the problem</td></tr></tbody></table>
  - `TransactionResultTypeCode` integer: Transaction result type code.
  - `UniqueIdentifier` string: Unique transaction identifier. Store it for control and debugging.
  - `Result` ExatoBatchInsertResult: ExatoBatchInsertResult
    - `BatchUid` string
    - `TotalValidDocuments` integer
    - `TotalReused` integer
    - `InvalidDocuments` string[]
    - `BatchStatusId` integer
    - `BatchStatusDescription` string
    - `Name` string
    - `Description` string
    - `ReferenceId` string
    - `ReusePeriodDays` integer
    - `ReuseRiskIndicators` integer[]

## Changes

> 16 revisions in range; 1 not diffed.

- **2026-11-05** `3b7fd216787b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/directdigital/apis/directdigital/changes/exato/batch/insert/post.md)

---

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