> ## 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 errores de Reporter

> Reporter devuelve respuestas de error coherentes y estructuradas. Busca los códigos de error, los estados HTTP y los pasos de corrección para resolver fallas de la API con rapidez.

**Formato de error**

Reporter devuelve los errores como problem details de RFC 9457 con el tipo de medio `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>

**Definiciones de los campos**

* **`type`** – Un URI que identifica el error en el catálogo de errores de Lerian. Se construye como `https://errors.lerian.studio/v1/<code>`.
* **`title`** – El texto del estado HTTP (por ejemplo, `Bad Request`).
* **`status`** – El código de estado HTTP.
* **`detail`** – Orientación detallada para ayudarte a resolver el error. En las respuestas `5xx`, Reporter siempre sanea el detalle a `internal error`, de modo que ninguna causa interna se filtra. Usa `code` para ramificar de forma programática.
* **`code`** – Un identificador estable y único para el error (`RPT-NNNN`). Útil para el manejo programático y las solicitudes de soporte.
* **`errors`** – Lista opcional de detalles de validación por campo, cada uno con un `message` y una `location`.

Algunos mensajes contienen marcadores de posición como `%v` o `%s`; Reporter los reemplaza por los valores específicos de tu solicitud.

## Errores de Reporter

***

Los siguientes errores pueden ocurrir al interactuar con los endpoints de Reporter. Consulta las tablas a continuación para conocer los posibles códigos de error, su significado y cómo resolverlos.

## 400: Errores de validación

***

