> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Respuestas de error

> Comprenda los códigos HTTP y el campo code de la API, y qué hacer en cada caso.

<Tip>
  Un error de API es el **semáforo rojo** del camino: HTTP indica la gravedad y `code` indica qué se detuvo. Maneje por `code`, no por el texto libre de `message`.
</Tip>

## ¿Qué es una respuesta de error?

Cuando algo sale mal, la API devuelve un **código HTTP** y un campo **`code`** estable en el JSON. Use ambos para decidir si corrige la solicitud, reintenta o alerta al usuario.

Piense en el tablero del auto: se enciende la luz (HTTP) y el manual indica el problema (`code`).

## ¿Para qué sirve?

Con respuestas de error puede:

* **Automatizar** el manejo en su código (retry, mensaje al usuario, alerta interno)
* **Depurar** mais rápido com \[Logs de API]\(/es/guides/logs/index
* **Evitar** depender de texto traduzido em `message`

## Formato estándar

En **toda la API v1**, los errores vienen así:

```json theme={null}
{
  "success": false,
  "error": "Bad Request",
  "message": "Texto legível para humanos",
  "code": "BAD_REQUEST"
}
```

| Campo       | Qué es                                                                      |
| ----------- | --------------------------------------------------------------------------- |
| **error**   | Rótulo HTTP (ex.: `Bad Request`)                                            |
| **message** | Texto legible, localizado vía `Accept-Language` / `x-locale` cuando aplique |
| **code**    | Enum estável, **sempre presente**. É a fonte principal para o seu código    |

Em **templates**, erros de variável podem trazer também **`missingVariables`** (claves `{{…}}` que faltaram) e **`details`** (array `{ field, message }` por campo).

<Note>
  Desde jul/2026 **todos** os erros HTTP da API v1 incluem `code` + `message`. Integrações antigas que só liam `message` devem migrar para `code`.
</Note>

## Códigos HTTP más comunes

<AccordionGroup>
  <Accordion title="400: algo no solicitud está errado">
    Campo faltando, formato inválido, roteamento conflitante (`instanceId` + `sendingPoolId` juntos), etc. Corrija o body e tente de novo.
  </Accordion>

  <Accordion title="401: clave inválida o ausente">
    Header errado, clave revogada o 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` (clave ok; reconecte a Instance).
  </Accordion>

  <Accordion title="402: plano, créditos o limite de gasto">
    Trial acabou, saldo zerado o teto da clave estourado. Recarregue, faça upgrade o ajuste o limite da clave.
  </Accordion>

  <Accordion title="403: sem permissão">
    Escopo faltando, recurso fora da lista da clave o operação bloqueada. Ajuste \[alcances]\(/es/guides/api-key/index#scopes-and-permissions o restrições da clave.
  </Accordion>

  <Accordion title="404: no encontrado">
    ID errado, Instance inativa o recurso de outro Workspace. Confira o ID na URL o no body.
  </Accordion>

  <Accordion title="409: conflito">
    Recurso duplicado o estado inválido (ex.: apagar Instance ativa; domínio de e-mail já cadastrado, `EMAIL_DOMAIN_ALREADY_REGISTERED`). Use o existente o mude o estado antes.
  </Accordion>

  <Accordion title="422: recusado pelo provedor">
    O solicitud está bem formado, mas o provedor externo recusou a operação. Em **POST /v1/email/domains**, domínio bloqueado por antispam o recusa do ZeptoMail/SES retorna **`EMAIL_DOMAIN_PROVIDER_ANTISPAM`** o **`EMAIL_DOMAIN_PROVIDER_REJECTED`**. Trate pelo `code`; use `message` (traduzido) para o usuário final.
  </Accordion>

  <Accordion title="429: muitas requisições">
    Rate limit da API, limite diário do sandbox (`SANDBOX_DAILY_LIMIT`) o limite diário do **Trust Factor** (`TRUST_DAILY_LIMIT`). Espere, reduza volume o melhore a pontuação do Workspace. Veja \[Trust Factor]\(/es/guides/Workspaces/trust-factor.
  </Accordion>

  <Accordion title="502 / 503: problema temporário">
    Instância desconectada o 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 o 503). Não confunda com antispam (**422**).
  </Accordion>
</AccordionGroup>

## Situaciones especiales

Alguns fluxos no seguem o padrão “HTTP de erro”. Vale guardar estes casos:

### Verificar domínio de e-mail (`POST /v1/email/domains/:id/verify`)

Alcances: **`email:domains:list`** o **`email:domains:create`**.

| Situación                        | HTTP      | `code`                              | Notas                                               |
| -------------------------------- | --------- | ----------------------------------- | --------------------------------------------------- |
| DNS ainda pendente               | **200**   | `EMAIL_DOMAIN_DNS_PENDING`          | `success: true`, `verified: false`. Não é erro HTTP |
| Domínio verificado               | **200**   | `EMAIL_DOMAIN_VERIFIED`             | `success: true`, `verified: true`                   |
| DNS falhou                       | **200**   | `EMAIL_DOMAIN_VERIFY_FAILED`        | `success: true`, `verified: false`                  |
| Domínio no encontrado            | 404       | `EMAIL_DOMAIN_NOT_FOUND`            |                                                     |
| Provedor indisponível            | 502 / 503 | `EMAIL_DOMAIN_VERIFY_UNAVAILABLE`   |                                                     |
| Configuração ausente no provedor | 503       | `EMAIL_DOMAIN_MISSING_PROVIDER_KEY` |                                                     |

### Reportes FELCA (`POST /v1/report`)

Endpoint **público** (sin API Key). Los errores usan el mismo sobre `success: false` con `code`. Guía completa: [Report API (FELCA)](/es/guides/compliance/report-api).

### Download de mídia WhatsApp inbound

`GET /v1/whatsapp/messages/inbound/{id}/media/download` o `POST .../media`. Escopo `whatsapp:read`. Tipos: image, audio, document, video, sticker (Instance QR). Veja \[Mensajes recibidos y respuestas]\(/es/guides/webhooks/mensagens-recebidas-e-respostas.

### Download de mídia Telegram inbound

`GET /v1/telegram/messages/inbound/{id}/media/download` o `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` o `POST .../media`. Escopo `instagram:read`. Tipos: image, video, audio/voice.

### Sending Pools (WhatsApp)

Guía: [Sending Pools](/es/whatsapp-api/como-funciona/sending-pools).

| `code`                       | HTTP | Qué hacer                                                           |
| ---------------------------- | ---- | ------------------------------------------------------------------- |
| `SENDING_POOL_KIND_MISMATCH` | 400  | Pool é oficial o no oficial, no misture tipos ao adicionar Instance |
| `SENDING_POOL_KIND_MIXED`    | 400  | Pool já inconsistente; corrija no painel antes de enviar            |
| `SENDING_POOL_NOT_FOUND`     | 404  | `sendingPoolId` inválido o de outro Workspace                       |
| `SENDING_POOL_UNAVAILABLE`   | 503  | Pool sem Instances ativas no momento                                |
| `ROUTING_CONFLICT`           | 400  | Não envie `instanceId` e `sendingPoolId` no mesmo solicitud         |

Campanhas com pool: `CAMPAIGN_SENDING_POOL_INVALID` (seção **Campanhas** abaixo).

### Proteção de número (WhatsApp)

Guía: [Política anti-ban](/es/whatsapp-api/como-funciona/politica-anti-banimento).

| `code`                  | HTTP | Qué hacer                                                                   |
| ----------------------- | ---- | --------------------------------------------------------------------------- |
| `PHONE_NUMBER_MISMATCH` | 409  | Número escaneado ≠ o esperado o vinculado, use o chip certo o nova Instance |
| `RECONNECT_COOLDOWN`    | 429  | Aguarde `retryAfterSec` após queda involuntária antes de novo código        |
| `WARMUP_DAILY_LIMIT`    | 429  | Limite diário nos primeiros 3 dias (20/dia), envie amanhã o aguarde warm-up |

### Grupos (WhatsApp, no oficial)

Guía: [Grupos](/es/whatsapp-api/grupos/introducao). Só Instance **no oficial**.

| `code`                            | HTTP | Qué hacer                                              |
| --------------------------------- | ---- | ------------------------------------------------------ |
| `SCOPE_GROUPS_REQUIRED`           | 403  | Inclua escopo **`whatsapp:groups`** na clave           |
| `WHATSAPP_GROUPS_UNOFFICIAL_ONLY` | 400  | Use Instance **no oficial**, oficial no suporta grupos |

### Linha oficial Meta (WhatsApp)

Guía: [Plantillas oficiales Meta](/es/whatsapp-api/como-funciona/templates-oficiais-meta). Em `sk_live_` os gates Meta rodam; no sandbox (`sk_test_`) não.

| `code`                                | HTTP | Qué hacer                                                                |
| ------------------------------------- | ---- | ------------------------------------------------------------------------ |
| `META_TEMPLATE_REQUIRED`              | 400  | Fora da janela 24h, envie template aprovado o espere resposta do cliente |
| `META_TEMPLATE_NOT_FOUND`             | 400  | Nome/idioma no bate com a Meta, sync/vínculo; confira `metaName`         |
| `META_TEMPLATE_MEDIA_REQUIRED`        | 400  | Header o carrossel exige mídia no template oficial                       |
| `META_TEMPLATE_CAROUSEL_INCONSISTENT` | 400  | Cards do carrossel com estrutura diferente, alinhe no editor             |
| `META_PAYMENT_METHOD_REQUIRED`        | 402  | Cadastre cartão no gerenciador do WhatsApp                               |
| `META_TOKEN_EXPIRED`                  | 401  | Reconecte a Instance oficial (token Graph expirado)                      |
| `META_TOKEN_INVALID`                  | 401  | Reconecte a Instance oficial (token inválido)                            |
| `META_PERMISSION_DENIED`              | 403  | Permissões Meta insuficientes na conta o WABA                            |
| `META_MESSAGE_EDIT_UNSUPPORTED`       | 400  | Linha oficial no edita mensagem já enviada                               |
| `META_MESSAGE_DELETE_UNSUPPORTED`     | 400  | Linha oficial no apaga mensagem já enviada                               |

`TEMPLATE_NOT_ALLOWED_FOR_INSTANCE` e `TEMPLATE_META_STRUCTURE_REQUIRES_OFFICIAL` estão na seção **Templates** abaixo.

## Lista completa de enums (`code`)

Todos os **245** valores `code` **públicos** retornados pela **API v1**. Enums internos da plataforma no entram aqui. Expanda cada seção para ver a tabela. Para o request exato que gerou o erro, abra \[Logs de API]\(/es/guides/logs/index.

<AccordionGroup>
  <Accordion title="Sandbox (1)">
    | `code`                | Significado                           |
    | --------------------- | ------------------------------------- |
    | `SANDBOX_DAILY_LIMIT` | Limite diário do sandbox (50/dia UTC) |
  </Accordion>

  <Accordion title="Cuenta y Workspace (7)">
    | `code`                          | Significado                        |
    | ------------------------------- | ---------------------------------- |
    | `API_KEY_EXPIRED`               | API Key expirada                   |
    | `API_KEY_REVOKED`               | API Key revogada                   |
    | `LAST_WORKSPACE`                | Não pode apagar o único Workspace  |
    | `ONBOARDING_REQUIRED`           | Onboarding incompleto              |
    | `UNAUTHORIZED`                  | API Key ausente o inválida         |
    | `WORKSPACE_HEADER_NOT_ALLOWED`  | Header X-Workspace-Id no permitido |
    | `WORKSPACE_SLOTS_LIMIT_REACHED` | Limite de Workspaces da conta      |
  </Accordion>

  <Accordion title="Plan, créditos y cola (20)">
    | `code`                                     | Significado                                     |
    | ------------------------------------------ | ----------------------------------------------- |
    | `API_KEY_SPEND_LIMIT_EXCEEDED`             | Limite de gasto da API Key estourado            |
    | `INSUFFICIENT_CREDITS`                     | Créditos insuficientes                          |
    | `INSUFFICIENT_CREDITS_OR_BALANCE`          | Sem créditos nem saldo em reais                 |
    | `PLAN_LIMIT_AUTOMATIONS`                   | Limite de automações do plano                   |
    | `PLAN_LIMIT_CREDITS`                       | Limite de créditos do plano                     |
    | `PLAN_LIMIT_CRM`                           | Limite de CRM do plano                          |
    | `PLAN_LIMIT_EMAIL_DOMAINS`                 | Limite de domínios de e-mail                    |
    | `PLAN_LIMIT_INSTANCES`                     | Limite de Instances do plano                    |
    | `PLAN_LIMIT_PUSH_APPS`                     | Limite de apps push                             |
    | `PLAN_LIMIT_SCHEDULING`                    | Agendamento indisponível no plano               |
    | `PLAN_LIMIT_SCHEDULING_DAYS`               | Data além do limite do plano                    |
    | `PLAN_LIMIT_TEMPLATES`                     | Limite de templates do plano                    |
    | `PLAN_LIMIT_WEBHOOKS`                      | Limite de webhooks do plano                     |
    | `PREMIUM_AUTOMATIONS_ACCESS_CODE`          | Premium automations access code                 |
    | `PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE` | Recurso premium exige plano pago, trial o saldo |
    | `RATE_LIMIT_EXCEEDED`                      | Limite de requisições excedido                  |
    | `RATE_LIMIT_SOFT_THRESHOLD`                | Rate limit próximo do teto                      |
    | `WORKSPACE_BACKLOG_LIMIT`                  | Fila do Workspace cheia                         |
    | `WORKSPACE_BACKLOG_SOFT_LIMIT`             | Fila perto do limite                            |
    | `WORKSPACE_BLOCKED`                        | Workspace bloqueado (trial o plano)             |
  </Accordion>

  <Accordion title="WhatsApp (25)">
    | `code`                            | Significado                                                             |
    | --------------------------------- | ----------------------------------------------------------------------- |
    | `CANNOT_CANCEL_PROCESSING`        | Mensagem já em envio                                                    |
    | `CANNOT_CANCEL_STATUS`            | Status no permite cancelamento                                          |
    | `CANNOT_SEND_TO_SELF`             | Destinatário é o próprio número                                         |
    | `EVOLUTION_GO_LICENSE_REQUIRED`   | Licença da conexão WhatsApp **no oficial** ausente/inválida no ambiente |
    | `INSTANCE_ACTIVE`                 | Instância ainda conectada                                               |
    | `INSTANCE_CHANNEL_MISMATCH`       | Canal da Instance incompatível                                          |
    | `INSTANCE_NOT_FOUND`              | Instância no encontrada o inativa                                       |
    | `INSTANCE_SMS_NOT_ENABLED`        | SMS no habilitado na Instance                                           |
    | `INSTANCE_UNAVAILABLE`            | Instância WhatsApp incompatível o inativa para download de mídia        |
    | `NO_MEDIA`                        | Mensagem inbound sem mídia para download                                |
    | `NO_WHATSAPP_INSTANCE`            | Nenhuma Instance WhatsApp ativa                                         |
    | `PHONE_NUMBER_MISMATCH`           | Número escaneado ≠ lockedPhoneNumber o expectedPhoneNumber              |
    | `RECONNECT_COOLDOWN`              | Cooldown de 6 h após desconexão involuntária o excesso de QR            |
    | `ROUTING_CONFLICT`                | instanceId e sendingPoolId no mesmo envio                               |
    | `SCOPE_GROUPS_REQUIRED`           | Escopo whatsapp:groups necessário                                       |
    | `SENDING_POOL_KIND_MISMATCH`      | Tentativa de misturar Instances oficiais e no oficiais no mesmo pool    |
    | `SENDING_POOL_KIND_MIXED`         | Pool já mistura oficial e no oficial; homogeneíze antes de enviar       |
    | `SENDING_POOL_NOT_FOUND`          | Sending pool no encontrado                                              |
    | `SENDING_POOL_UNAVAILABLE`        | Pool sem Instances ativas                                               |
    | `UNSAFE_CONTENT`                  | Conteúdo inseguro bloqueado                                             |
    | `WARMUP_DAILY_LIMIT`              | Limite warm-up WhatsApp (20 msgs/dia nos primeiros 3 dias)              |
    | `WHATSAPP_GROUPS_UNOFFICIAL_ONLY` | Grupos só na conexão no oficial                                         |
    | `WHATSAPP_PRESENCE_FAILED`        | Falha ao enviar presença                                                |
    | `WHATSAPP_PRESENCE_GO_ONLY`       | Presença disponível só em Instances compatíveis                         |
  </Accordion>

  <Accordion title="Meta Cloud / plantillas oficiales (10)">
    | `code`                                | Significado                                        |
    | ------------------------------------- | -------------------------------------------------- |
    | `META_MESSAGE_DELETE_UNSUPPORTED`     | Linha oficial no apaga mensagem já enviada         |
    | `META_MESSAGE_EDIT_UNSUPPORTED`       | Linha oficial no edita mensagem já enviada         |
    | `META_PAYMENT_METHOD_REQUIRED`        | Sem cartão ativo no WhatsApp Manager               |
    | `META_PERMISSION_DENIED`              | Permissões Meta insuficientes                      |
    | `META_TEMPLATE_CAROUSEL_INCONSISTENT` | Cards do carrossel com estrutura inconsistente     |
    | `META_TEMPLATE_MEDIA_REQUIRED`        | Mídia obrigatória em header/carrossel do template  |
    | `META_TEMPLATE_NOT_FOUND`             | Template no encontrado na Meta (`metaName`/idioma) |
    | `META_TEMPLATE_REQUIRED`              | Fora da janela 24h sem template aprovado           |
    | `META_TOKEN_EXPIRED`                  | Token Graph expirado na Instance oficial           |
    | `META_TOKEN_INVALID`                  | Token Graph inválido na Instance oficial           |
  </Accordion>

  <Accordion title="SMS (4)">
    | `code`                  | Significado                         |
    | ----------------------- | ----------------------------------- |
    | `SMS_ALL_SKIPPED`       | Todos destinatários SMS ignorados   |
    | `SMS_DUPLICATE_RECENT`  | SMS duplicado recente               |
    | `SMS_MESSAGE_TOO_SHORT` | SMS com menos de 9 caracteres       |
    | `UNSAFE_SMS_CONTENT`    | Conteúdo SMS bloqueado por política |
  </Accordion>

  <Accordion title="Email (17)">
    | `code`                              | Significado                                           |
    | ----------------------------------- | ----------------------------------------------------- |
    | `DEFAULT_DOMAIN_NOT_VERIFIED`       | Domínio padrão no verificado                          |
    | `DOMAIN_NOT_ALLOWED`                | Domínio fora da lista da clave                        |
    | `DOMAIN_NOT_VERIFIED`               | Domínio de e-mail no verificado                       |
    | `EMAIL_DOMAIN_ALREADY_REGISTERED`   | Domínio de e-mail já cadastrado no Workspace          |
    | `EMAIL_DOMAIN_CREATE_BUSY`          | Cadastro do domínio já em andamento                   |
    | `EMAIL_DOMAIN_DNS_PENDING`          | DNS do domínio ainda pendente                         |
    | `EMAIL_DOMAIN_MISSING_PROVIDER_KEY` | Email domain missing provider key                     |
    | `EMAIL_DOMAIN_NOT_FOUND`            | Domínio de e-mail no encontrado neste Workspace       |
    | `EMAIL_DOMAIN_PROVIDER_ANTISPAM`    | Provedor bloqueou o domínio (antispam)                |
    | `EMAIL_DOMAIN_PROVIDER_REJECTED`    | Provedor recusou o domínio                            |
    | `EMAIL_DOMAIN_PROVIDER_UNAVAILABLE` | Provedor de e-mail indisponível                       |
    | `EMAIL_DOMAIN_VERIFIED`             | Domínio verificado com sucesso                        |
    | `EMAIL_DOMAIN_VERIFY_FAILED`        | Verificação DNS falhou                                |
    | `EMAIL_DOMAIN_VERIFY_UNAVAILABLE`   | Email domain verify unavailable                       |
    | `EMAIL_TEMPLATE_RESULT_TOO_LONG`    | Resultado do template longo demais                    |
    | `INVALID_LIST_UNSUBSCRIBE_TOPIC`    | listUnsubscribeTopicId no é um tópico deste Workspace |
    | `RECIPIENT_SUPPRESSED`              | Destinatário em supressão (bounce/opt-out)            |
  </Accordion>

  <Accordion title="Instagram (8)">
    | `code`                         | Significado                                                |
    | ------------------------------ | ---------------------------------------------------------- |
    | `INSTAGRAM_ABUSE_PAUSE`        | Pausa após please\_wait / feedback\_required / abuso       |
    | `INSTAGRAM_ACCOUNT_MISMATCH`   | Conta logada ≠ locked/expected na Instance                 |
    | `INSTAGRAM_INSTANCE_NOT_FOUND` | Instância Instagram no encontrada                          |
    | `INSTAGRAM_RECONNECT_COOLDOWN` | Cooldown após queda involuntária o excesso de logins       |
    | `INSTAGRAM_SESSION_LOST`       | Sessão Instagram morta; Instance desconectada              |
    | `INSTAGRAM_TEMPLATE_EMPTY`     | Template Instagram renderizou vazio                        |
    | `INSTAGRAM_TERMS_REQUIRED`     | Termos do Instagram pendentes no login                     |
    | `INSTAGRAM_WARMUP_DAILY_LIMIT` | Limite warm-up Instagram (15 DMs/dia nos primeiros 5 dias) |
  </Accordion>

  <Accordion title="Telegram (18)">
    | `code`                               | Significado                          |
    | ------------------------------------ | ------------------------------------ |
    | `CONTACT_TELEGRAM_PEER_EXISTS`       | Peer Telegram já existe no contato   |
    | `DUPLICATE_TELEGRAM_INSTANCE`        | Instância Telegram duplicada         |
    | `INVALID_TELEGRAM_INSTANCE`          | Instância Telegram inválida          |
    | `INVALID_TELEGRAM_LINKS`             | Links Telegram inválidos             |
    | `INVALID_TELEGRAM_PEER`              | Peer Telegram inválido               |
    | `TELEGRAM_BOT_TOKEN_INVALID`         | Token do bot inválido                |
    | `TELEGRAM_INSTANCE_NOT_FOUND`        | Telegram instance not found          |
    | `TELEGRAM_INSTANCE_REQUIRED`         | Instância Telegram obrigatória       |
    | `TELEGRAM_QR_CANCEL_NOT_APPLICABLE`  | Cancelamento de QR no aplicável      |
    | `TELEGRAM_QR_LOGIN_IN_PROGRESS`      | Login por QR em andamento            |
    | `TELEGRAM_SESSION_ALREADY_SET`       | Sessão Telegram já definida          |
    | `TELEGRAM_TEMPLATE_CAPTION_TOO_LONG` | Legenda do template longa demais     |
    | `TELEGRAM_TEMPLATE_MESSAGE_TOO_LONG` | Texto do template longo demais       |
    | `TELEGRAM_TYPE_UNSUPPORTED`          | Tipo de mensagem no suportado        |
    | `TELEGRAM_USER_INVALID_STATE`        | Estado inválido da sessão Telegram   |
    | `TELEGRAM_USER_LOCATION_UNSUPPORTED` | Localização no suportada no Telegram |
    | `TELEGRAM_USER_PENDING_SESSION`      | Sessão Telegram pendente             |
    | `TELEGRAM_USER_TERMS_REQUIRED`       | Termos do Telegram pendentes         |
  </Accordion>

  <Accordion title="Push (6)">
    | `code`                    | Significado                        |
    | ------------------------- | ---------------------------------- |
    | `DATA_TOO_LARGE`          | Payload data do push grande demais |
    | `ORIGIN_NOT_ALLOWED`      | Origem no permitida                |
    | `PLATFORM_NOT_CONFIGURED` | Plataforma no configurada          |
    | `PUSH_APP_ID_REQUIRED`    | Push app id required               |
    | `PUSH_APP_NOT_ALLOWED`    | App push fora da lista da clave    |
    | `PUSH_APP_NOT_FOUND`      | Push app not found                 |
  </Accordion>

  <Accordion title="RCS (1)">
    | `code`              | Significado                      |
    | ------------------- | -------------------------------- |
    | `PAYLOAD_TOO_LARGE` | Body da requisição grande demais |
  </Accordion>

  <Accordion title="Templates (6)">
    | `code`                                            | Significado                                          |
    | ------------------------------------------------- | ---------------------------------------------------- |
    | `LOCALIZATION_AI_NOT_SUPPORTED_OFFICIAL_TEMPLATE` | IA no suportada em template Meta oficial             |
    | `TEMPLATE_CHANNEL_NOT_ENABLED`                    | Canal no habilitado no template                      |
    | `TEMPLATE_CREATE_BUSY`                            | Criação de template em andamento                     |
    | `TEMPLATE_META_STRUCTURE_REQUIRES_OFFICIAL`       | Header/footer/botões só em template vinculado à Meta |
    | `TEMPLATE_NOT_ALLOWED_FOR_INSTANCE`               | Template incompatível com a Instance WhatsApp        |
    | `TEMPLATE_NOT_FOUND`                              | Template no encontrado                               |
  </Accordion>

  <Accordion title="Campañas (13)">
    | `code`                                | Significado                                 |
    | ------------------------------------- | ------------------------------------------- |
    | `CAMPAIGN_AUDIENCE_TOO_LARGE`         | Audiência da campanha grande demais         |
    | `CAMPAIGN_CHANNEL_NOT_IN_TEMPLATE`    | Canal no habilitado no template             |
    | `CAMPAIGN_CONTACT_NOT_FOUND`          | Contato da campanha no encontrado           |
    | `CAMPAIGN_RUNNING`                    | Campanha já em execução                     |
    | `CAMPAIGN_RUNS_SCHEDULED`             | Campanha com execuções agendadas            |
    | `CAMPAIGN_RUN_RUNNING`                | Execução da campanha em andamento           |
    | `CAMPAIGN_SCHEDULE_INVALID`           | Agendamento de campanha inválido            |
    | `CAMPAIGN_SEGMENT_NOT_FOUND`          | Segmento da campanha no encontrado          |
    | `CAMPAIGN_SENDING_POOL_INVALID`       | Sending pool inválido na campanha           |
    | `CAMPAIGN_TELEGRAM_INSTANCE_REQUIRED` | Instância Telegram obrigatória na campanha  |
    | `CAMPAIGN_TEMPLATE_REQUIRED`          | Template obrigatório na campanha            |
    | `CAMPAIGN_WHATSAPP_INSTANCE_INVALID`  | Instância WhatsApp inválida na campanha     |
    | `CAMPAIGN_WHATSAPP_ROUTING_CONFLICT`  | Conflito de roteamento WhatsApp na campanha |
  </Accordion>

  <Accordion title="Contactos y etiquetas (6)">
    | `code`                            | Significado                          |
    | --------------------------------- | ------------------------------------ |
    | `CONTACT_EMAIL_EXISTS`            | E-mail já cadastrado no Workspace    |
    | `CONTACT_NOT_FOUND`               | Contato no encontrado                |
    | `CONTACT_PHONE_EXISTS`            | Telefone já cadastrado no Workspace  |
    | `CONTACT_REQUIRES_PHONE_OR_EMAIL` | Informe telefone o e-mail do contato |
    | `TAG_NAME_EXISTS`                 | Nome de tag já existe                |
    | `TAG_NOT_FOUND`                   | Tag no encontrada                    |
  </Accordion>

  <Accordion title="Segmentos (4)">
    | `code`                       | Significado                           |
    | ---------------------------- | ------------------------------------- |
    | `SEGMENT_PROPERTY_NOT_FOUND` | Propriedade do segmento no encontrada |
    | `SEGMENT_TAG_NOT_FOUND`      | Tag do segmento no encontrada         |
    | `SEGMENT_TOPIC_NOT_FOUND`    | Tópico do segmento no encontrado      |
    | `TOPIC_SLUG_EXISTS`          | Slug de tópico já existe              |
  </Accordion>

  <Accordion title="Automatizaciones (grafo) (47)">
    | `code`                             | Significado                                      |
    | ---------------------------------- | ------------------------------------------------ |
    | `BRANCH_INVALID`                   | Ramo inválido no grafo                           |
    | `CALL_ASSISTANT_COMPOSED_EMPTY`    | Resposta composta do assistente vazia            |
    | `CALL_ASSISTANT_MANUAL_EMPTY`      | Resposta manual do assistente vazia              |
    | `CONDITION_BRANCHES`               | Ramificações de condição inválidas               |
    | `CONDITION_BRANCH_DUP`             | Ramo de condição duplicado                       |
    | `CONDITION_BRANCH_TAG`             | Tag de ramo de condição inválida                 |
    | `CONDITION_CONVERSATION_KEY`       | Chave de conversa inválida na condição           |
    | `CONDITION_INBOUND_SOURCE`         | Origem inbound inválida na condição              |
    | `CONDITION_MESSAGE_TRIGGER`        | Gatilho de mensagem inválido na condição         |
    | `CONDITION_OPERATOR`               | Operador de condição inválido                    |
    | `CONDITION_PROPERTY`               | Propriedade de condição inválida                 |
    | `CONDITION_RUN_ARTIFACT_CHECK`     | Verificação de artefato inválida                 |
    | `CONDITION_RUN_ARTIFACT_KIND`      | Tipo de artefato inválido                        |
    | `CONDITION_RUN_ARTIFACT_REF`       | Referência de artefato inválida                  |
    | `CONDITION_SOURCE`                 | Origem de condição inválida                      |
    | `CONDITION_VALUE`                  | Valor de condição inválido                       |
    | `CREATE_CONTACT_RECIPIENT`         | E-mail o telefone obrigatório para criar contato |
    | `DELAY_INCOMPLETE`                 | Passo de espera incompleto                       |
    | `DUPLICATE_STEP_KEY`               | stepKey duplicado no grafo                       |
    | `END_FLOW_LEAF`                    | Passo de fim de fluxo deve ser folha             |
    | `GRAPH_CYCLE`                      | Ciclo no grafo de automação                      |
    | `INVALID_GRAPH`                    | Grafo de automação inválido                      |
    | `MCP_APPROVAL_CHECKPOINT_BRANCHES` | Ramificações de checkpoint MCP inválidas         |
    | `ROUTER_BRANCHES`                  | Ramificações do roteador inválidas               |
    | `ROUTER_BRANCH_DUP`                | Ramo do roteador duplicado                       |
    | `ROUTER_BRANCH_TAG`                | Tag de ramo do roteador inválida                 |
    | `ROUTER_DEFAULT`                   | Ramo padrão do roteador inválido                 |
    | `SEND_EMAIL_INCOMPLETE`            | Passo de e-mail incompleto                       |
    | `SEND_PUSH_INCOMPLETE`             | Passo de push incompleto                         |
    | `SEND_TELEGRAM_INCOMPLETE`         | Passo de Telegram incompleto                     |
    | `SEND_TEMPLATE_ID`                 | Passo sendTemplate sem template                  |
    | `SEND_TEXT_INCOMPLETE`             | Passo de texto incompleto                        |
    | `SEND_WHATSAPP_INCOMPLETE`         | Passo de WhatsApp incompleto                     |
    | `TRIGGER_COUNT`                    | Grafo deve ter exatamente um gatilho             |
    | `TRIGGER_NOT_ROOT`                 | Gatilho deve ser raiz do grafo                   |
    | `UNKNOWN_STEP`                     | Passo desconhecido no grafo                      |
    | `UNREACHABLE_STEP`                 | Passo inalcançável no grafo                      |
    | `UPDATE_CONTACT_CLEAR_CUSTOM`      | Erro ao limpar propriedade customizada           |
    | `UPDATE_CONTACT_EMPTY`             | Nada para atualizar no contato                   |
    | `UPDATE_CONTACT_FIELD`             | Campo de contato inválido                        |
    | `UPDATE_CONTACT_INTENT`            | Intenção de atualização inválida                 |
    | `UPDATE_CONTACT_VALUE`             | Valor de contato inválido                        |
    | `WAIT_SIGNAL_BRANCHES`             | Ramificações de espera inválidas                 |
    | `WAIT_SIGNAL_BRANCH_DUP`           | Ramo de espera duplicado                         |
    | `WAIT_SIGNAL_BRANCH_TAG`           | Tag de ramo de espera inválida                   |
    | `WAIT_WEBHOOK_EVENT_NAME`          | Nome de evento de espera inválido                |
    | `WIDGET_NOT_FOUND`                 | Widget no encontrado                             |
  </Accordion>

  <Accordion title="Eventos de automatización (10)">
    | `code`                  | Significado                                       |
    | ----------------------- | ------------------------------------------------- |
    | `EVENT_IN_USE`          | Evento em uso por automação                       |
    | `EVENT_NOT_DEFINED`     | Evento no cadastrado no Workspace                 |
    | `EVENT_NOT_REGISTERED`  | Evento no registrado                              |
    | `INVALID_EVENT_NAME`    | Nome de evento inválido                           |
    | `INVALID_EVENT_SCHEMA`  | Schema do evento inválido                         |
    | `INVALID_PAYLOAD`       | Payload do evento deve ser um objeto JSON         |
    | `MISSING_PAYLOAD_FIELD` | Campo obrigatório faltando no payload do evento   |
    | `PAYLOAD_TYPE_MISMATCH` | Tipo de campo inválido no payload do evento       |
    | `RECIPIENT_REQUIRED`    | Informe exatamente um de contactId, email o phone |
    | `RESERVED_EVENT`        | Nome de evento reservado (prefixo notifique:)     |
  </Accordion>

  <Accordion title="Webhooks (5)">
    | `code`                       | Significado                                   |
    | ---------------------------- | --------------------------------------------- |
    | `WEBHOOK_CREATE_BUSY`        | Criação de webhook em andamento               |
    | `WEBHOOK_DELIVERY_NOT_FOUND` | Entrega de webhook no encontrada              |
    | `WEBHOOK_DISABLED`           | Webhook desativado                            |
    | `WEBHOOK_EVENTS_REQUIRED`    | Pelo menos um evento é obrigatório no webhook |
    | `WEBHOOK_NOT_FOUND`          | Webhook no encontrado                         |
  </Accordion>

  <Accordion title="Enlaces cortos (11)">
    | `code`                            | Significado                                  |
    | --------------------------------- | -------------------------------------------- |
    | `CONFLICT`                        | Conversão já registrada                      |
    | `MSG_ID_REQUIRED`                 | Campo msg\_id obrigatório na conversão       |
    | `ORDER_ID_REQUIRED`               | Campo order\_id obrigatório na conversão     |
    | `SHORT_LINKS_DISABLED`            | Enlaces cortos desabilitados                 |
    | `SHORT_LINK_TARGET_BLOCKED_HOST`  | Host da URL de destino bloqueado             |
    | `SHORT_LINK_TARGET_IMAGE_CONTENT` | URL de destino aponta para imagem, no página |
    | `SHORT_LINK_TARGET_INVALID_URL`   | URL de destino inválida                      |
    | `SHORT_LINK_TARGET_NETWORK`       | Falha de rede ao validar URL de destino      |
    | `SHORT_LINK_TARGET_NOT_OK_HTTP`   | URL de destino retornou HTTP inválido        |
    | `SHORT_LINK_TARGET_REDIRECT`      | URL de destino redireciona demais            |
    | `SHORT_LINK_TARGET_TIMEOUT`       | Timeout ao validar URL de destino            |
  </Accordion>

  <Accordion title="Solicitud general (10)">
    | `code`                | Significado                            |
    | --------------------- | -------------------------------------- |
    | `BAD_GATEWAY`         | Bad gateway                            |
    | `BAD_REQUEST`         | Requisição inválida                    |
    | `FORBIDDEN`           | Sem permissão (escopo o recurso)       |
    | `INTERNAL_ERROR`      | Erro interno ao processar a requisição |
    | `INVALID_CHANNEL`     | Canal inválido                         |
    | `METADATA_TOO_LARGE`  | Campo metadata grande demais           |
    | `NOT_FOUND`           | Recurso no encontrado                  |
    | `NOT_IMPLEMENTED`     | Recurso ainda no implementado          |
    | `SERVICE_UNAVAILABLE` | Service unavailable                    |
    | `UNKNOWN_ERROR`       | Unknown error                          |
  </Accordion>

  <Accordion title="Voz (8)">
    | `code`                            | Significado                     |
    | --------------------------------- | ------------------------------- |
    | `VOICE_CALL_NOT_FOUND`            | Voice call not found            |
    | `VOICE_FROM_REQUIRED`             | Voice from required             |
    | `VOICE_INVALID_FROM_NUMBER`       | Voice invalid from number       |
    | `VOICE_RECORDING_FETCH_FAILED`    | Voice recording fetch failed    |
    | `VOICE_RECORDING_NOT_FOUND`       | Voice recording not found       |
    | `VOICE_RECORDING_URL_NOT_ALLOWED` | Voice recording url not allowed |
    | `VOICE_RECORDING_URL_REDIRECT`    | Voice recording url redirect    |
    | `VOICE_UNKNOWN_ACTION`            | Voice unknown action            |
  </Accordion>

  <Accordion title="Otros (16)">
    | `code`                      | Significado                                     |
    | --------------------------- | ----------------------------------------------- |
    | `CONNECT_PAGE_ERROR`        | Connect page error                              |
    | `CREATE_CONTACT_TASK_TITLE` | Create contact task title                       |
    | `FAILED`                    | Failed                                          |
    | `INSTANCE_CAPACITY_FULL`    | Capacidade de Instances cheia                   |
    | `INSTANCE_SUSPENDED`        | Instance suspended                              |
    | `MESSAGE_EDIT_FAILED`       | Falha ao editar mensagem                        |
    | `ORIGINS_NOT_CONFIGURED`    | Origins not configured                          |
    | `PENDING`                   | Pending                                         |
    | `PIPELINE_CARD_MOVE_TARGET` | Pipeline card move target                       |
    | `SEND_WEB_WIDGET_TRIGGER`   | Send web widget trigger                         |
    | `SES`                       | Ses                                             |
    | `TOO_MANY_REQUESTS`         | Too many requests                               |
    | `TRUST_DAILY_LIMIT`         | Workspace atingiu o teto diário do Trust Factor |
    | `UPDATE_CONTACT_TAGS_EMPTY` | Update contact tags empty                       |
    | `WORKSPACE_NOT_FOUND`       | Workspace not found                             |
    | `WORKSPACE_OWNER_NOT_FOUND` | Workspace owner not found                       |
  </Accordion>
</AccordionGroup>

***

## Próximos pasos

* \[Logs de API]\(/es/guides/logs/index
* \[API Keys]\(/es/guides/api-key/index
* \[Sandbox]\(/es/guides/sandbox/index
* \[Facturación y pago por uso]\(/es/guides/introducao/cobranca-e-pague-pelo-uso
