Clearer collision behavior when recreating subscribers

Overwrite can no longer silently no-op on a suppressed subscriber

August 6, 2026
Breaking API change

This is a backwards-incompatible change to Buttondown's API. Pinning your newsletter or request to an older API version keeps the previous behavior where a version was cut for it.

POST /v1/subscribers with X-Buttondown-Collision-Behavior: overwrite no longer returns a 201 while leaving an unsubscribed subscriber unchanged. Overwrite cannot change terminal types (unsubscribed, blocked, complained, undeliverable) and returns 400 with subscriber_suppressed instead.

To resubscribe, use X-Buttondown-Collision-Behavior: add (which still flips unsubscribed → regular) or PATCH with {"type": "regular"}.

See Creating a subscriber for the full add vs overwrite distinction.

Buttondown is the last email platform you’ll switch to.