| `code`   | Descripción                                                    | `detail`                                                                                                                                                                                           |
| -------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0001 | Faltan campos obligatorios                                     | Faltan uno o más campos obligatorios. Verifica que se incluyan todos los campos obligatorios.                                                                                                      |
| RPT-0002 | Formato de archivo no válido                                   | El archivo cargado debe ser un archivo .tpl. No se admiten otros formatos.                                                                                                                         |
| RPT-0003 | Formato de salida no válido                                    | El campo outputFormat debe ser uno de los siguientes: html, csv o xml.                                                                                                                             |
| RPT-0004 | Header no válido                                               | Uno o más valores de header faltan o tienen un formato incorrecto. Verifica los headers requeridos %v.                                                                                             |
| RPT-0005 | Archivo cargado no válido                                      | El archivo que enviaste no es válido. Verifica el archivo cargado con el error: %v                                                                                                                 |
| RPT-0006 | Error: archivo vacío                                           | El archivo que enviaste está vacío. Verifica el archivo cargado.                                                                                                                                   |
| RPT-0007 | Error: contenido del archivo no válido                         | El contenido del archivo no es válido porque no es %s. Verifica el archivo cargado.                                                                                                                |
| RPT-0008 | Campos de mapeo no válidos                                     | El campo del archivo de plantilla no es válido. Campo no válido %s en %s.                                                                                                                          |
| RPT-0009 | Parámetro de ruta no válido                                    | Los parámetros de ruta tienen un formato incorrecto. Verifica el siguiente parámetro %v y confirma que cumpla con el formato requerido antes de volver a intentarlo.                               |
| RPT-0010 | Actualización del formato de salida sin archivo de plantilla   | No es posible actualizar el formato de salida sin enviar el archivo de plantilla. Verifica la información enviada e inténtalo de nuevo.                                                            |
| RPT-0012 | templateID no válido                                           | El templateID especificado no es un UUID válido. Verifica el valor enviado.                                                                                                                        |
| RPT-0013 | ledgerID no válido                                             | El ledgerID especificado dentro de la lista de IDs de ledger no es un UUID válido. Verifica el valor enviado %v.                                                                                   |
| RPT-0014 | Faltan campos obligatorios                                     | Los campos mapeados en el archivo de plantilla faltan en el esquema de la tabla o pueden estar vacíos. Verifica los campos enviados: '%v'.                                                         |
| RPT-0015 | Campos inesperados en la solicitud                             | El cuerpo de la solicitud contiene más campos de los esperados. Envía solo los campos permitidos según la documentación. Los campos inesperados aparecen en el objeto fields.                      |
| RPT-0016 | Faltan campos en la solicitud                                  | A tu solicitud le faltan uno o más campos obligatorios. Consulta la documentación para confirmar que se incluyan todos los campos necesarios en tu solicitud.                                      |
| RPT-0017 | Solicitud incorrecta                                           | El servidor no pudo interpretar la solicitud debido a una sintaxis incorrecta. Verifica los campos indicados e inténtalo de nuevo.                                                                 |
| RPT-0019 | Parámetro de consulta no válido                                | Uno o más parámetros de consulta tienen un formato incorrecto. Verifica los siguientes parámetros '%v' y confirma que cumplan con el formato requerido antes de volver a intentarlo.               |
| RPT-0023 | Error de rango de fechas no válido                             | Los campos 'initialDate' y 'finalDate' son obligatorios y deben tener el formato 'yyyy-mm-dd'. Proporciona fechas válidas e inténtalo de nuevo.                                                    |
| RPT-0024 | Límite de paginación superado                                  | El límite de paginación supera el máximo permitido de %v elementos por página. Verifica el límite e inténtalo de nuevo.                                                                            |
| RPT-0025 | Orden de clasificación no válido                               | El campo 'sort\_order' debe ser 'asc' o 'desc'. Proporciona un orden de clasificación válido e inténtalo de nuevo.                                                                                 |
| RPT-0026 | Longitud de la clave de metadatos superada                     | La clave de metadatos %v supera la longitud máxima permitida de %v caracteres. Usa una clave más corta.                                                                                            |
| RPT-0027 | Longitud del valor de metadatos superada                       | El valor de metadatos %v supera la longitud máxima permitida de %v caracteres. Usa un valor más corto.                                                                                             |
| RPT-0028 | Anidamiento de metadatos no válido                             | El objeto metadata no puede contener valores anidados. Verifica que el valor %v no esté anidado e inténtalo de nuevo.                                                                              |
| RPT-0030 | Falta la tabla del esquema                                     | Falta la tabla de esquema %v para la fuente de datos '%v'. Verifica la información enviada.                                                                                                        |
| RPT-0031 | Falta la tabla de la fuente de datos                           | Falta la fuente de datos %v. Verifica el valor enviado.                                                                                                                                            |
| RPT-0032 | Etiqueta de script detectada                                   | El archivo de plantilla contiene una etiqueta de script, lo cual no está permitido. Verifica el archivo de plantilla e inténtalo de nuevo.                                                         |
| RPT-0035 | Referencia de esquema ambigua                                  | La tabla '%v' existe en varios esquemas: %v. Usa la sintaxis explícita de esquema: database:schema.table                                                                                           |
| RPT-0036 | Esquema no encontrado                                          | El esquema '%v' no fue encontrado en la base de datos '%v'. Verifica el nombre del esquema.                                                                                                        |
| RPT-0037 | Tabla no encontrada en el esquema                              | La tabla '%v' no fue encontrada en el esquema '%v' de la base de datos '%v'. Verifica el nombre de la tabla y el esquema.                                                                          |
| RPT-0038 | Base de datos no registrada                                    | La base de datos '%v' no está registrada. Verifica la configuración de la fuente de datos.                                                                                                         |
| RPT-0041 | Bucket obligatorio                                             | El nombre del bucket de almacenamiento es obligatorio. Verifica la configuración de almacenamiento.                                                                                                |
| RPT-0042 | Clave de objeto obligatoria                                    | La clave de objeto es obligatoria para la operación de almacenamiento.                                                                                                                             |
| RPT-0044 | TTL no admitido                                                | El parámetro TTL no se admite en el modo S3. Usa políticas de ciclo de vida del bucket en su lugar.                                                                                                |
| RPT-0046 | Tipo de plazo no válido                                        | El campo 'type' debe ser 'regulatory' o 'custom'. Proporciona un tipo de plazo válido e inténtalo de nuevo.                                                                                        |
| RPT-0047 | Frecuencia de plazo no válida                                  | El campo 'frequency' debe ser uno de los siguientes: 'once', 'daily', 'weekly', 'monthly', 'semiannual', 'annual'. Proporciona una frecuencia válida e inténtalo de nuevo.                         |
| RPT-0048 | Color de plazo no válido                                       | El campo 'color' debe ser un código de color hexadecimal válido (por ejemplo, '#FF5733'). Proporciona un color válido e inténtalo de nuevo.                                                        |
| RPT-0050 | Meses del año no aplicable                                     | El campo 'monthsOfYear' no aplica para la frecuencia '%v'. Solo puede usarse con las frecuencias 'semiannual' o 'annual'.                                                                          |
| RPT-0052 | Meses del año obligatorios                                     | El campo 'monthsOfYear' es obligatorio para la frecuencia '%v'. Especifica en qué meses del año debe repetirse el plazo.                                                                           |
| RPT-0054 | Meses del año fuera de rango                                   | Cada valor en 'monthsOfYear' debe estar entre 1 y 12. Se recibió un valor no válido: %v.                                                                                                           |
| RPT-0055 | Vencimiento en el pasado                                       | El campo 'dueDate' debe ser hoy o una fecha futura. Proporciona una fecha que no esté en el pasado.                                                                                                |
| RPT-0056 | Cantidad de meses del año no coincide                          | La cantidad de meses en 'monthsOfYear' no coincide con la frecuencia '%v'. 'semiannual' requiere exactamente 2 meses y 'annual' requiere exactamente 1 mes.                                        |
| RPT-0059 | Falló la validación del esquema                                | La validación del esquema falló. Verifica los campos contra el esquema de la fuente de datos.                                                                                                      |
| RPT-0062 | Codificación UTF-8 no válida                                   | El campo '%v' contiene secuencias de bytes UTF-8 no válidas. Proporciona texto UTF-8 válido e inténtalo de nuevo.                                                                                  |
| RPT-0073 | Nombre de configuración reservado para la fuente de datos      | El `configName` está reservado para una fuente de datos gestionada por el operador y no puede asignarse ni renombrarse a través de la API.                                                         |
| RPT-0075 | Ámbito de organización CRM no resuelto                         | No fue posible resolver el ámbito de organización de la fuente de datos CRM, por lo que la plantilla no puede guardarse de forma segura.                                                           |
| RPT-0076 | Tabla de filtro no extraída                                    | La tabla del filtro no coincide con ninguna tabla mapeada por la plantilla del informe. Usa una de las tablas mapeadas.                                                                            |
| RPT-0077 | El valor del filtro no puede leerse como fecha                 | El valor del filtro no puede leerse como fecha para el campo. Usa un valor de fecha u hora ISO adecuado para ese campo.                                                                            |
| RPT-0078 | Archivo de plantilla demasiado grande                          | El archivo de plantilla supera el límite de bytes admitido. Divide el informe en plantillas más pequeñas e inténtalo de nuevo.                                                                     |
| RPT-0079 | Conflicto entre operadores de filtro                           | El filtro combina operadores que no pueden usarse juntos. Conserva un operador compatible para el campo.                                                                                           |
| RPT-0080 | Campo de la fuente de datos no válido                          | Un campo de la fuente de datos no es válido. Corrige el campo identificado y envía la solicitud de nuevo.                                                                                          |
| RPT-0090 | La plantilla mapea demasiadas columnas                         | La plantilla mapea más columnas de las que un informe puede procesar. Reduce las columnas mapeadas o divide la plantilla.                                                                          |
| RPT-0095 | El límite del filtro no tiene valor                            | Un operador de filtro no tiene un valor comparable. Proporciona un valor o quita el operador.                                                                                                      |
| RPT-0096 | El filtro supera lo que una consulta puede soportar            | Los filtros superan un límite de recursos de la consulta. Reduce los valores del filtro o acota la solicitud.                                                                                      |
| RPT-0097 | El operador de filtro tiene una cantidad incorrecta de valores | El operador de filtro recibió una cantidad incorrecta de valores. Por ejemplo, `between` requiere exactamente dos valores.                                                                         |
| RPT-0105 | Valor de filtro incompatible con el campo                      | El valor del filtro no puede leerse como el tipo que contiene el campo. Usa un valor compatible o un campo que admita fechas.                                                                      |
| RPT-0106 | Cursor no válido                                               | El cursor no fue emitido por esta API o ya no identifica una posición utilizable. Reinicia el listado y sigue `nextCursor`.                                                                        |
| RPT-0107 | Falló la vista previa de la plantilla                          | No fue posible generar la vista previa de la plantilla. Corrige la plantilla o los datos de muestra y vuelve a intentarlo. El detalle de la respuesta identifica el motivo específico del rechazo. |

