Skip to content

Error codes

Every error has the same shape:

json
{"errors": [{"code": "application_credit_exhausted", "message": "The application OTP wallet is empty. Transfer credit from the company wallet."}]}
Code HTTP Meaning
invalid_key 401 Missing, malformed or revoked API key
rate_limited 429 Too many requests for this key (see Retry-After)
target_required 422 The key covers several apps; send target
target_invalid 422 target isn't app or app:branch
target_mismatch 422 app_id and target name different apps
application_credit_exhausted 402 OTP only: this app's balance is empty; transfer credit from the company wallet
quota_exceeded 402 OTP only: a company or legacy monthly quota cannot cover the request
platform_credit_exhausted 503 Takeed's provider inventory is temporarily empty; contact support—the app is not charged
platform_credit_closed 409 The same provider reservation was already refunded; retry only with a new request
invalid_request 422 A field is missing or malformed
not_found 404 No such app, branch or resource for this key (SDK: no app with this App ID, or no such subscription)
invalid_ip 422 user_ip is missing, private, reserved, or your own server's IP
invalid_phone 422 phone isn't E.164
blocked_country 422 The app doesn't send to that country code
phone_rate_limited 429 Too many codes for this number
ip_rate_limited 429 Too many codes from this IP
ip_blocked 429 Too many refused requests from this IP
app_rate_limited 429 The app is sending too many codes right now
code_required 422 Managed mode is off: send code
invalid_code_format 422 code must be 4–10 letters or digits
sender_suspended 503 The app's sender is suspended and fallback is off
not_managed 422 Verify deliver-mode codes on your side
code_invalid 422 Wrong code
code_expired 410 The code expired
code_not_delivered 410 The code was never delivered
too_many_attempts 429 Too many wrong attempts
already_verified 409 The code was already used
no_audience 422 Choose segments, filters or External IDs
segment_not_found 422 Unknown segment name
segment_exists 409 A segment with that name exists
invalid_filter 422 Unsupported filter
invalid_send_after 422 Bad date, or more than 30 days ahead
not_cancelable 409 Only scheduled or sending notifications can be canceled
payload_too_large 413 (SDK) The request body is over 64 KB
too_many_tags 422 A user holds at most 100 tags
segment_limit 422 An app holds at most 500 segments
origin_not_allowed 403 (SDK) The website isn't in the app's allowed origins
invalid_token 422 (SDK) The push token or endpoint is invalid
unknown_platform_config 422 (SDK) No Firebase project or Bundle ID in the app or the device's branch matches the device
identity_verification_failed 401 (SDK) Missing or wrong identity_hash
invalid_external_id 422 (SDK) External IDs are 1–128 characters

Try it on your own number: your first organization comes with 5 free WhatsApp codes.

Create account