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

# CPF — Carregar Excel

> Envia um Excel .xlsx de CPF para a instância Gu1 atual. Não é cobrado como consulta.

## Request

```http theme={null}
POST /api/integration-services/ar_gueno_cpf_service/corpus/upload
```

`multipart/form-data` com um único campo:

| Campo | Regra |
| - | - |
| `file` | `.xlsx`, máximo 32 MB. O nome do arquivo é o do objeto guardado e não pode incluir um caminho. |

A Gu1 escolhe a instância que guarda o arquivo. Não envie um campo tenant. O mesmo nome com outro conteúdo é rejeitado até usar outro nome. Um livro cujo conteúdo já estava carregado é mantido e informado como já presente. Não é preciso uma chamada posterior para processá-lo.

**Cobrança:** não é cobrado como consulta. Exige o serviço CPF ativo na organização, `services:execute` e `services:upload`. As consultas continuam em `services:execute`.

## Sucesso

`200` com `data.status` `loaded` significa que o livro foi guardado. `recordCount` é a quantidade de operações inseridas. Se `duplicateContent` é `true`, o arquivo foi guardado e as operações já existiam (`recordCount` é `0`).

`200` com `data.status` `already_loaded` significa que esta instância já tinha esse mesmo arquivo. Nada foi reescrito.

```json theme={null}
{
  "success": true,
  "data": {
    "integrationCode": "ar_gueno_cpf_service",
    "status": "loaded",
    "tenant": "bna",
    "r2Key": "bna/cpf/incoming/operaciones.xlsx",
    "fileName": "operaciones.xlsx",
    "fileHash": "<sha256>",
    "recordCount": 1200,
    "duplicateContent": false
  }
}
```

## Na fila

`202` com `data.status` `accepted_pending` significa que o arquivo foi guardado e o processamento espera. `reason` é `holders_busy`, `holders_day_pending` ou `lock_held`.

## Erros

| HTTP | `error.code` | Quando |
| - | - | - |
| 400 | `missing_file` | Falta o campo `file` |
| 400 | `invalid_name` | O nome não é `.xlsx` ou inclui um caminho |
| 400 | `file_too_large` | Pesa mais de 32 MB |
| 400 | `invalid_tenant` | Esta instância não pode guardar o arquivo |
| 409 | `conflict` | Esse nome já existe com outro conteúdo |
| 422 | `invalid_format` | O livro não está no formato CPF. `error.message` diz qual coluna falta |
| 503 | `TENANT_SLUG_REQUIRED` | Esta instância não está configurada para guardar o arquivo |
| 503 | `SERVICE_UNAVAILABLE` | O serviço não está disponível |


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