What is an error response?
When something goes wrong, the API returns an HTTP status code and a stablecode field in the JSON. Use both to decide whether to fix the request, retry, or alert the user.
Think of it like a car dashboard: the light comes on (HTTP) and the manual says what’s wrong (code).
What is it for?
With error responses you can:- Automate handling in your code (retry, user message, internal alert)
- Debug faster with API logs
- Avoid relying on translated text in
message
Standard format
On all API v1 errors:missingVariables ({{…}} keys that were missing) and details (array { field, message } per field).
code + message. Legacy integrations that only read message should migrate to code.Most common HTTP codes
400: something in the request is wrong
400: something in the request is wrong
instanceId + sendingPoolId together), etc. Fix the body and try again.401: invalid or missing key
401: invalid or missing key
Authorization: Bearer sk_.... On an official WhatsApp line, an expired/invalid Meta token can also return 401 with META_TOKEN_EXPIRED / META_TOKEN_INVALID (key is fine; reconnect the instance).402: plan, credits, or spend limit
402: plan, credits, or spend limit
403: not allowed
403: not allowed
404: not found
404: not found
409: conflict
409: conflict
EMAIL_DOMAIN_ALREADY_REGISTERED). Use existing resource or change state first.422: rejected by provider
422: rejected by provider
EMAIL_DOMAIN_PROVIDER_ANTISPAM or EMAIL_DOMAIN_PROVIDER_REJECTED. Handle by code; use message (localized) for end users.429: too many requests
429: too many requests
SANDBOX_DAILY_LIMIT), or Trust Factor daily cap (TRUST_DAILY_LIMIT). Wait, reduce volume, or improve workspace score. See Trust Factor.502 / 503: temporary problem
502 / 503: temporary problem
EMAIL_DOMAIN_PROVIDER_UNAVAILABLE (502 or 503). Do not confuse with antispam (422).Special cases
Some flows do not follow the standard “error HTTP” pattern. Keep these in mind:Verify email domain (POST /v1/email/domains/:id/verify)
Scopes: email:domains:list or email:domains:create.
FELCA reports (POST /v1/report)
Public endpoint (no API Key). Errors use the same success: false envelope with code. Full guide: Report API (FELCA).
WhatsApp inbound media download
GET /v1/whatsapp/messages/inbound/{id}/media/download or POST .../media. Scope whatsapp:read. Types: image, audio, document, video, sticker (QR instance). See Inbound messages and replies.
Telegram inbound media download
GET /v1/telegram/messages/inbound/{id}/media/download or POST .../media. Scope telegram:read. Types: image, audio, video, document, sticker (Bot and User/QR).
Instagram inbound media download
GET /v1/instagram/messages/inbound/{id}/media/download or POST .../media. Scope instagram:read. Types: image, video, audio/voice.
Sending Pools (WhatsApp)
Guide: Sending Pools.CAMPAIGN_SENDING_POOL_INVALID (Campaigns section below).
Number protection (WhatsApp)
Guide: Anti-ban policy.Groups (WhatsApp, unofficial)
Guide: Groups. Unofficial instance only.Official Meta line (WhatsApp)
Guide: Official Meta templates. Withsk_live_, Meta gates run; in sandbox (sk_test_) they do not.
TEMPLATE_NOT_ALLOWED_FOR_INSTANCE and TEMPLATE_META_STRUCTURE_REQUIRES_OFFICIAL are under Templates below.
Full enum list (code)
All 245 public code values returned by the API v1. Internal platform codes are not listed. Expand each section to view the table. For the exact request that caused the error, open API logs.
Sandbox (1)
Sandbox (1)
Account and workspace (7)
Account and workspace (7)
Plan, credits, and queue (20)
Plan, credits, and queue (20)
WhatsApp (25)
WhatsApp (25)
Meta Cloud / official templates (10)
Meta Cloud / official templates (10)
SMS (4)
SMS (4)
Email (17)
Email (17)
Instagram (8)
Instagram (8)
Telegram (18)
Telegram (18)
Push (6)
Push (6)
RCS (1)
RCS (1)
Templates (6)
Templates (6)
Campaigns (13)
Campaigns (13)
Segments (4)
Segments (4)
Automations (graph) (47)
Automations (graph) (47)
Automation events (10)
Automation events (10)
Webhooks (5)
Webhooks (5)
Short links (11)
Short links (11)
General request (10)
General request (10)
Voice (8)
Voice (8)
Other (16)
Other (16)

