Erros e códigos de status · Developers
Códigos HTTP retornados pela API pública do Dailybot, seu significado e como recuperar.
A API do Dailybot retorna códigos HTTP padrão em cada resposta. Respostas bem-sucedidas ficam no intervalo 2xx; erros de cliente em 4xx; erros de servidor em 5xx. Todo corpo de erro segue a mesma forma: um `detail` no nível raiz e erros de validação opcionais por campo em `errors`.
Envelope da resposta de erro
Toda resposta não-2xx é um objeto JSON com pelo menos um campo `detail`. Erros de validação (400 em endpoints de escrita) incluem adicionalmente um mapa `errors` por campo. Rate limits (429) retornam um header `Retry-After` junto com o corpo JSON.
{
"detail": "Human-readable summary of what went wrong.",
"errors": {
"field_name": ["Field-level validation message."]
}
}
Códigos de status retornados pela API pública
| Status | Quando você obtém | Como recuperar |
|---|---|---|
| 200 OK | GET, PATCH bem-sucedido, ou um POST que retorna o recurso. | Nada a fazer — sucesso. |
| 201 Created | POST bem-sucedido que cria um novo recurso. | O recurso está no body; anote o `uuid`. |
| 202 Accepted | Requisição aceita para processamento assíncrono (send-message, send-email, trigger de workflow). | Faça polling ou assine um webhook para saber quando completa. |
| 204 No Content | DELETE ou PATCH bem-sucedido sem body de resposta. | Nada a parsear; sucesso. |
| 400 Bad Request | Erro de validação. O campo `errors` contém mensagens por campo. | Corrija o payload e tente novamente. Nunca reenvie às cegas. |
| 401 Unauthorized | Credencial ausente, expirada ou inválida. | Confirme sua API key ou atualize sua sessão Bearer da CLI com `dailybot login`. |
| 403 Forbidden | Credencial válida mas sem permissão para esta ação, ou endpoint CLI-only. | Verifique a matriz de paridade em [/pt/developers/authentication#parity-guarantee](/pt/developers/authentication#parity-guarantee). |
| 404 Not Found | O recurso não existe, ou o chamador não consegue vê-lo nesta organização. | Verifique o UUID e o escopo da credencial. |
| 409 Conflict | A escrita conflita com o estado atual. | Releia o recurso, escolha o próximo estado correto, tente novamente. |
| 422 Unprocessable Entity | Payload sintaticamente válido mas semanticamente inválido. | Leia `detail` — a mensagem identifica o campo problemático. |
| 429 Too Many Requests | Rate limit excedido. | Respeite o header `Retry-After`. Veja [/pt/developers/rate-limits](/pt/developers/rate-limits). |
| 500 Internal Server Error | Erro inesperado do lado do Dailybot. | Tente novamente com exponential backoff. Se persistir, contate o suporte. |
| 502 / 503 / 504 | Queda upstream ou janela de manutenção. | Tente novamente com exponential backoff. |
Política de retry
Retry apenas em 429, 502, 503, 504 e 5xx idempotentes. Nunca faça retry cego em 4xx — o erro está do seu lado. Para 429, honre `Retry-After`; para 5xx, use exponential backoff (comece em 250 ms, teto em 30 s, adicione jitter).