Changelog · back to all
Record messaging preferences over the API
The messaging preference store is now a public API. Preferences are stated consent grants and opt-outs, keyed by channel and handle (an email address or phone number), and they already decide delivery for every send: an opt-out blocks marketing traffic, and one recorded for all messages blocks transactional traffic too.
What's new
GET/POST /v1/preferencesandGET/DELETE /v1/preferences/{preference_id}are available to API keys carrying the newpreferencesscope. Recording a grant withconsented_atevidence is also the documented way to resume mailing someone after an unsubscribe.- The
bird preferencesCLI group and matching MCP tools cover the same operations, and all four SDKs gain apreferencesresource with typed results. - Four webhook event types are now public:
preference.granted,preference.revoked,preference.deleted, andwhatsapp_suppression.created. Each fires only when a statement actually changes a record.
Statements are ordered by when they were made rather than when they arrive, so an out-of-order write answers applied: false with the surviving statement instead of applying. A statement the recipient made themselves, such as an unsubscribe or a stop keyword, cannot be deleted through the API; it ends only when they opt back in.
Read more in the webhooks guide and the API reference.
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.