WhatsApp API error codes

Every error the Wapito WhatsApp API returns is one JSON envelope: { error: { code, message, details?, request_id } }. The HTTP status says how badly the call went; the snake_case code says exactly why, and is what your client branches on. The error codes below link to each one's cause, fix steps and retry advice.

4xx — the request, the credential or the channel needs a change

CodeHTTPMeaningRetry
invalid_request400Request failed validation
No
invalid_recipient400Recipient is not valid
No
unauthorized401Missing or invalid token
No
token_revoked401Channel token was revoked
No
plan_required402Premium channel required
No
forbidden403Action not allowed
No
channel_locked403Channel is locked
No
not_found404Resource does not exist
No
not_on_whatsapp404Number is not on WhatsApp
No
message_not_found404Message does not exist
No
channel_not_connected409Channel not connected
Retryable
channel_not_in_qr_state409Not waiting for a QR
Retryable
business_account_required409Needs Business app
No
payload_too_large413Payload is too large
No
unsupported_media_type415Media type rejected
No
webhook_url_invalid422Webhook URL rejected
Retryable
reachout_timelocked423Reach-outs timelocked
Retryable
rate_limited429Too many requests
Retryable
quota_exceeded429Plan quota exhausted
Retryable
send_rate_limited429Send queue saturated
Retryable
cold_send_limit429Cold-send cap reached
Retryable
warmup_limit429Warm-up ladder cap reached
Retryable

5xx — Wapito or the WhatsApp engine failed

CodeHTTPMeaningRetry
internal_error500Unexpected Wapito failure
Retryable
engine_unsupported_feature501Other engine only
No
feature_not_available501Not available yet
No
engine_error502WhatsApp engine error
Retryable
engine_unavailable503Engine unreachable
Retryable
engine_timeout504Engine did not answer in time
Retryable

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.