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

# Lista de erros do Reporter

> O Reporter retorna respostas de erro consistentes e estruturadas. Consulte os códigos de erro, os status HTTP e as etapas de correção para resolver falhas de API rapidamente.

**Formato do erro**

O Reporter retorna erros como problem details RFC 9457 com o tipo de mídia `application/problem+json`:

<CodeGroup>
  ```json JSON theme={null}
  {
    "type": "https://errors.lerian.studio/v1/RPT-0012",
    "title": "Bad Request",
    "status": 400,
    "detail": "The specified templateID is not a valid UUID. Please check the value passed.",
    "code": "RPT-0012"
  }
  ```
</CodeGroup>

**Definições de campos**

* **`type`** – Uma URI que identifica o erro no catálogo de erros da Lerian. Construída como `https://errors.lerian.studio/v1/<code>`.
* **`title`** – O texto do status HTTP (por exemplo, `Bad Request`).
* **`status`** – O código de status HTTP.
* **`detail`** – Orientação detalhada para ajudar você a resolver o erro. Para respostas `5xx`, o Reporter sempre higieniza o detail para `internal error`, para que nenhuma causa interna vaze. Use `code` para tratar o erro de forma programática.
* **`code`** – Um identificador estável e único para o erro (`RPT-NNNN`). Útil para tratamento programático e solicitações de suporte.
* **`errors`** – Lista opcional de detalhes de validação por campo, cada um com uma `message` e uma `location`.

Algumas mensagens contêm placeholders como `%v` ou `%s` — o Reporter os substitui pelos valores específicos da sua requisição.

## Erros do Reporter

***

Os erros a seguir podem ocorrer ao interagir com os endpoints do Reporter. Consulte as tabelas abaixo para os possíveis códigos de erro, o que significam e como resolvê-los.

## 400: Erros de validação

***

