O que é uma resposta de erro?
Quando algo dá errado, a API responde com um código HTTP e um campocode estável no JSON. Use os dois para decidir se corrige o pedido, tenta de novo ou avisa o usuário.
Pense como o painel do carro: a luz acende (HTTP) e o manual diz o problema (code).
Para que serve?
Com as respostas de erro você pode:- Automatizar tratamento no seu código (retry, mensagem ao usuário, alerta interno)
- Depurar mais rápido com Logs da API
- Evitar depender de texto traduzido em
message
Formato padrão
Em toda a API v1, erros vêm assim:
Em templates, erros de variável podem trazer também
missingVariables (chaves {{…}} que faltaram) e details (array { field, message } por campo).
Desde jul/2026 todos os erros HTTP da API v1 incluem
code + message. Integrações antigas que só liam message devem migrar para code.Códigos HTTP mais comuns
400: algo no pedido está errado
400: algo no pedido está errado
Campo faltando, formato inválido, remetente ambíguo no body, etc. Corrija o body e tente de novo.
401: chave inválida ou ausente
401: chave inválida ou ausente
Header errado, chave revogada ou expirada. Confira
Authorization: Bearer sk_.... Em linha oficial WhatsApp, token Meta expirado/inválido também pode vir como 401 com META_TOKEN_EXPIRED / META_TOKEN_INVALID (chave ok; reconecte a instância).402: plano, créditos ou limite de gasto
402: plano, créditos ou limite de gasto
Trial acabou, saldo zerado ou teto da chave estourado. Recarregue, faça upgrade ou ajuste o limite da chave.
403: sem permissão
403: sem permissão
Escopo faltando, recurso fora da lista da chave ou operação bloqueada. Ajuste escopos ou restrições da chave.
404: não encontrado
404: não encontrado
ID errado, instância inativa ou recurso de outro workspace. Confira o ID na URL ou no body.
409: conflito
409: conflito
Recurso duplicado ou estado inválido (ex.: apagar instância ativa; domínio de e-mail já cadastrado,
EMAIL_DOMAIN_ALREADY_REGISTERED). Use o existente ou mude o estado antes.422: recusado pelo provedor
422: recusado pelo provedor
O pedido está bem formado, mas o provedor externo recusou a operação. Em POST /v1/email/domains, domínio bloqueado por antispam ou recusa do provedor de e-mail retorna
EMAIL_DOMAIN_PROVIDER_ANTISPAM ou EMAIL_DOMAIN_PROVIDER_REJECTED. Trate pelo code; use message (traduzido) para o usuário final.429: muitas requisições
429: muitas requisições
Rate limit da API, limite diário do sandbox (
SANDBOX_DAILY_LIMIT) ou limite diário do Trust Factor (TRUST_DAILY_LIMIT). Espere, reduza volume ou melhore a pontuação do workspace. Veja Trust Factor.502 / 503: problema temporário
502 / 503: problema temporário
Instância desconectada ou falha temporária no provedor. Tente de novo em alguns minutos. No registro de domínio de e-mail, indisponibilidade do provedor usa
EMAIL_DOMAIN_PROVIDER_UNAVAILABLE (502 ou 503). Não confunda com antispam (422).Situações especiais
Alguns fluxos não seguem o padrão “HTTP de erro”. Vale guardar estes casos:Verificar domínio de e-mail (POST /v1/email/domains/:id/verify)
Escopos: email:domains:list ou email:domains:create.
Denúncias FELCA (POST /v1/report)
Endpoint público (sem API Key). Erros seguem o mesmo envelope success: false com code. Guia completo: API de denúncias (FELCA).
Download de mídia WhatsApp inbound
GET /v1/whatsapp/messages/inbound/{id}/media/download ou POST .../media. Escopo whatsapp:read. Tipos: image, audio, document, video, sticker (instância QR). Veja Mensagens recebidas e respostas.
Download de mídia Telegram inbound
GET /v1/telegram/messages/inbound/{id}/media/download ou POST .../media. Escopo telegram:read. Tipos: image, audio, video, document, sticker (Bot e User/QR).
Download de mídia Instagram inbound
GET /v1/instagram/messages/inbound/{id}/media/download ou POST .../media. Escopo instagram:read. Tipos: image, video, audio/voice.
Sending Pools (WhatsApp)
Guia: Sending Pools.
Campanhas com pool:
CAMPAIGN_SENDING_POOL_INVALID (seção Campanhas abaixo).
Proteção de número (WhatsApp)
Guia: Política anti-banimento.Grupos (WhatsApp, não oficial)
Guia: Grupos. Só instância não oficial.Linha oficial Meta (WhatsApp)
Guia: Templates oficiais Meta. Emsk_live_ os gates Meta rodam; no sandbox (sk_test_) não.
Publicação e sincronização de templates (API v1)
Endpoints:POST /v1/whatsapp/instances/{instanceId}/meta/push-template (publicar) e POST .../meta/sync-templates (preview/apply). Todas as falhas retornam { success: false, error, message, code } com message localizado via Accept-Language / x-locale.
Lista completa dos códigos de publicação na seção Templates abaixo (
TEMPLATE_*, GUPSHUP_*, META_TEMPLATE_CREATE_FAILED, …).
Lista completa de enums (code)
Todos os 307 valores code públicos retornados pela API v1. Enums internos da plataforma não entram aqui. Expanda cada seção para ver a tabela. Para o request exato que gerou o erro, abra Logs da API.
Sandbox (1)
Sandbox (1)
Conta e workspace (7)
Conta e workspace (7)
Plano, créditos e fila (20)
Plano, créditos e fila (20)
WhatsApp (25)
WhatsApp (25)
SMS (4)
SMS (4)
E-mail (17)
E-mail (17)
Instagram (14)
Instagram (14)
Telegram (19)
Telegram (19)
Push (6)
Push (6)
RCS (1)
RCS (1)
Templates (17)
Templates (17)
Campanhas (27)
Campanhas (27)
Segmentos (4)
Segmentos (4)
Automações (grafo) (47)
Automações (grafo) (47)
Eventos de automação (10)
Eventos de automação (10)
Webhooks (5)
Webhooks (5)
Links curtos (11)
Links curtos (11)
Requisição geral (10)
Requisição geral (10)
Voz (8)
Voz (8)
Outros (48)
Outros (48)

