Pular para o conteúdo principal
Estas regras valem para todos os endpoints da API do Need Alert.

Autenticação

Toda requisição leva uma chave de API no header Authorization: Bearer <token> e pede JSON em Accept: application/json. Como criar a chave, o que cada 401/403/404 significa e como trocar o token: Autenticação.

Versionamento

Todos os endpoints ficam sob /api/v1. Uma mudança que quebre clientes existentes sai numa nova versão (/api/v2) e nunca altera a v1 silenciosamente. Novos campos podem aparecer nas respostas da v1 a qualquer momento, então seu código deve ignorar campos que não conhece.

Formato das respostas

Respostas de sucesso trazem o conteúdo dentro de data, tanto para um único recurso quanto para uma lista.
Datas e horas estão sempre em UTC, no formato ISO 8601 (2026-10-01T19:00:00+00:00). Converta para o fuso local só na exibição. Valores em dinheiro são inteiros na menor unidade da moeda, como centavos: 1990 com moeda BRL é R$ 19,90.

Erros

Todo erro segue o mesmo formato:

Códigos gerais

Códigos de disparo

Códigos de itens e idempotência

Um recurso de outra rede, ou de uma unidade fora da sua chave, responde 404, não 403. A API não revela se um recurso que não é seu existe.

Paginação

Listas aceitam page e per_page. O padrão é 20 itens por página e o máximo é 100.
A resposta traz data, links (first, last, prev, next) e meta (current_page, per_page, total, last_page).

Idioma

Com uma chave de API, envie Accept-Language: pt-BR ou Accept-Language: en para escolher o idioma das mensagens de erro e dos conteúdos traduzidos, como nome e descrição dos itens; sem o header, a chave recebe o idioma padrão da rede. A sessão do painel usa o idioma salvo na conta da pessoa, escolhido no cadastro e alterável nas configurações, mesmo que o header venha diferente. A resposta informa o idioma usado no header Content-Language.

Rastreamento

Toda resposta traz o header X-Request-Id. Você também pode enviar o seu. Informe esse valor ao falar com o suporte sobre uma requisição específica.

Limite de requisições

Ao passar do limite, a resposta é 429 com o header Retry-After, que diz quantos segundos esperar. Os headers X-RateLimit-Limit e X-RateLimit-Remaining mostram o limite e quanto ainda resta. Uma repetição idempotente conta no limite.