Changelog · back to all

Record messaging preferences over the API

feature

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/preferences and GET/DELETE /v1/preferences/{preference_id} are available to API keys carrying the new preferences scope. Recording a grant with consented_at evidence is also the documented way to resume mailing someone after an unsubscribe.
  • The bird preferences CLI group and matching MCP tools cover the same operations, and all four SDKs gain a preferences resource with typed results.
  • Four webhook event types are now public: preference.granted, preference.revoked, preference.deleted, and whatsapp_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.

Inizia con un canale.
Aggiungi gli altri quando sei pronto.

Una chiave API di test è subito tua. La produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

Usi Claude Code, Cursor o Codex? Copia un prompt di configurazione e il tuo agente installerà la CLI e le skill di Bird per te. Scegli il tuo:

Cursor