TL;DR: WhatsApp error
131009("Parameter value is not valid") means a field in your request has the right name but a value Meta cannot use. It is a request problem, not an account problem. Readerror_data.detailswhen present, compare values with the endpoint reference, and correct the request before resending.
What Error 131009 Means
Meta describes this code as one or more invalid parameter values. HTTP status is 400. Where error 100 is the general "invalid parameter" code, 131009 is WhatsApp's more specific variant for invalid values. The value may have the wrong format, be outside a supported range, or refer to an unavailable object. The code alone does not identify the field.
{
"error": {
"message": "(#131009) Parameter value is not valid",
"type": "OAuthException",
"code": 131009,
"error_data": {
"messaging_product": "whatsapp",
"details": "One or more parameter values are invalid."
},
"fbtrace_id": "..."
}
}
Where You See It
An immediate API error on the send or management call. On the Dualhook Runtime API the Meta error is relayed unchanged with an added X-Dualhook-Request-Id. Also monitor webhook failures because a successful send response does not guarantee delivery. Runtime health emails count HTTP request failures, not later delivery failures.
Common Causes
Use the error details to decide which values to check. These are validation checks, not guarantees that every mistake returns this particular code:
- Field formats and limits. Check supported enum values, maximum lengths, media objects, and template parameter types against the endpoint reference.
- Phone numbers and IDs. Confirm international phone-number formatting, the sender's registration, and that IDs refer to the intended object and account.
- Reactions. Use the exact message ID received in the webhook and a valid emoji. An old or unavailable reaction target does not by itself prove error 131009; inspect the actual response and status webhook.
- Marketing Messages API. Meta separately documents incomplete ad syncing as a possible cause of 131009 on this API, with a 10-minute wait before retrying. That exception is not a general retry rule for Cloud API sends.
How to Fix It
- Read
error_data.detailswhen present and keep the full error object for diagnosis. - Compare the named value with the endpoint reference. Check format, supported values, and length limits.
- For message IDs, use the exact value from the webhook or send response. For phone numbers and other assets, confirm the correct account and sender.
- Correct the request before resending. Only apply the 10-minute retry exception when using the Marketing Messages API and incomplete ad syncing is the likely cause.
How to Prevent It
- Validate each message type against its own schema, including permitted values and lengths.
- Store message IDs verbatim and associate them with the correct connection and recipient.
- Log the HTTP response and webhook failure statuses, including error details when supplied.
Related Errors
/docs/whatsapp-error-100: the general invalid-parameter code./docs/whatsapp-error-131008: a required parameter is missing./docs/whatsapp-error-132000: template variable count mismatch.- See the full error reference
FAQ
What is WhatsApp error 131009? One or more parameter values are invalid. Compare the values with the endpoint reference and read error_data.details when supplied.
Is 131009 the same as error 100? They overlap. Error 100 commonly concerns unsupported or misspelled parameters; 131009 specifically reports invalid values. Neither code alone identifies the offending field.
Can I retry 131009? Correct the invalid value first. For the Marketing Messages API only, Meta also documents incomplete ad syncing and recommends waiting 10 minutes before retrying that case.
Why does a reaction fail with 131009? Check the reaction parameters and error details, including the message ID and emoji. Do not infer this code solely from the target message being old or unavailable.
How Dualhook Helps
Dualhook relays Meta's 131009 unchanged, including error_data.details and fbtrace_id, so the diagnosis is in the response. If a connection keeps receiving 131009 on sends, the organization's admins receive a runtime health email pointing here. Dualhook never retries sends on your behalf; see Runtime API Errors for the runtime-side failures that sit next to this one.
Sources: Meta error codes, including Marketing Messages API errors and reaction messages. Checked September 6, 2026.