Error 190 · HTTP 401
Access token expired or invalid
An account outage that will disguise itself as thousands of contact failures.
Cause. The token itself is no longer valid. Every send on this phone number will fail identically until the WABA is reconnected.
Fix. Reconnect the WhatsApp Business Account and store a new token. Do not retry and do not suppress the contact: nothing about this message is wrong, so failing contacts one at a time hides an account-level outage behind thousands of per-contact errors.
One cause, every message
The access token is invalid or expired. Every send on the line will fail identically until the WhatsApp Business Account is reconnected; nothing about any individual message or recipient is wrong.
The failure mode worth designing against
A platform that handles errors per-contact will record thousands of individual failures and, if it suppresses on permanent errors, quietly mark a large part of the audience unreachable. The dashboard fills with contact-level problems while the actual problem is one expired credential.
So the right response is an alert, deduplicated to one, not a per-message outcome. Retrying does nothing and suppressing does worse than nothing.
Handling
Raise an account-level alarm and stop the queue. Reconnect the WABA and store a new token. Do not suppress recipients, and do not let a campaign tail generate one alert per message.
The whole table, free
Every code we document, with the handling decision each one implies, as an open dataset. The flags are generated by running the same classifier our production send path uses, so it cannot describe behaviour the software does not have. CC-BY, CORS open.
