Skip to main content
A failed WhatsApp message returns a code from one of two places. Knowing which one you are looking at tells you who can fix it. A 4xxx or 900xxx code means the message was stopped before Meta ever saw it, so it was never charged and nothing reached the recipient. Those are the ones you can usually resolve yourself. Codes arrive on the delivery notification webhook at entry[0].changes[0].value.errors[0].code, alongside title, message, and error_data.details. See Meta’s webhook error reference and the delivery notification callback.
Meta’s error taxonomy changes independently of OneXtel. The Meta codes below are a snapshot of what OneXtel has observed — treat any unlisted code as non-retryable and check Meta’s Cloud API error reference for its current meaning.

Retry guidance

Every code below is marked with whether re-sending the same message is worthwhile:
The HTTP Status Code column appears only where a code is returned as an API response. Delivery-time codes arrive on the callback instead and have no HTTP status, so those tables omit the column.

Meta Cloud API errors

Authorization and policy

Raised when the app, token, or WhatsApp Business Account is not permitted to send.
Codes 0 and 190 are the only recoverable errors in this group — refresh the access token and resend. Codes 368, 130497, and 131031 are account-level restrictions that no amount of retrying will clear; raise them with OneXtel support.

Request and parameter

Raised when the request itself is malformed, or when Meta fails to process it.
Code 130472 is expected behaviour, not a fault: the recipient is part of a Meta experiment group that excludes them from delivery. Do not retry, and do not count it as a failure in delivery-rate reporting.

Rate limits

Raised when a throughput ceiling is hit — at the app, account, recipient, or messaging-quality level.
Code 131048 is a quality signal, not a throughput one. It means Meta has flagged your messaging as spam and is throttling delivery to protect recipients. Retrying makes the quality rating worse — review template content, opt-in provenance, and send frequency instead.

Message delivery

Raised after the message is accepted, when Meta cannot deliver it to the recipient.
131047 is the 24-hour customer service window closing, not a fault. Once more than 24 hours have passed since the recipient’s last message, only an approved template can be sent — see Send template messages.

Templates, flows and marketing

132015 and 132016 are quality outcomes, not request errors. A paused template can recover; a disabled one cannot. Both mean the template’s content or its recipients need attention, and neither is fixed by resending.

Payments and eligibility

OneXtel platform errors

Returned when OneXtel stops the message before it reaches Meta. Nothing was sent and nothing was charged.
900xxx codes are channel-specific. The same number means different things on different channels. 900118–900122 all mean something else on India SMS: 900118 is a blocked template category here but an encoding limit on SMS, and 900122 is a blacklisted recipient here but an expired account validity on SMS. Always interpret a platform code against the channel that produced it.
900120 and 900121 are both frequency ceilings, but only the daily one clears on its own. A monthly limit needs the cap raised before sending resumes.