> ## 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 da API do Cabine

> A API do Cabine retorna respostas de erro estruturadas. Consulte cada código de erro DESK, o que ele significa e o status HTTP que carrega.

**Formato de erro**

A API do Cabine retorna erros como problem details da RFC 9457, com o media type `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"
}
```

**Definições de campo**

* **`type`** – Um URI que identifica o erro no catálogo de erros da Lerian, construído como `https://errors.lerian.studio/v1/<code>`.
* **`title`** – O texto do status HTTP (por exemplo, `Forbidden`).
* **`status`** – O código de status HTTP.
* **`detail`** – Uma explicação legível dessa ocorrência.
* **`code`** – Um identificador estável para o erro (`DESK-NNNN`). Decida com base nesse campo. Cada código tem uma única classe de status.
* **`correlationId`** – O identificador da requisição. Ele repete o header `X-Request-ID` da requisição. Se a requisição não tem um válido, a API do Cabine gera um.
* **`errors`** – Lista opcional de detalhes de erro individuais, cada um com uma `location`, uma `message` e um `value`.

As recusas da verificação de autorização e do roteamento (`401`, `403`, `404`, `405`, `503`, `504`) trazem `instance`, `traceId` e uma lista `violations` vazia em vez de `errors`.

## Erros

| `code` | Descrição | Status |
| - | - | - |
| DESK-0001 | Unprocessable Entity. A requisição como foi enviada não é uma que a API do Cabine processa: um campo falha na validação, ou um valor de decisão não é `approved` nem `rejected`. Requisições que não podem ser lidas (`400`), usam um método que a rota não aceita (`405`) ou trazem um corpo maior que 1 MiB (`413`) também carregam esse código. | 422, 400, 405, 413, outros 4xx |
| DESK-0002 | Unauthorized. A requisição não tem bearer token, o token está expirado, é inválido ou não pode ser lido, ou o token não nomeia nenhum principal. Apresente um token válido. | 401 |
| DESK-0003 | Forbidden. O solicitante é conhecido e não pode fazer isso. O Access Manager recusou a permissão, o token não é de usuário onde a operação exige um, ou a regra dos quatro olhos se aplica. Na regra dos quatro olhos, outra pessoa precisa agir. | 403 |
| DESK-0004 | Not Found. Nenhum registro responde ao identificador: nenhuma passagem de turno, nenhuma aprovação de operação, ou nenhuma exclusão pendente para o usuário. Uma rota que o serviço não tem também responde com esse código. | 404 |
| DESK-0005 | Conflict. O registro existe, e o estado dele não permite a operação. Uma aprovação de operação ou uma exclusão de usuário já está pendente para o mesmo assunto, ou a requisição não está mais aberta para decisão. Leia o estado atual primeiro. Uma passagem de turno não está no estado que a etapa exige: submeter exige um rascunho, e aprovar exige uma passagem submetida. | 409 |
| DESK-0006 | Gone. A aprovação de operação passou do prazo de decisão. Proponha a operação de novo. | 410 |
| DESK-0007 | Internal Server Error. A API do Cabine falhou. O mesmo código cobre qualquer outro status de servidor que não tenha código próprio. | 500 |
| DESK-0008 | Bad Gateway. O verificador aprovou uma exclusão de usuário, e o Access Manager não executou a exclusão. A requisição fica registrada como falha. Tente a aprovação de novo. Se a nova tentativa falhar de novo, confira as configurações do Access Manager na API do Cabine. | 502 |
| DESK-0009 | Service Unavailable ou Gateway Timeout. A API do Cabine não obteve uma decisão de autorização. O Access Manager não respondeu (`503`) ou não respondeu a tempo (`504`). Ou `PLUGIN_AUTH_ENABLED` é `true` e `PLUGIN_AUTH_ADDRESS` está vazio (`503`). O solicitante não é nem autorizado nem recusado. Se o Access Manager não respondeu, tente novamente mais tarde. Se todas as requisições respondem este código, confira `PLUGIN_AUTH_ADDRESS`. | 503, 504 |


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