Buttondown
Archives
Search...
Log in
Subscribe
Everyone should start a newsletter
October 9, 2026
We've published a new blog post: > Shape your thinking, and the thinking of others, with consistent writing in public. Read it here!
Writing prompts
October 6, 2026
We've published a new blog post: > A little list of writing prompts you can toggle on when you're staring at an empty email. Read it here!
Updates from September
October 6, 2026
Block AI from reading your archives You work tirelessly to carefully compose and craft emails meant for real flesh-and-blood human subscribers and what does...
Two bits of settings cleanup
October 5, 2026
We've published a new blog post: > The Tracking page is gone, and so is the Design folder in the sidebar. Read it here!
Email timeouts
October 3, 2026
We've published a new blog post: > Our public postmortem for Incident #0014. Read it here!
What we lost when we lost comments
October 2, 2026
We've published a new blog post: > Comments require commitment, but they’re worth it. Read it here!
The joy and agony of a snail mail newsletter
September 25, 2026
We've published a new blog post: > A chance to create offline relationships, hone your craft, and eat your bodyweight in envelope glue Read it here!
commenting_mode replaces is_comments_disabled
September 21, 2026
We've published a new blog post: > Emails get a three-valued commenting mode instead of a boolean Read it here!
Bulk actions take tag_id, not tag
September 21, 2026
We've published a new blog post: > The tag key in a bulk action's metadata is renamed to tag_id Read it here!
Removed the teaser fields from emails
September 21, 2026
We've published a new blog post: > should_send_teaser and custom_teaser are gone from the Email object Read it here!
Date filters split into start and end
September 21, 2026
We've published a new blog post: > date, last_open_date and last_click_date become __start and __end pairs Read it here!
Attachments on the API
September 21, 2026
We've published a new blog post: > Upload, list and manage email attachments programmatically Read it here!
/v1/emails no longer filters by status for you
September 21, 2026
We've published a new blog post: > Removed the default status filter on the emails list endpoint Read it here!
Removed deprecated subscriber types
September 21, 2026
We've published a new blog post: > spammy, malformed and disabled are gone from the SubscriberType enum Read it here!
TypeIDs are now the default identifier format
September 21, 2026
We've published a new blog post: > API version 2026-01-01 returns prefixed IDs like sub_ and em_ instead of bare UUIDs Read it here!
Automation timing moves inside each action
September 21, 2026
We've published a new blog post: > Every automation action carries its own timing as of API version 2026-04-01 Read it here!
Response bodies are kept only for idempotent requests
September 21, 2026
We've published a new blog post: > response_data on API request records is now null without an idempotency key Read it here!
Symmetric filters on survey responses
September 21, 2026
We've published a new blog post: > All three survey-response filters take lists, and survey is now survey_id Read it here!
Errors that tell you how to fix them
September 21, 2026
We've published a new blog post: > Actionable 4xx bodies, stricter write validation, and a split between missing and invalid credentials Read it here!
The events API now reads from one event store
September 21, 2026
We've published a new blog post: > GET /v1/events moves onto the same event store that powers webhooks Read it here!
Older archives