### RPT-0075: CRM Organization Scope Unresolved

`RPT-0075` es una protección de tipo fail-closed para las plantillas que mapean `plugin_crm`. Reporter no guarda ni ejecuta un mapeo de CRM sin ámbito definido porque eso podría exponer registros entre organizaciones de Midaz. Puede ocurrir al importar, crear o actualizar una plantilla de CRM, y cuando un worker resuelve una plantilla de CRM ya guardada.

No trates este código como prueba de que falta una variable de entorno. También ocurre cuando Reporter no puede encontrar `plugin_crm` en el registro de fuentes de datos. Primero confirma que la plantilla mapea `plugin_crm`, luego revisa la configuración del Manager y del worker, la disponibilidad del registro y los ajustes de conexión del CRM que no son sensibles.

Para un despliegue de un solo tenant, configura el bloque completo `DATASOURCE_CRM_*`, incluido `DATASOURCE_CRM_MIDAZ_ORGANIZATION_ID`, y mantén la contraseña del CRM y `CRYPTO_HASH_SECRET_KEY_CRM` / `CRYPTO_ENCRYPT_SECRET_KEY_CRM` en Secrets. Esas claves criptográficas deben ser las mismas que usa el CRM, y `DATASOURCE_CRED_ENC_KEY` debe mantenerse estable. Al iniciar el Manager, la semilla de fuente de datos reservada puede completar un `metadata.midazOrganizationId` ausente o vacío; nunca sobrescribe un valor persistido que no esté vacío.