| `code`   | Descrição                                               | `detail`                                                                                                                                                                      |
| -------- | ------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0001 | Campos obrigatórios ausentes                            | Um ou mais campos obrigatórios estão ausentes. Confirme que todos os campos obrigatórios foram incluídos.                                                                     |
| RPT-0002 | Formato de arquivo inválido                             | O arquivo enviado deve ser um arquivo .tpl. Outros formatos não são suportados.                                                                                               |
| RPT-0003 | Formato de saída inválido                               | O campo outputFormat deve ser um dos seguintes: html, csv ou xml.                                                                                                             |
| RPT-0004 | Header inválido                                         | Um ou mais valores de header estão ausentes ou formatados incorretamente. Verifique os headers obrigatórios %v.                                                               |
| RPT-0005 | Arquivo enviado inválido                                | O arquivo enviado é inválido. Verifique o arquivo enviado com o erro: %v                                                                                                      |
| RPT-0006 | Erro de arquivo vazio                                   | O arquivo enviado está vazio. Verifique o arquivo enviado.                                                                                                                    |
| RPT-0007 | Erro de conteúdo de arquivo inválido                    | O conteúdo do arquivo é inválido porque não é %s. Verifique o arquivo enviado.                                                                                                |
| RPT-0008 | Campos de mapeamento inválidos                          | O campo no arquivo de template é inválido. Campo inválido %s em %s.                                                                                                           |
| RPT-0009 | Parâmetro de caminho inválido                           | Os parâmetros de caminho estão em um formato incorreto. Verifique o seguinte parâmetro %v e garanta que atendam ao formato exigido antes de tentar novamente.                 |
| RPT-0010 | Atualização de formato de saída sem arquivo de template | Não é possível atualizar o formato de saída sem enviar um arquivo de template. Verifique as informações enviadas e tente novamente.                                           |
| RPT-0012 | templateID inválido                                     | O templateID especificado não é um UUID válido. Verifique o valor informado.                                                                                                  |
| RPT-0013 | ledgerID inválido                                       | O ledgerID especificado dentro da lista de ledger ID não é um UUID válido. Verifique o valor informado %v.                                                                    |
| RPT-0014 | Campos obrigatórios ausentes                            | Os campos mapeados no arquivo de template estão ausentes no esquema da tabela ou podem estar vazios. Verifique os campos informados: '%v'.                                    |
| RPT-0015 | Campos inesperados na requisição                        | O corpo da requisição contém mais campos do que o esperado. Envie apenas os campos permitidos conforme a documentação. Os campos inesperados estão listados no objeto fields. |
| RPT-0016 | Campos ausentes na requisição                           | Sua requisição está sem um ou mais campos obrigatórios. Consulte a documentação para garantir que todos os campos necessários estejam incluídos na sua requisição.            |
| RPT-0017 | Requisição inválida                                     | O servidor não conseguiu entender a requisição devido a sintaxe malformada. Verifique os campos listados e tente novamente.                                                   |
| RPT-0019 | Parâmetro de consulta inválido                          | Um ou mais parâmetros de consulta estão em um formato incorreto. Verifique os seguintes parâmetros '%v' e garanta que atendam ao formato exigido antes de tentar novamente.   |
| RPT-0023 | Erro de intervalo de datas inválido                     | Os campos 'initialDate' e 'finalDate' são obrigatórios e devem estar no formato 'yyyy-mm-dd'. Informe datas válidas e tente novamente.                                        |
| RPT-0024 | Limite de paginação excedido                            | O limite de paginação excede o máximo permitido de %v itens por página. Verifique o limite e tente novamente.                                                                 |
| RPT-0025 | Ordem de classificação inválida                         | O campo 'sort\_order' deve ser 'asc' ou 'desc'. Informe uma ordem de classificação válida e tente novamente.                                                                  |
| RPT-0026 | Tamanho da chave de metadados excedido                  | A chave de metadados %v excede o tamanho máximo permitido de %v caracteres. Use uma chave mais curta.                                                                         |
| RPT-0027 | Tamanho do valor de metadados excedido                  | O valor de metadados %v excede o tamanho máximo permitido de %v caracteres. Use um valor mais curto.                                                                          |
| RPT-0028 | Aninhamento de metadados inválido                       | O objeto de metadados não pode conter valores aninhados. Garanta que o valor %v não esteja aninhado e tente novamente.                                                        |
| RPT-0030 | Tabela de esquema ausente                               | A tabela de esquema %v está ausente para a fonte de dados '%v'. Verifique as informações informadas.                                                                          |
| RPT-0031 | Tabela de fonte de dados ausente                        | A fonte de dados %v está ausente. Verifique o valor informado.                                                                                                                |
| RPT-0032 | Tag de script detectada                                 | O arquivo de template contém uma tag de script, o que não é permitido. Verifique o arquivo de template e tente novamente.                                                     |
| RPT-0035 | Referência de esquema ambígua                           | A tabela '%v' existe em vários esquemas: %v. Use a sintaxe explícita de esquema: database:schema.table                                                                        |
| RPT-0036 | Esquema não encontrado                                  | O esquema '%v' não foi encontrado no banco de dados '%v'. Verifique o nome do esquema.                                                                                        |
| RPT-0037 | Tabela não encontrada no esquema                        | A tabela '%v' não foi encontrada no esquema '%v' do banco de dados '%v'. Verifique o nome da tabela e do esquema.                                                             |
| RPT-0038 | Banco de dados não registrado                           | O banco de dados '%v' não está registrado. Verifique a configuração da fonte de dados.                                                                                        |
| RPT-0041 | Bucket obrigatório                                      | O nome do bucket de armazenamento é obrigatório. Verifique a configuração de armazenamento.                                                                                   |
| RPT-0042 | Chave do objeto obrigatória                             | A chave do objeto é obrigatória para a operação de armazenamento.                                                                                                             |
| RPT-0044 | TTL não suportado                                       | O parâmetro TTL não é suportado no modo S3. Use políticas de ciclo de vida do bucket.                                                                                         |
| RPT-0046 | Tipo de prazo inválido                                  | O campo 'type' deve ser 'regulatory' ou 'custom'. Informe um tipo de prazo válido e tente novamente.                                                                          |
| RPT-0047 | Frequência de prazo inválida                            | O campo 'frequency' deve ser um dos seguintes: 'once', 'daily', 'weekly', 'monthly', 'semiannual', 'annual'. Informe uma frequência válida e tente novamente.                 |
| RPT-0048 | Cor de prazo inválida                                   | O campo 'color' deve ser um código de cor hexadecimal válido (por exemplo, '#FF5733'). Informe uma cor válida e tente novamente.                                              |
| RPT-0050 | Meses do ano não aplicável                              | O campo 'monthsOfYear' não é aplicável para a frequência '%v'. Ele apenas pode ser usado com as frequências 'semiannual' ou 'annual'.                                         |
| RPT-0052 | Meses do ano obrigatório                                | O campo 'monthsOfYear' é obrigatório para a frequência '%v'. Especifique em quais meses do ano o prazo deve recorrer.                                                         |
| RPT-0054 | Meses do ano fora do intervalo                          | Cada valor em 'monthsOfYear' deve estar entre 1 e 12. Valor inválido recebido: %v.                                                                                            |
| RPT-0055 | Data de vencimento no passado                           | O campo 'dueDate' deve ser hoje ou uma data futura. Informe uma data que não esteja no passado.                                                                               |
| RPT-0056 | Divergência na contagem de meses do ano                 | O número de meses em 'monthsOfYear' não corresponde à frequência '%v'. 'semiannual' exige exatamente 2 meses e 'annual' exige exatamente 1 mês.                               |
| RPT-0059 | Falha na validação de esquema                           | A validação de esquema falhou. Verifique os campos em relação ao esquema da fonte de dados.                                                                                   |
| RPT-0062 | Codificação UTF-8 inválida                              | O campo '%v' contém sequências de bytes UTF-8 inválidas. Informe um texto UTF-8 válido e tente novamente.                                                                     |
| RPT-0073 | Nome de configuração reservado da fonte de dados        | O `configName` é reservado para uma fonte de dados gerenciada pelo operador e não pode ser atribuído ou renomeado pela API.                                                   |
| RPT-0075 | Escopo de organização do CRM não resolvido              | O escopo de organização da fonte de dados de CRM não pôde ser resolvido, então o template não pode ser salvo com segurança.                                                   |
| RPT-0076 | Tabela de filtro não extraída                           | A tabela de filtro não corresponde a nenhuma tabela mapeada pelo template do relatório. Use uma das tabelas mapeadas.                                                         |
| RPT-0077 | Valor de filtro não pode ser lido como data             | O valor do filtro não pode ser lido como uma data para o campo. Use um valor de data ou hora ISO apropriado para esse campo.                                                  |
| RPT-0078 | Arquivo de template muito grande                        | O arquivo de template excede o limite de bytes suportado. Divida o relatório em templates menores e tente novamente.                                                          |
| RPT-0079 | Conflito de operadores de filtro                        | O filtro combina operadores que não podem ser usados juntos. Mantenha um operador compatível para o campo.                                                                    |
| RPT-0080 | Campo de fonte de dados inválido                        | Um campo da fonte de dados é inválido. Corrija o campo identificado e envie a requisição novamente.                                                                           |
| RPT-0090 | Template mapeia colunas demais                          | O template mapeia mais colunas do que um relatório pode processar. Reduza as colunas mapeadas ou divida o template.                                                           |
| RPT-0095 | Limite de filtro sem valor                              | Um operador de filtro não tem um valor comparável. Informe um valor ou remova o operador.                                                                                     |
| RPT-0096 | Filtro custa mais do que uma consulta pode suportar     | Os filtros excedem um limite de recursos da consulta. Reduza os valores do filtro ou restrinja a requisição.                                                                  |
| RPT-0097 | Operador de filtro com contagem de valores incorreta    | O operador de filtro recebeu um número incorreto de valores. Por exemplo, `between` exige exatamente dois valores.                                                            |
| RPT-0105 | Valor de filtro incompatível com o campo                | O valor do filtro não pode ser lido como o tipo mantido pelo campo. Use um valor compatível ou um campo compatível com data.                                                  |
| RPT-0106 | Cursor inválido                                         | O cursor não foi emitido por esta API ou não identifica mais uma posição utilizável. Reinicie a listagem e siga o `nextCursor`.                                               |
| RPT-0107 | Falha na pré-visualização do template                   | A pré-visualização do template não pôde ser renderizada. Corrija o template ou os dados de amostra e tente novamente. O detail da resposta identifica a recusa específica.    |

