Learn common WhatsApp API errors, what they mean, and how to fix them. Troubleshoot WhatsApp Business API error codes and avoid message failures.
You built the
integration, approved the templates, and launched your WhatsApp campaign. Then
the errors started. A 131030 here. A 132001 there. Messages failing silently,
deliveries dropping, and a growing list of error codes that the documentation
barely explains.
WhatsApp API
errors are inevitable at scale. With over 130 documented error codes across
authentication, messaging, templates, media, and infrastructure categories,
even experienced developers encounter issues that require careful diagnosis.
The difference between a team that resolves errors quickly and one that loses
days troubleshooting the same issue is a clear, comprehensive understanding of
what each error means, why it occurs, and exactly how to fix it.
This guide is your complete WhatsApp API error reference for 2026 — covering every major error code category, the most commonly encountered errors with step-by-step fixes, and a framework for building error handling directly into your integration so most issues resolve automatically before they ever affect your customers.
|
130+ Documented WhatsApp API Error Codes |
40%+ Of All API Issues Are Template-Related |
85%+ Of Failed Messages Recovered With Retry
Logic |
|
131030 Most Common High-Volume Error Code |
70% Faster MTTR With Webhook Error
Monitoring |
15–20% Message Delivery Lost Without Error
Handling |
1. Why Understanding WhatsApp API Errors
Matters
The Real Cost of Unresolved API Errors
Every unhandled
WhatsApp API error is a message that did not reach a customer. At low volumes
this is an inconvenience. At scale — sending tens of thousands of messages per
day — unresolved errors represent a direct, measurable revenue loss. Businesses
without proper error handling lose an estimated 15 to 20 percent of their
message delivery to avoidable failures. Beyond the immediate delivery loss,
recurring errors that go unmonitored can damage your number's quality rating,
trigger tier downgrades, and in severe cases lead to messaging restrictions
across your entire account.
The good news
is that most WhatsApp API errors are entirely preventable with the right
validation logic, and most of those that do occur are automatically recoverable
with proper retry handling. The challenge is knowing which errors fall into
which category — and that is precisely what this guide addresses.
How WhatsApp API Errors Are Structured
WhatsApp API errors follow a consistent structure in their JSON response payload. Every error response includes an error code (a numeric identifier), an error title (a short human-readable label), an error message (a more detailed description), and in many cases an error data object containing additional context such as the specific parameter that failed or the policy that was violated. Understanding this structure is the first step to building an error handling system that can interpret, log, and respond to failures intelligently.
2. WhatsApp API Error Code Categories — The
Big Picture
WhatsApp API
errors are grouped into logical categories that reflect the nature of the
failure. Understanding which category an error falls into immediately tells you
where to start your investigation.
Authentication Errors (4xx Range)
Authentication
errors occur when your API request cannot be validated. Common causes include
an expired or invalid access token, insufficient permissions on your Meta app,
or a misconfigured webhook. These errors prevent any API call from succeeding
and must be resolved at the credential or configuration level before any
messaging can proceed.
Rate Limiting Errors
Rate limiting
errors indicate that your account has exceeded the number of messages or API
calls permitted within a given time window. The most commonly encountered rate
limit error — 131030 — fires when you attempt to exceed your daily
business-initiated conversation limit for your current messaging tier. These
errors are temporary and resolve when the rolling window resets or your tier is
upgraded.
Message Errors (1xx Range)
Message errors
relate to issues with the specific message being sent — including invalid
recipient numbers, unsupported message types, media failures, and session
window violations. These are the most frequent error category in day-to-day API
operations and the most varied in terms of causes and fixes.
Business Account Errors (2xx Range)
Business
account errors reflect issues with your WhatsApp Business Account configuration
— including unverified business status, policy violations, or account-level
restrictions. These errors typically require intervention at the account
management level rather than a code-level fix.
Server and Infrastructure Errors (5xx Range)
Server errors indicate a temporary issue on Meta's infrastructure or your BSP's platform. These errors are not caused by anything in your API request and typically resolve on their own within minutes. They are the safest category of errors to auto-retry.
3. The Most Common WhatsApp API Error Codes
Explained
The following error cards cover the most frequently encountered WhatsApp API errors. Each card includes the error code, category, a plain-English description, the most common causes, and the specific steps to resolve it.
|
Error 0 Unknown |
Unknown
or Unclassified Error Why it happens: An unidentified error occurred on Meta's infrastructure, or
the error does not map to a known code. Often transient and temporary. How to
fix: Implement
exponential backoff retry logic. If the error persists beyond 5 retries,
escalate to your BSP support team with the full error response payload and
request ID. |
|
Error 100 Invalid Param |
Invalid
or Missing Parameter Why it happens: A required field in your API request is missing, malformed, or
contains an invalid value. The error data field will specify which parameter
failed validation. How to
fix: Check the error
data object for the specific parameter name. Validate all required fields
against the WhatsApp API documentation. Never send requests without schema
validation on your end first. |
|
Error 131026 Delivery |
Message
Undeliverable to Recipient Why it happens: The message could not be delivered to the recipient. Common
causes include an invalid or unregistered phone number, the recipient has
blocked your business, or their device is unreachable. How to
fix: Validate the
recipient's phone number using the WhatsApp phone number lookup endpoint
before sending. Remove invalid numbers from your database. Check if the
contact has opted out or blocked your account. |
|
Error 131030 Rate Limit |
Messaging
Rate Limit Exceeded Why it happens: You have hit your daily business-initiated conversation limit
for your current messaging tier. This is the single most common high-volume
error. How to
fix: Queue the failed
messages and retry once the 24-hour rolling window resets. Implement message
queuing at the application level to prevent burst sending. Work toward a tier
upgrade by consistently sending high-quality messages at your current
ceiling. |
|
Error 131047 Re-engagement |
Re-engagement
Message Blocked Why it happens: You attempted to send a free-form message to a user after
their 24-hour session window has expired. Free-form replies are only
permitted within an active session. How to
fix: Switch to an
approved template message for re-engaging users outside the session window.
Ensure your system tracks session window status for each contact and routes
expired sessions to template-based flows automatically. |
|
Error 131051 Msg Type |
Unsupported
Message Type Why it happens: The message type you attempted to send is not supported in the
current context — for example, sending a reaction or poll in a
business-initiated conversation where it is not permitted. How to
fix: Check the
WhatsApp API documentation for supported message types in your specific
context. Replace unsupported message types with a supported alternative such
as a text or media template. |
|
Error 131052 Media |
Media
File Download Failed Why it happens: WhatsApp's servers were unable to download the media file from
the URL provided in your API request. The URL may be expired, require
authentication, return a non-200 status, or the file type may be unsupported. How to
fix: Ensure all media
URLs are publicly accessible without authentication. Check that the URL
returns the correct content type header. Verify the file format and size are
within WhatsApp's limits. Use a reliable CDN to host media files. |
|
Error 131056 Account |
Business
Account Not Verified Why it happens: Your WhatsApp Business Account has not completed Meta's
business verification process. Certain API features and higher messaging
tiers require a verified account. How to
fix: Complete
business verification through Meta Business Manager. Submit accurate business
documentation. Verification typically takes 2 to 7 business days. Do not
attempt to run production campaigns before verification is complete. |
|
Error 132000 Template |
Template
Parameter Count Mismatch Why it happens: The number of variable parameters passed in your API call does
not match the number of placeholders defined in your approved message
template. How to
fix: Count the
numbered placeholders in your template ({{1}}, {{2}}, {{3}} etc.) and ensure
your API call passes exactly the same number of parameters in the correct
sequential order. Automate this validation in your pre-send logic. |
|
Error 132001 Template |
Template
Not Found Why it happens: The template name specified in your API call does not exist,
was deleted, was rejected, or the language code does not match an approved
template variant. How to
fix: Verify the exact
template name and language code in your WhatsApp Manager dashboard. Check
whether the template was rejected or paused. Ensure you are referencing the
template with the precise name it was approved under — including case
sensitivity. |
|
Error 132007 Template |
Template
Policy Violation Why it happens: Your message template contains content that violates
WhatsApp's Business Policy — including prohibited industries, misleading
content, or marketing language in a utility template. How to
fix: Review the
specific policy violation noted in the error response. Remove or revise the
non-compliant content. Resubmit for Meta approval. If you believe the
rejection was in error, use the appeal process in WhatsApp Manager. |
|
Error 133004 Server |
Server
Temporarily Unavailable Why it happens: Meta's WhatsApp API servers or your BSP's infrastructure
experienced a temporary outage or degradation. This is not caused by your
request. How to
fix: This is a fully
retryable error. Implement exponential backoff retry logic and the message
will typically succeed within 1 to 3 retry attempts. Monitor Meta's API
status page during extended outages. |
|
Error 135000 User Error |
Generic
User-Level Error Why it happens: A catch-all error for user-related issues that do not map to a
more specific code. Often indicates a problem with the recipient's account
status or eligibility. How to
fix: Check whether
the recipient's phone number is active on WhatsApp. Verify the contact has
not been removed from WhatsApp or changed their number. Review the error data
object for any additional context provided. |
4. Authentication and Access Errors — Causes
and Fixes
Invalid Access Token Errors
Authentication
errors are among the most disruptive because they prevent all API calls from
succeeding until resolved. Invalid access token errors occur when your token
has expired (System User tokens can be set to never expire — use these for
production), when the token was generated for a different app or environment,
or when the token's permissions were modified after generation. The fix is to
regenerate a valid System User access token with the correct permissions from
Meta Business Manager and update it across all environments where the API is
used.
Permission and Scope Errors
Permission
errors occur when your Meta app does not have the required scopes approved for
the API calls you are making. Common missing permissions include
whatsapp_business_messaging, whatsapp_business_management, and pages_messaging.
Check your app's permissions in the Meta App Dashboard and request any missing
scopes. Note that some permissions require Meta's manual review and approval
before they are granted.
Webhook Configuration Errors
Webhook errors occur when Meta cannot successfully deliver event notifications to your webhook endpoint. Common causes include your endpoint returning a non-200 response code, SSL certificate issues on your server, your endpoint being temporarily unreachable, or a mismatch between your configured webhook verify token and your server's validation logic. Test your webhook using Meta's webhook testing tool and check your server logs for incoming webhook requests to diagnose the issue.
5. Template Message Errors — How to Diagnose
and Fix Them
Why Template Errors Are the Most Common Issue
Template-related
errors account for over 40% of all WhatsApp API issues reported by developers —
and it is easy to understand why. Templates must be pre-approved by Meta, they
must be referenced by exact name and language code in every API call, they require
precisely matched parameter counts, and they can be paused or rejected at any
time if they receive negative user feedback. Each of these requirements creates
multiple potential failure points that must all be managed correctly for every
message sent.
Template Rejection Errors and How to Appeal
When a template
is rejected during Meta's review process, you will receive a rejection
notification with a reason code. Common rejection reasons include prohibited
content or industry references, marketing language submitted in a utility or
authentication template category, placeholder variables that are too open-ended
or could be used for policy violations, and templates that duplicate existing
approved templates. To appeal, revise the template based on the rejection
reason and resubmit. If you believe the rejection was incorrect, you can raise
an appeal through the WhatsApp Manager template management interface — though
appeals are reviewed manually and can take several business days.
Parameter Mismatch Errors — Step-by-Step Fix
Parameter
mismatch errors (error 132000) are almost always caused by a disconnect between
the template as it exists in WhatsApp Manager and the template as it is
referenced in your codebase. Follow these steps to resolve them:
1.
Open WhatsApp Manager and
locate the template by its exact name
2.
Count every numbered
placeholder: {{1}}, {{2}}, {{3}} — note the total count
3.
Open your API call code and
count the parameters in the components array
4.
If the counts do not match,
update your code to pass exactly the correct number
5.
Ensure parameters are in
sequential order with no gaps or duplicates
6. Add automated parameter count validation to your pre-send logic to prevent recurrence
6. Media and File Errors — What Goes Wrong
and Why
Supported vs. Unsupported Media Types
WhatsApp
supports specific media formats for each message type. Images must be JPEG or
PNG. Audio must be AAC, MP4, MPEG, AMR, or OGG with OPUS encoding. Video must
be MP4 or 3GPP. Documents can be PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, or
several other formats. Stickers must be WebP. Attempting to send any format
outside these supported types will generate error 131051 or 131052. Always
validate file types before sending and convert to a supported format if
necessary.
File Size Limit Errors
WhatsApp
enforces file size limits that vary by media type. Images are limited to 5MB.
Audio files are limited to 16MB. Video files are limited to 16MB. Documents are
limited to 100MB. Exceeding these limits causes a delivery failure. Compress
media files before sending wherever possible, and add file size validation to
your pre-send pipeline to catch oversized files before the API call is made.
CDN and Hosted Media URL Errors
Media URL errors are among the most frustrating to diagnose because they often appear to work in testing and then fail in production. The most common causes are URLs that require authentication cookies or headers that WhatsApp's servers cannot provide, URLs that return redirect responses rather than direct file downloads, URLs generated with expiring signed tokens that expire between the time the message is queued and when it is sent, and CDN configurations that block Meta's IP ranges. Host all WhatsApp media on a public CDN with stable, non-expiring URLs and test accessibility from an external network before sending.
7. Delivery Failure Errors — When Messages
Don't Reach Recipients
Phone Number Validation Errors
Sending to an
invalid or unregistered phone number is one of the most common causes of
delivery failures. Phone numbers must include the correct country code, contain
no spaces or special characters (other than the leading plus sign), and be
registered on WhatsApp. Use the WhatsApp phone number lookup API endpoint to
validate numbers before adding them to your send queue. Remove numbers that
return a negative lookup result immediately — they will never deliver and
repeated attempts to send to them waste API quota and can negatively impact
your quality rating.
User Opt-Out and Blocked Contact Errors
When a
recipient blocks your business or opts out of your messaging, subsequent
delivery attempts will fail silently or return a delivery error. WhatsApp does
not always provide a specific error code distinguishing a block from a network
failure — error 131026 covers both scenarios. Your system should track delivery
status via webhook callbacks: messages that consistently return a failed
delivery status for a specific contact should be automatically suppressed from
future sends and flagged for manual review.
Network and Carrier-Level Delivery Failures
Some delivery failures occur at the network or carrier level and are entirely outside your control — the recipient's phone is offline, out of coverage, or their SIM has been deactivated. WhatsApp will attempt to deliver messages for up to 30 days before marking them as permanently failed. Track delivery status through webhook status updates (sent, delivered, read, failed) and implement business logic that escalates contacts with persistent delivery failures to alternative contact channels such as email or SMS.
8. Building Error Handling Into Your
WhatsApp API Integration
Retryable vs. Non-Retryable Error Classification
The most important distinction in WhatsApp API error handling is between errors that are safe to retry automatically and errors that require manual intervention before retrying. Retrying a non-retryable error wastes API quota, can worsen your quality rating, and in some cases can escalate a temporary restriction into a more serious one.
|
Error Code |
Description |
Retryable? |
Action |
|
0 |
Unknown
Server Error |
Yes |
Auto-retry
safe |
|
100 |
Invalid
Parameter |
No |
Fix first,
then retry |
|
131026 |
Message
Undeliverable |
No |
Fix first,
then retry |
|
131030 |
Rate Limit
Exceeded |
Yes |
Auto-retry
safe |
|
131047 |
Session
Window Expired |
No |
Fix first,
then retry |
|
131051 |
Unsupported
Msg Type |
No |
Fix first,
then retry |
|
131052 |
Media
Download Failed |
No |
Fix first,
then retry |
|
131056 |
Account Not
Verified |
No |
Fix first,
then retry |
|
132000 |
Parameter
Mismatch |
No |
Fix first,
then retry |
|
132001 |
Template Not
Found |
No |
Fix first,
then retry |
|
132007 |
Template
Policy Violation |
No |
Fix first,
then retry |
|
133004 |
Server
Unavailable |
Yes |
Auto-retry
safe |
|
135000 |
Generic User
Error |
No |
Fix first,
then retry |
Implementing Retry Logic and Exponential Backoff
For retryable
errors, implement exponential backoff — a retry strategy that progressively
increases the wait time between each retry attempt to avoid overwhelming the
API during periods of high load or temporary unavailability. A standard
implementation waits 1 second before the first retry, 2 seconds before the
second, 4 seconds before the third, 8 seconds before the fourth, and so on up
to a maximum retry count of 5 to 7 attempts. If all retries fail, move the
message to a dead-letter queue for manual review rather than dropping it
silently.
Setting Up Webhook Error Monitoring
WhatsApp
delivers message status updates — sent, delivered, read, and failed — to your
webhook endpoint in real time. Configure your webhook handler to capture all
failed status events, log the associated error code and recipient, trigger
alerts when failure rates exceed a defined threshold (for example, more than 2%
of messages failing within a 15-minute window), and automatically suppress
repeated send attempts to contacts with persistent delivery failures.
Webhook-based monitoring reduces mean time to resolution for API errors by up
to 70% compared to reactive log checking.
Building an Error Logging and Alerting System
Every WhatsApp
API error should be logged with the full error response, the message payload
that triggered it, a timestamp, the recipient identifier, and the template name
if applicable. Structure your logs so they can be queried by error code, time
range, and recipient to support efficient debugging. Set up automated alerts —
via Slack, PagerDuty, email, or your preferred tool — for any new error codes
that appear in your logs, sudden spikes in known error rates, and any
authentication or account-level errors that require immediate human attention.
Testing Your Integration With Error Simulation
Before going live, test your error handling by intentionally triggering known errors in your staging environment. Send to an invalid phone number to test error 131026 handling. Pass an incorrect parameter count to test 132000 handling. Reference a non-existent template to test 132001 handling. Verify that your retry logic fires correctly for server errors. Confirm that your webhook handler captures and logs failed delivery events. A thorough error simulation test prevents production surprises and validates that your handling logic works as intended before real customers are affected.
9. WhatsApp API Error Prevention — Best
Practices Checklist
Pre-Send Validation Checklist
Implement the
following validations before every API call to prevent the most common errors
before they occur:
•
Validate recipient phone
number format — correct country code, digits only, no spaces
•
Verify phone number is
registered on WhatsApp using the lookup endpoint
•
Confirm the recipient has
an active opt-in and has not been suppressed
•
Check session window status
— route expired sessions to template flows automatically
•
Validate template name,
language code, and parameter count against your template registry
•
Verify media URLs are
publicly accessible and return the correct content type
•
Check media file size
against WhatsApp's format-specific limits
•
Confirm your access token
is valid and will not expire during the send window
• Verify your account is not approaching or at its daily tier messaging limit
Template Management Best Practices
•
Maintain a central template
registry with name, language code, category, and parameter count for every
approved template
•
Never delete or rename
approved templates that are actively referenced in your codebase
•
Monitor template quality
ratings in WhatsApp Manager weekly — pause underperforming templates before
they are flagged
•
Keep backup templates ready
for each core message type so delivery can continue if a primary template is
paused
•
Build template approval
lead time into your campaign planning — allow at least 72 hours for new
template approvals
• Always categorise templates correctly — never submit marketing content as utility to avoid restrictions
Ongoing API Health Monitoring
•
Monitor your WhatsApp
Business Account quality rating daily in WhatsApp Manager
•
Track your daily message
volume against your tier ceiling and alert when within 20% of the limit
•
Subscribe to Meta's API
status page for infrastructure incident notifications
•
Review your error log daily
for any new error codes or unusual spikes in known errors
•
Audit your webhook
processing pipeline monthly to ensure no events are being dropped or missed
• Review and update your error handling code whenever Meta publishes API documentation updates
Frequently Asked Questions (FAQ)
These FAQs target high-intent developer search queries and are optimised for featured snippet ranking.
Q: What does WhatsApp API
error 131030 mean?
A: Error 131030 means you have exceeded your daily
business-initiated messaging limit for your current tier. This happens when you
attempt to send more conversations than your tier allows within the rolling
24-hour window. The fix is to queue additional messages for the next window,
implement message rate limiting in your application, and work toward a tier
upgrade by consistently sending high-quality messages at your current ceiling.
Q: Why are my WhatsApp
API messages failing to deliver?
A: Delivery failures are most commonly caused by an
invalid or unregistered recipient phone number, the recipient having blocked
your business, the recipient's device being offline, your number having a
quality rating restriction, or the message being sent outside the 24-hour
session window without using an approved template. Check your webhook failure
events for the specific error code to narrow down the cause.
Q: What is WhatsApp API
error 132001?
A: Error 132001 means the message template specified in
your API call does not exist or could not be found. This is usually caused by a
typo in the template name, using the wrong language code, referencing a
template that was deleted or rejected, or a case sensitivity mismatch. Verify
the exact template name and language code in your WhatsApp Manager dashboard
and update your code accordingly.
Q: How do I fix WhatsApp
API template parameter errors?
A: Template parameter errors (error 132000) occur when
the number of variables passed in your API call does not match the number of
placeholders in your approved template. Count the {{1}}, {{2}} placeholders in
your template and ensure your API call passes exactly the same number of
parameters in the correct sequential order. Add automated parameter count
validation to your pre-send logic to prevent recurrence.
Q: What causes WhatsApp
API error 131047?
A: Error 131047 is a re-engagement block. It occurs when
you attempt to send a free-form message to a user after their 24-hour session
window has expired. Once a user's session expires, you can only contact them
using a pre-approved template message. Switch to an approved re-engagement
template and ensure your system automatically tracks session window status for
every contact.
Q: How do I implement
retry logic for WhatsApp API errors?
A: Implement exponential backoff retry logic for
retryable errors — when a message fails with a server error or temporary rate
limit, wait progressively longer before retrying: 1 second, then 2, then 4,
then 8, up to a maximum of 5 to 7 attempts. Non-retryable errors such as
invalid parameters or policy violations should never be retried without fixing
the underlying issue first. Move permanently failed messages to a dead-letter
queue for manual review.
Q: What is the difference
between retryable and non-retryable WhatsApp API errors?
A: Retryable errors are temporary conditions that may resolve on their own — such as server unavailability (133004), unknown errors (0), or rate limit resets (131030). Non-retryable errors indicate a permanent issue requiring manual intervention — such as invalid parameters (100), template violations (132007), or undeliverable recipients (131026). Retrying non-retryable errors wastes API quota and can worsen your account's quality rating.
Conclusion: Turn Errors Into an Engineering
Advantage
WhatsApp API
errors are not a sign that something is fundamentally broken — they are
precise, documented signals from the platform telling you exactly what needs to
change. The businesses and development teams that treat error handling as a
core engineering discipline, rather than an afterthought, consistently achieve
higher message delivery rates, faster incident resolution, and stronger account
health than those who react to errors after the fact.
Build your
error classification logic early. Implement retry handling from day one.
Monitor your webhook events in real time. Validate every message before it
reaches the API. And keep your template registry current and your account
health metrics in view every single day. Do these things consistently and most
WhatsApp API errors will never reach your customers in the first place.
The platform is powerful. The errors are manageable. The competitive advantage belongs to the teams who handle both with equal professionalism.