No crees ni apliques PATCH a `plugin_crm` a través de la API común de fuentes de datos. Si un ID de organización persistido y no vacío es incorrecto, o si el despliegue es multi-tenant (donde se omite la semilla de entorno), detén la recuperación genérica y usa la ruta de ingeniería específica del tenant. Después de un cambio aprobado, importa o guarda la plantilla, genera un informe, confirma que los campos del CRM se descifran y verifica el aislamiento entre organizaciones. Consulta [Reporter mediante Helm](/es/platform/deploy/reporter/reporter-helm#optional-crm-datasource) para conocer los valores del chart.

<Note>
  El mensaje de RPT-0003 menciona `html`, `csv` y `xml`, pero la API acepta cinco formatos de salida: `HTML`, `PDF`, `CSV`, `XML` y `TXT`. Consulta [Cargar plantilla](/es/reference/products/reporter/upload-template).
</Note>

## 404: No encontrado

***

| `code`   | Descripción                                | `detail`                                                                                                                             |
| -------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| RPT-0011 | Entidad no encontrada                      | No se encontró ninguna entidad %v para el ID proporcionado. Verifica que uses el ID correcto para la entidad que intentas gestionar. |
| RPT-0020 | Error de formato de fecha no válido        | 'initialDate', 'finalDate', o ambos, tienen un formato incorrecto. Usa el formato 'yyyy-mm-dd' e inténtalo de nuevo.                 |
| RPT-0021 | Error de fecha final no válida             | 'finalDate' no puede ser anterior a 'initialDate'. Verifica las fechas e inténtalo de nuevo.                                         |
| RPT-0022 | Error: el rango de fechas supera el límite | El rango entre 'initialDate' y 'finalDate' supera el límite permitido de %v meses. Ajusta las fechas e inténtalo de nuevo.           |
| RPT-0043 | Objeto no encontrado                       | El objeto solicitado no fue encontrado en el almacenamiento.                                                                         |
| RPT-0057 | Fuente de datos no encontrada              | La fuente de datos solicitada no fue encontrada. Verifica el ID de la fuente de datos.                                               |

## 409: Conflictos

***

| `code`   | Descripción                                                   | `detail`                                                                                                                               |
| -------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0039 | Solicitud duplicada en curso                                  | Actualmente se está procesando una solicitud duplicada. Espera e inténtalo de nuevo.                                                   |
| RPT-0040 | Conflicto de idempotencia                                     | Ya se procesó una solicitud con esta clave de idempotencia.                                                                            |
| RPT-0045 | Plazo duplicado                                               | Ya existe un plazo con el mismo nombre, tipo, vencimiento y frecuencia. Usa valores diferentes o actualiza el plazo existente.         |
| RPT-0071 | Conflicto en el nombre de configuración de la fuente de datos | Ya existe una fuente de datos con el mismo `configName`. Usa un `configName` diferente e inténtalo de nuevo.                           |
| RPT-0072 | Fuente de datos en uso por una plantilla                      | La fuente de datos está referenciada por plantillas y no puede eliminarse ni renombrarse. Actualiza o elimina primero esas plantillas. |

## 412: Falló la condición previa

***

| `code`   | Descripción                                                     | `detail`                                                                                                  |
| -------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| RPT-0074 | Protección de credenciales de la fuente de datos no configurada | La protección de credenciales no está configurada. Define `DATASOURCE_CRED_ENC_KEY` e inténtalo de nuevo. |

## 422: No procesable

***

| `code`   | Descripción                          | `detail`                                                                        |
| -------- | ------------------------------------ | ------------------------------------------------------------------------------- |
| RPT-0029 | El estado del informe no es Finished | El informe no está listo para descargar. El informe todavía se está procesando. |

## 429: Demasiadas solicitudes

***

| `code`   | Descripción                       | `detail`                                                                                                                                                                        |
| -------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RPT-0108 | Vista previa de plantilla ocupada | Todos los espacios simultáneos configurados para la vista previa de plantillas están en uso. La plantilla no fue rechazada; vuelve a intentar la vista previa en unos momentos. |

## 500: Errores del servidor

***

| `code`   | Descripción                | `detail`       |
| -------- | -------------------------- | -------------- |
| RPT-0018 | Error interno del servidor | internal error |

<Note>
  Toda falla inesperada durante el manejo síncrono de un endpoint se presenta como HTTP 500. La respuesta lleva `code: RPT-0018` y un detalle saneado de `internal error`. Las causas internas nunca se filtran en el cuerpo de la respuesta. Las fallas asíncronas del worker y de la generación de informes, en cambio, siguen los estados del informe y los metadatos descritos a continuación. Reporter no las devuelve a la solicitud original como HTTP 500.
</Note>

## Errores de generación de informes (asíncronos)

***

La generación de informes se ejecuta de forma asíncrona en el worker. La solicitud HTTP original nunca recibe una sección de extracción de datos fallida. El informe termina con estado `Error` cuando fallan todas las secciones, o `Partial` cuando fallan algunas.

En cualquiera de los dos casos, `metadata.error_code` es `RPT-0060`. Las claves de `metadata.sections` son nombres de bases de datos. Cada entrada fallida contiene solamente su `error_code` clasificado (`RPT-0018` para una falla sin tipo).

Otras fallas del worker terminan con estado `Error` y un `metadata.error_code` seguro que no es RPT: `report_generation_failed`, `report_generation_timeout` o `report_generation_canceled`. Estas fallas no tienen un mapa `sections` y no conservan el código RPT subyacente.

| `code` | Descripción | Significado |
| ------ | ----------- | ----------- |

\| RPT-0034 | Error de comunicación con SeaweedFS | Error de comunicación con el almacenamiento de archivos al descargar o cargar un archivo. Inténtalo de nuevo. |
\| RPT-0058 | Fuente de datos no disponible | La fuente de datos no está disponible en este momento. Los resultados pueden estar incompletos. |
\| RPT-0060 | Falló el trabajo de extracción | El trabajo de extracción falló. Inténtalo de nuevo más tarde o contacta a soporte. |
\| RPT-0061 | Falló la generación de la plantilla | No fue posible generar la plantilla con los datos proporcionados. Este es un error permanente y no se resolverá al reintentar. |
\| RPT-0063 | Clave hash del CRM no configurada | La clave hash del CRM no está configurada. |
\| RPT-0064 | Clave de cifrado del CRM no configurada | La clave de cifrado del CRM no está configurada. |
\| RPT-0065 | Falló el descifrado del registro | El descifrado del registro falló. |
\| RPT-0066 | Falló la inicialización del cifrador | La inicialización del cifrador falló. |
\| RPT-0067 | Datos extraídos no válidos | Los datos extraídos no son válidos. |
\| RPT-0068 | Resultado de recolección inesperado | La recolección de datos devolvió un resultado inesperado. |
\| RPT-0069 | Fuente de datos no encontrada | No se encontró la fuente de datos referenciada por el informe. |
\| RPT-0070 | Fuente de datos no disponible | La fuente de datos no estaba disponible durante la extracción. |
