> ## 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 Streaming Hub

> Consulte os códigos de erro do Streaming Hub, o status HTTP que cada um carrega e o que corrigir na requisição que o gerou.

**Formato do erro**

O Streaming Hub retorna a maioria dos erros como problem details da RFC 9457, com o media type `application/problem+json`. Apenas uma resposta nesse media type carrega o envelope abaixo:

```json JSON theme={null}
{
  "type": "https://errors.lerian.studio/v1/not_found",
  "title": "Not Found",
  "status": 404,
  "detail": "subscription not found",
  "code": "not_found"
}
```

**Definições dos campos**

* **`type`** – Uma URI estável e versionada que identifica o tipo do problema. O Streaming Hub a monta como `https://errors.lerian.studio/v1/<code>` e a omite para um problema ao qual não atribui nenhum código.
* **`title`** – Um resumo curto e legível por humanos, que é o texto do status HTTP (por exemplo, `Not Found`).
* **`status`** – O código de status HTTP, espelhado no corpo.
* **`detail`** – Uma explicação sobre essa ocorrência.
* **`code`** – O token estável, de baixa cardinalidade e legível por máquina para basear a ramificação. Uma falha de validação da requisição e uma requisição que não corresponde a nenhuma rota chegam com esse campo vazio. Baseie a ramificação em `status` nesses casos.
* **`instance`** – O trace id da requisição, quando o Streaming Hub tem um.
* **`errors`** – Quando presentes, as entradas nomeiam o que foi recusado. O `location` de uma entrada nomeia o campo, por exemplo `event_types/2`.

## Erros do cliente

***

| `code` | Descrição | Status |
| - | - | - |
| `bad_request` | A requisição está malformada, ou falta uma entrada obrigatória. | 400 |
| `missing_idempotency_key` | A requisição omite o header obrigatório `X-Idempotency`. O Streaming Hub rejeita a requisição antes de qualquer escrita. | 400 |
| `invalid_idempotency_key` | O header `X-Idempotency` tem mais de 2048 bytes. | 400 |
| `invalid_error_class` | O filtro `error_class` na listagem de dead-letter contém um valor fora das classes de transporte reconhecidas. Forneça uma classe reconhecida. | 400 |
| `invalid_cursor` | O cursor `after` na listagem de dead-letter não é um identificador de linha bem formado. Reinicie a listagem. | 400 |
| `invalid_source_topic` | O filtro `source_topic` na listagem de dead-letter não é um nome de tópico nem `unknown`. | 400 |
| `AUT-0006` | A requisição não carrega nenhum token. | 401 |
| `AUT-0007` | O token está expirado, inválido ou malformado. | 401 |
| `unauthorized` | A requisição não carrega um contexto de tenant confiável. | 401 |
| `AUT-1020` | A credencial não tem a permissão. O `detail` nomeia o `resource:action` recusado. | 403 |
| `forbidden` | O chamador está autenticado, mas não tem permissão para fazer essa requisição. | 403 |
| `not_found` | O recurso está ausente, foi excluído de forma lógica, pertence a outro tenant ou é de outro tipo. O token é o mesmo para cada um desses casos. | 404 |
| `idempotency_conflict` | Uma requisição duplicada está em andamento, ou a mesma chave `X-Idempotency` chegou com uma fingerprint de requisição diferente. | 409 |
| `idempotency_outcome_unrecorded` | Uma requisição anterior com essa chave `X-Idempotency` pode ter sido confirmada sem resultado registrado. Leia o recurso antes de enviar qualquer coisa de novo. | 409 |
| `subscription_name_taken` | Uma subscription ativa no seu escopo já usa o `name` que a criação envia. O campo `existing_id` identifica essa subscription. | 409 |
| `validation_error` | A requisição carrega uma falha de formato corrigível pelo chamador: um `sink_kind` inválido, ou um endpoint, schema ou valor de `event_types` inválido. Um período do dashboard que começa antes do histórico retido também devolve esse código, com `details` que carregam `coverage_start` e `snapshot_at`. | 422 |
| `unknown_event_type` | Um valor de `event_types` não tem entrada no catálogo no schema major em que a subscription o recebe. Cada entrada de `errors` nomeia um tipo recusado e o major dele. | 422 |
| `event_type_outside_nature` | Um valor de `event_types` nomeia um tipo de evento que a credencial delegada nunca recebe. | 422 |
| `inline_sink_config_forbidden` | Uma requisição de criação carregou material `sink_config` ou `credential` embutido. Em vez disso, envie a credencial da fila por `PUT /v1/subscriptions/{id}/credential`. | 422 |
| `endpoint_blocked` | O host resolvido está bloqueado, é privado ou é um endereço de metadados, ou a URL carrega informação de usuário embutida. Forneça um endpoint público que não contenha credenciais. | 422 |
| `no_secret_to_rotate` | Uma rotação de secret teve como alvo uma subscription que não possui secret de assinatura. | 422 |
| `probe_unsupported_for_sink_kind` | O sink kind não tem nenhuma probe registrada para essa operação. Os sink kinds desse grupo verificam por suas próprias superfícies. | 422 |
| `rate_limited` | A cota do tenant para essa leitura se esgotou. Aguarde os segundos de `Retry-After` e tente novamente. | 429 |

## Erros do servidor

***

| `code` | Descrição | Status |
| - | - | - |
| `internal_error` | Uma falha de infraestrutura. O Streaming Hub reduz o `detail` a `internal error` e registra a causa. | 500 |
| `idempotency_outcome_unrecorded` | A mutação pode ter sido confirmada, e o resultado dela não foi registrado. Leia o recurso antes de enviar qualquer coisa de novo. | 500 |
| `AUT-0033` | O Access Manager não decidiu a requisição. Aguarde os segundos de `Retry-After` e tente novamente. | 503 |
| `rate_limiter_unavailable` | O Streaming Hub não consegue verificar a cota do tenant para essa leitura. Aguarde os segundos de `Retry-After` e tente novamente. | 503 |
| `delegated_party_unconfirmed` | O Streaming Hub ainda não consegue confirmar a parte delegada dessa subscription de pull. Aguarde os segundos de `Retry-After` e tente novamente. | 503 |
| `read_timeout` | Uma leitura do dashboard ou da saúde de entrega esgotou o orçamento de tempo dela. A resposta não tem `Retry-After`. Tente novamente mais tarde. | 503 |
| `dns_unavailable` | A consulta DNS do host do endpoint falhou durante uma criação. Nada foi gravado. Tente novamente com a mesma chave `X-Idempotency`. | 503 |
| `AUT-1021` | O Access Manager não respondeu a tempo. Tente a requisição novamente. | 504 |
| `dns_timeout` | A consulta DNS do host do endpoint expirou durante uma criação. Nada foi gravado. Tente novamente com a mesma chave `X-Idempotency`. | 504 |


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