<h3 id="rpt-0075-crm-organization-scope-unresolved">
  RPT-0075: Escopo de organização do CRM não resolvido
</h3>

`RPT-0075` é uma proteção fail-closed para templates que mapeiam `plugin_crm`. O Reporter não salva nem executa um mapeamento de CRM sem escopo, porque isso poderia expor registros entre organizações do Midaz. Pode ocorrer ao importar, criar ou atualizar um template de CRM, e quando um worker resolve um template de CRM já salvo.

Não trate esse código como prova de que falta uma única variável de ambiente. Ele também ocorre quando o Reporter não consegue localizar `plugin_crm` no registro de fontes de dados. Primeiro confirme que o template mapeia `plugin_crm`, depois verifique a configuração do Manager e do worker, a disponibilidade do registro e as configurações não sensíveis de conexão do CRM.

Para um deploy single-tenant, configure o bloco completo `DATASOURCE_CRM_*`, incluindo `DATASOURCE_CRM_MIDAZ_ORGANIZATION_ID`, e mantenha a senha do CRM e `CRYPTO_HASH_SECRET_KEY_CRM` / `CRYPTO_ENCRYPT_SECRET_KEY_CRM` em Secrets. Essas chaves de criptografia devem ser as mesmas usadas pelo CRM, e `DATASOURCE_CRED_ENC_KEY` deve permanecer estável. Na inicialização do Manager, o seed reservado da fonte de dados pode preencher um `metadata.midazOrganizationId` ausente ou vazio; ele nunca sobrescreve um valor persistido não vazio.

Não crie nem faça PATCH em `plugin_crm` pela API comum de fontes de dados. Se um ID de organização persistido e não vazio estiver incorreto, ou se o deploy for multi-tenant (onde o seed de ambiente é ignorado), interrompa a recuperação genérica e use o caminho de engenharia específico do tenant. Após uma alteração aprovada, importe ou salve o template, gere um relatório, confirme que os campos de CRM são descriptografados e verifique o isolamento de organização. Veja [Reporter via Helm](/pt/platform/deploy/reporter/reporter-helm#optional-crm-datasource) para os valores do chart.

<Note>
  A mensagem do RPT-0003 lista `html`, `csv` e `xml`, mas a API aceita cinco formatos de saída: `HTML`, `PDF`, `CSV`, `XML` e `TXT`. Veja [Enviar template](/pt/reference/products/reporter/upload-template).
</Note>

## 404: Não encontrado

***

| `code`   | Descrição                                  | `detail`                                                                                                                |
| -------- | ------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- |
| RPT-0011 | Entidade não encontrada                    | Nenhuma entidade %v foi encontrada para o ID informado. Use o ID correto da entidade que você está tentando gerenciar.  |
| RPT-0020 | Erro de formato de data inválido           | 'initialDate', 'finalDate', ou ambos, estão em formato incorreto. Use o formato 'yyyy-mm-dd' e tente novamente.         |
| RPT-0021 | Erro de data final inválida                | 'finalDate' não pode ser anterior a 'initialDate'. Verifique as datas e tente novamente.                                |
| RPT-0022 | Erro de intervalo de datas excede o limite | O intervalo entre 'initialDate' e 'finalDate' excede o limite permitido de %v meses. Ajuste as datas e tente novamente. |
| RPT-0043 | Objeto não encontrado                      | O objeto solicitado não foi encontrado no armazenamento.                                                                |
| RPT-0057 | Fonte de dados não encontrada              | A fonte de dados solicitada não foi encontrada. Verifique o ID da fonte de dados.                                       |

## 409: Conflitos

***

| `code`   | Descrição                                          | `detail`                                                                                                                          |
| -------- | -------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0039 | Requisição duplicada em andamento                  | Uma requisição duplicada está sendo processada no momento. Aguarde e tente novamente.                                             |
| RPT-0040 | Conflito de idempotência                           | Uma requisição com esta chave de idempotência já foi processada.                                                                  |
| RPT-0045 | Prazo duplicado                                    | Já existe um prazo com o mesmo nome, tipo, data de vencimento e frequência. Use valores diferentes ou atualize o prazo existente. |
| RPT-0071 | Conflito de nome de configuração da fonte de dados | Já existe uma fonte de dados com o mesmo `configName`. Use um `configName` diferente e tente novamente.                           |
| RPT-0072 | Fonte de dados em uso por template                 | A fonte de dados é referenciada por templates e não pode ser excluída ou renomeada. Atualize ou remova esses templates primeiro.  |

## 412: Falha de pré-condição

***

| `code`   | Descrição                                                | `detail`                                                                                           |
| -------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| RPT-0074 | Proteção de credencial da fonte de dados não configurada | A proteção de credencial não está configurada. Defina `DATASOURCE_CRED_ENC_KEY` e tente novamente. |

## 422: Não processável

***

| `code`   | Descrição                          | `detail`                                                                            |
| -------- | ---------------------------------- | :---------------------------------------------------------------------------------- |
| RPT-0029 | Status do relatório não é Finished | O relatório não está pronto para download. O relatório ainda está em processamento. |

## 429: Muitas requisições

***

| `code`   | Descrição                            | `detail`                                                                                                                                                        |
| -------- | ------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0108 | Pré-visualização de template ocupada | Todos os slots configurados de pré-visualização simultânea de template estão em uso. O template não foi rejeitado; tente a pré-visualização novamente em breve. |

## 500: Erros do servidor

***

| `code`   | Descrição                | `detail`       |
| -------- | ------------------------ | :------------- |
| RPT-0018 | Erro interno do servidor | internal error |

<Note>
  Toda falha inesperada durante o tratamento síncrono de endpoints surge como HTTP 500. A resposta carrega `code: RPT-0018` e um detail higienizado `internal error`. Causas internas nunca vazam para o corpo da resposta. Falhas assíncronas de worker e de geração de relatório seguem, em vez disso, os status e metadados de relatório descritos abaixo. O Reporter não as retorna para a requisição original como HTTP 500.
</Note>

## Erros de geração de relatório (assíncronos)

***

A geração de relatório é executada de forma assíncrona no worker. A requisição HTTP original nunca recebe uma seção de extração de dados com falha. O relatório termina com status `Error` quando todas as seções falham, ou `Partial` quando algumas falham.

Em ambos os casos, `metadata.error_code` é `RPT-0060`. As chaves de `metadata.sections` são nomes de bancos de dados. Cada entrada com falha contém apenas seu `error_code` classificado (`RPT-0018` para uma falha não tipada).

Outras falhas de worker terminam com status `Error` e um `metadata.error_code` seguro, não-RPT, de `report_generation_failed`, `report_generation_timeout` ou `report_generation_canceled`. Essas falhas não têm mapa `sections` e não retêm o código RPT subjacente.

| `code` | Descrição | Significado |
| ------ | --------- | :---------- |

\| RPT-0034 | Erro de comunicação com o SeaweedFS | Erro ao se comunicar com o armazenamento de arquivos para baixar ou enviar um arquivo. Tente novamente.                                            |
\| RPT-0058 | Fonte de dados indisponível            | A fonte de dados está indisponível no momento. Os resultados podem estar incompletos.                                                                 |
\| RPT-0060 | Falha no job de extração              | O job de extração falhou. Tente novamente mais tarde ou entre em contato com o suporte.                                                                |
\| RPT-0061 | Falha na renderização do template          | O template não pôde ser renderizado com os dados fornecidos. Este é um erro permanente e não terá sucesso em uma nova tentativa.                  |
\| RPT-0063 | Chave de hash do CRM não configurada        | Chave de hash do CRM não configurada.                                                                                                         |
\| RPT-0064 | Chave de criptografia do CRM não configurada     | Chave de criptografia do CRM não configurada.                                                                                                      |
\| RPT-0065 | Falha na descriptografia do registro           | Falha na descriptografia do registro.                                                                                                            |
\| RPT-0066 | Falha na inicialização da cifra                 | Falha na inicialização da cifra.                                                                                                        |
\| RPT-0067 | Dados extraídos inválidos             | Os dados extraídos são inválidos.                                                                                                       |
\| RPT-0068 | Resultado de coleta inesperado       | A coleta de dados retornou um resultado inesperado.                                                                                   |
\| RPT-0069 | Fonte de dados não encontrada              | A fonte de dados referenciada pelo relatório não foi encontrada.                                                                              |
\| RPT-0070 | Fonte de dados indisponível                | A fonte de dados estava indisponível durante a extração.                                                                                   |
