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.

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor