> ## 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 la API de Cabine

> La API de Cabine devuelve respuestas de error estructuradas. Consulta cada código de error DESK, qué significa y el estado HTTP que lleva.

**Formato de error**

La API de Cabine devuelve los errores como problem details de RFC 9457 con el tipo de medio `application/problem+json`:

```json JSON theme={null}
{
  "code": "DESK-0003",
  "correlationId": "req-7a3f9c2e",
  "detail": "handoff approver must differ from its owner and submitter",
  "status": 403,
  "title": "Forbidden",
  "type": "https://errors.lerian.studio/v1/DESK-0003"
}
```

**Definiciones de campos**

* **`type`** – Un URI que identifica el error en el catálogo de errores de Lerian, construido como `https://errors.lerian.studio/v1/<code>`.
* **`title`** – El texto del estado HTTP (por ejemplo, `Forbidden`).
* **`status`** – El código de estado HTTP.
* **`detail`** – Una explicación legible de esta ocurrencia.
* **`code`** – Un identificador estable para el error (`DESK-NNNN`). Decide la rama con este campo. Cada código tiene una sola clase de estado.
* **`correlationId`** – El identificador de la solicitud. Repite el header `X-Request-ID` de la solicitud. Si la solicitud no tiene uno válido, la API de Cabine genera uno.
* **`errors`** – Lista opcional de detalles de error individuales, cada uno con una `location`, un `message` y un `value`.

Los rechazos de la verificación de autorización y del enrutamiento (`401`, `403`, `404`, `405`, `503`, `504`) traen `instance`, `traceId` y una lista `violations` vacía en lugar de `errors`.

## Errores

| `code` | Descripción | Estado |
| - | - | - |
| DESK-0001 | Unprocessable Entity. La solicitud tal como se envió no es una que la API de Cabine procese: un campo falla la validación, o un valor de decisión no es `approved` ni `rejected`. Las solicitudes que no se pueden leer (`400`), usan un método que la ruta no acepta (`405`) o traen un cuerpo mayor que 1 MiB (`413`) también llevan este código. | 422, 400, 405, 413, otros 4xx |
| DESK-0002 | Unauthorized. La solicitud no tiene bearer token, el token está vencido, no es válido o no se puede leer, o el token no nombra ningún principal. Presenta un token válido. | 401 |
| DESK-0003 | Forbidden. El emisor de la llamada es conocido y no puede hacer esto. Access Manager rechazó el permiso, el token no es de usuario donde la operación exige uno, o se aplica la regla de los cuatro ojos. En la regla de los cuatro ojos, otra persona debe actuar. | 403 |
| DESK-0004 | Not Found. Ningún registro responde al identificador: ningún traspaso de turno, ninguna aprobación de operación, ni ninguna eliminación pendiente para el usuario. Una ruta que el servicio no tiene también responde con este código. | 404 |
| DESK-0005 | Conflict. El registro existe, y su estado no permite la operación. Una aprobación de operación o una eliminación de usuario ya está pendiente para el mismo sujeto, o la solicitud ya no está abierta para decisión. Lee primero el estado actual. Un traspaso de turno no está en el estado que el paso necesita: enviar toma un borrador, y aprobar toma un traspaso enviado. | 409 |
| DESK-0006 | Gone. La aprobación de operación pasó su plazo de decisión. Propón la operación de nuevo. | 410 |
| DESK-0007 | Internal Server Error. La API de Cabine falló. El mismo código cubre cualquier otro estado de servidor que no tenga código propio. | 500 |
| DESK-0008 | Bad Gateway. El verificador aprobó una eliminación de usuario, y Access Manager no ejecutó la eliminación. La solicitud queda registrada como fallida. Reintenta la aprobación. Si el nuevo intento falla otra vez, revisa la configuración de Access Manager en la API de Cabine. | 502 |
| DESK-0009 | Service Unavailable o Gateway Timeout. La API de Cabine no obtuvo una decisión de autorización. Access Manager no respondió (`503`) o no respondió a tiempo (`504`). O `PLUGIN_AUTH_ENABLED` es `true` y `PLUGIN_AUTH_ADDRESS` está vacío (`503`). El emisor de la llamada no queda ni autorizado ni rechazado. Si Access Manager no respondió, inténtalo de nuevo más tarde. Si todas las solicitudes responden este código, revisa `PLUGIN_AUTH_ADDRESS`. | 503, 504 |


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