WhatsApp Cloud API · error code

WhatsApp error 100: Invalid parameter

ConfigurationHTTP 400Generic & request errors

Last verified against Meta for Developers - Cloud API error codes

What WhatsApp returns
The request included one or more unsupported or misspelled parameters.

What error 100 means

Code 100 is the Graph API's general-purpose validation failure: a parameter in your request is not recognized, is misspelled, or carries a value of the wrong shape. On the WhatsApp Cloud API it is probably the most frequent error during integration work, because the message payload is a nested JSON structure with many type-specific keys and a single wrong key name triggers it.

The useful information lives in error_data.details and often in the message string itself, which will say something like "Param text['body'] must be a non-empty UTF-8 string" or "(#100) Invalid parameter" followed by the path. Read that field before anything else. Meta's documentation also calls out two special cases: when setting a business public key it must be a valid 2048-bit RSA key in PEM format, and the phone number ID you register must match any previously stored one.

Code 100 does not indicate anything about permissions or account status. The request simply does not match the endpoint's schema.

Code 100 is synchronous and pre-queue: nothing was sent, nothing is billed, and nothing will arrive in a webhook, so a retry is safe once the payload is fixed. One gotcha specific to this code: every Graph API surface uses 100, so an integration that also calls Business Management or Marketing endpoints will see 100s with unrelated meanings - on the Marketing Messages API, for instance, it is documented for sends that are not template messages at all. Log the full message string, not just the number. For template parameter problems, compare 132000 (count mismatch) and 132012 (format mismatch), and validate the payload with the template checker; the field-by-field payload walkthrough in the error-code guide covers the shapes each message type accepts.

What it looks like

{
  "error": {
    "message": "(#100) Invalid parameter",
    "type": "OAuthException",
    "code": 100,
    "error_data": {
      "messaging_product": "whatsapp",
      "details": "Param text['body'] must be a non-empty UTF-8 string."
    },
    "fbtrace_id": "AbCdEfGhIjKlMnOpQr"
  }
}

Why it happens

  • Misspelled keys such as recepient_type, messaging_product missing, or text.body nested incorrectly.
  • A value of the wrong type, for example a number where a string is required or a string "true" where a boolean is expected.
  • Sending a field that belongs to a different message type, such as caption on a text message.
  • Invalid phone number in the to field, including a leading plus sign or spaces.
  • Template language code that does not exist, or a components array with an unknown component type.
  • A malformed RSA public key when calling the business encryption endpoint.

How to fix WhatsApp error 100

  1. 1Read error_data.details and the message string; they usually name the exact parameter path.
  2. 2Compare your payload key by key against the reference example for that message type.
  3. 3Normalize the recipient to digits only with country code and no plus sign.
  4. 4Remove any fields that do not belong to the message type you are sending.
  5. 5For template sends, confirm the language code matches exactly what WhatsApp Manager shows, such as en_US not en-US.
  6. 6Retry with the corrected body and capture the successful payload as a fixture for tests.

How to stop it recurring

Build payloads through typed builders or a JSON schema per message type so that unknown keys and wrong types are rejected in your own code, and keep one known-good request per type in your test suite. Surface error_data.details in logs verbatim; it is the fastest route from a code 100 to the offending field.

Official reference: Meta for Developers - Cloud API error codes. See all WhatsApp error codes or the WhatsApp limits and quotas.

Related codes

Error 100 - quick answers

What does WhatsApp error 100 mean?

Code 100 is the Graph API's general-purpose validation failure: a parameter in your request is not recognized, is misspelled, or carries a value of the wrong shape. On the WhatsApp Cloud API it is probably the most frequent error during integration work, because the message payload is a nested JSON structure with many type-specific keys and a single wrong key name triggers it.

How do I fix WhatsApp error 100?

1. Read error_data.details and the message string; they usually name the exact parameter path. 2. Compare your payload key by key against the reference example for that message type. 3. Normalize the recipient to digits only with country code and no plus sign. 4. Remove any fields that do not belong to the message type you are sending. 5. For template sends, confirm the language code matches exactly what WhatsApp Manager shows, such as en_US not en-US. 6. Retry with the…

Stop debugging WhatsApp by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.