Buttondown
Archives
Search...
Subscribe
Rename metadata keys in bulk
March 18, 2026
We've published a new blog post: > "First name" and "first_name", together at last Read it here!
A spring cleaning for our legal docs
March 16, 2026
We've published a new blog post: > Updated DPA, privacy policy, sub-processor list, and cookie policy. Read it here!
Ask a nerd: what happens when you click the spam button?
March 13, 2026
We've published a new blog post: > Honestly, it’s more conceptually complicated than technically complex. Read it here!
Safer defaults for the email creation API
March 11, 2026
We've published a new blog post: > A new API version that defaults to draft instead of sending, with a one-time confirmation header for immediate sends. Read...
Passkey support for two-factor authentication
March 10, 2026
We've published a new blog post: > Use your fingerprint, face, or security key as a second factor when signing in. Read it here!
How Buttondown's API versioning works
March 9, 2026
We've published a new blog post: > A deep dive into our date-based API versioning system, inspired by Stripe, and how it lets us ship breaking changes...
How we enabled Content Security Policy for everyone
March 6, 2026
We've published a new blog post: > Invisibly making your newsletter safer Read it here!
New API changes for Buttondown
March 6, 2026
Every ID in Buttondown's API is a UUID (e.g., ) with no indication of what it represents. UUIDs are great for databases, but they're not human-friendly....
How we migrated to TypeIDs without breaking clients
March 6, 2026
We've published a new blog post: > Making every ID in our API self-describing, one endpoint at a time Read it here!
How to send email to space
March 6, 2026
We've published a new blog post: > The first email was sent from space three days after the first webpage was published. Read it here!
Recovery codes for two-factor authentication
March 5, 2026
We've published a new blog post: > If you lose your authenticator device, recovery codes let you get back into your account. Read it here!
Filter sent emails by engagement rate
March 3, 2026
We've published a new blog post: > Quickly find your best (and worst) performing emails by filtering on open rate, click rate, and delivery rate. Read it here!
Updates from February
March 3, 2026
Custom templates for all You can write a Buttondown email template from scratch You’re not writing a Buttondown. You’re writing your newsletter. It should be...
Use newsletter metadata in your emails
February 28, 2026
We've published a new blog post: > Your newsletter's metadata is now available in email templates, giving you global variables you can reference across every...
How we check every link in your email
February 27, 2026
We've published a new blog post: > The machinery behind Buttondown's link checker is more involved than you might expect. Read it here!
Should we bring back email exploders?
February 27, 2026
We've published a new blog post: > Mailing lists died out to make way for newsletters. But there are a lot of reasons to bring back group discussions over...
New API changes for Buttondown
February 27, 2026
Each action inside an automation now carries its own timing, paving the way for multi-step sequences in a single automation. Previously, timing was a top-...
New API changes for Buttondown
February 23, 2026
Subscribers now include engagement counts and rates in the /v1/subscribers response: delivered_count open_count clicked_count open_rate click_rate You can...
Sort and filter by open and click rates
February 23, 2026
We've published a new blog post: > Find your most (and least) engaged subscribers by sorting and filtering by open and click rates. Read it here!
Custom click tracking domains
February 21, 2026
We've published a new blog post: > Your click tracking links now use your own sending domain instead of a shared proxy. Read it here!
Older archives