Opt-Outs
Add Opt-Outs
Suppress up to 10,000 contacts in one call so campaigns and messages skip them π«
POST
Add Opt-Outs
Endpoint
Request body
entries array (required)
Each object names one WhatsApp contact to suppress. Maximum 10,000 per request β send the rest in further calls.
The same contact listed twice counts once, so the returned counts can sum to less than the number of entries you sent.
Examples
Suppress by phone number
Suppress by phone number
The common case for a consent export.
Suppress by Business-Scoped User ID
Suppress by Business-Scoped User ID
Use
userId when your records key on the BSUID you received in a webhook rather than a phone number.Mixed identifiers in one request
Mixed identifiers in one request
You can mix phone numbers and BSUIDs freely.
Response
The API returns HTTP200 with a data object. Counts are over the contacts you named, not rows stored.
Success response
Error responses
Unreadable entries are dropped and counted β they do not fail the batch. The request fails outright only when no entry survives.
Quote
cntTraceId when reporting a failure β it identifies the request in our logs.
Rejection reasons
No entry could be read
No entry could be read
Returned as HTTP
400 when every entry was rejected, rather than a 200 with an empty result.Too many entries
Too many entries
Returned when
entries exceeds 10,000. Split the list across calls.Rate limiting
This endpoint is limited to 60 requests per minute. Exceeding this returns HTTP429 Too Many Requests. At 10,000 contacts per call that is well above what a daily consent sync needs β use exponential backoff if you expect to approach it.