How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Buttondown Emails API

The Emails API from Buttondown — 11 operation(s) covering drafting, scheduling, publishing, rendering and analyzing newsletter emails.

Buttondown Emails API is one of 31 APIs that Buttondown publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Emails. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 11 operations across 8 paths, and defines 35 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://api.buttondown.com/v1.

11 operations 8 paths 35 schemas 1 DELETE6 GET1 PATCH3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://api.buttondown.com/v1
Authentication
API Key
License
Resource Areas
1

Authentication & Security 1

Buttondown Emails API declares 1 security scheme for authenticating requests. An API key is passed in the header as Authorization (ApiKeyAuth). By default, every request must be authenticated.

  • ApiKeyAuth — API key passed as 'Token ' in the Authorization header.

Paths & Operations 11

Across 8 paths, the API surfaces 11 operations — 1 DELETE, 6 GET, 1 PATCH, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Emails 11
POST
/emails
Create Email
create_email body → 201400403409422401429
GET
/emails
List Emails
list_emails 22 params → 200400403404409422401429
PATCH
/emails/{id}
Update Email
update_email 1 param body → 200400403404409422401429
GET
/emails/{id}
Retrieve Email
retrieve_email 1 param → 200403404409422401429
DELETE
/emails/{id}
Delete Email
delete_email 1 param → 204403404409422401429
GET
/emails/{id}/history
Retrieve Email History
retrieve_email_history 7 params → 200400403404409422401429
GET
/emails/{id}/history/body/{history_id}
Retrieve Email History By Id
retrieve_email_history_by_id 3 params → 200403404409422401429
GET
/emails/{id}/analytics
Retrieve Email Analytics
retrieve_email_analytics 1 param → 200403404409422401429
GET
/emails/{id}/renders
Retrieve Email Renders
retrieve_email_renders 2 params → 200400403404409422401429
POST
/emails/{id}/send-draft
Send Draft
send_draft 1 param body → 200400403404409422401429
POST
/emails/{id}/publish
Publish Email
publish_email 1 param body → 200400403404409422401429

Schemas 35

The contract defines 35 schemas that model the data the API accepts and returns. The most detailed are Email (27 properties), EmailUpdateInput (20 properties), Analytics (20 properties), EmailInput (19 properties). Each schema is shown below with its type and property counts.

FilterGroup
object
Buttondown's filtering schema can be used for multiple things: - Filtering [the audience of an email](/api-emails-create) to a specific subset - Creating [fine…
3 properties 3 required
EmailCreationErrorCode
string
Represents the type of error that occurred when creating an email. Human-readable error messages are provided in the detail field of the response; these values…
EmailCommentingMode
string
Governs who can comment on this email. This enum replaces the iscommentsdisabled field, which has been deprecated. (Also note that this field may be superseded…
EmailPage
object
4 properties 2 required
SendDraftInput
object
2 properties
EmailListErrorCode
string
Represents the type of error that occurred when listing emails. Human-readable error messages are provided in the detail field of the response; these values ar…
EmailFilter
object
3 properties 3 required
EmailStatus
string
Represents the state of an email. No action is required to move from one state or another; Buttondown internally handles the transitions, and exposing the stat…
Filter
object
A filter is a single condition that can be evaluated against a [Subscriber](/api-subscribers-retrieve). It has a field, an operator, and a value: json { "field…
3 properties 3 required
ValidationErrorMessage
object
1 property 1 required
Operator
string
An enumeration.
Render
object
1 property 1 required
Callout
string
Surfacing-time flags about an email that the UI uses to render contextual callouts (e.g. in the analytics panel). Computed on read; not persisted.
FailureBreakdownItem
object
A single failure reason with its count.
2 properties 2 required
NewsletterEmailTemplate
string
Represents the template of an email. Each template has a different layout/style; you can view screenshots and examples [in the docs](https://docs.buttondown.co…
ArchivalMode
string
Governs who can view this email in the archive. ARCHIVEONLY is the odd one out: the email is publicly archived but is not email content at all (e.g. an importe…
ErrorMessage_EmailCreationErrorCode_
object
3 properties 1 required
Analytics
object
20 properties
InvitationStatus
string
An enumeration.
EmailUpdateInput
object
20 properties
HistoryPage
object
4 properties 2 required
EmailSource
string
Represents the original provenance of an email. This value is not exposed to subscribers, but does determine some behavior of the email (e.g. whether or not an…
Email
object
Emails are why you're here on Buttondown, right? Creating an email via the API is just like creating one in the interface; it will instantly trigger sending ac…
27 properties 17 required
EmailFilterGroup
object
3 properties 3 required
ValidationErrorDetail
object
3 properties 3 required
EmailExcludableField
string
Represents a field on the Email model that can be excluded from the API response.
EmailSuppressionReason
string
Represents the reason an email was suppressed.
EmailInput
object
19 properties 1 required
Permissions
object
8 properties
User
object
6 properties 5 required
AccessLevel
string
An enumeration.
EmailType
string
The legacy single-axis representation of an email's audience and archive visibility. No longer stored: filters owns the audience axis and archivalmode owns the…
ErrorMessage_EmailListErrorCode_
object
3 properties 1 required
History
object
5 properties 3 required
ErrorMessage
object
3 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

buttondown-emails-api-openapi.yml Raw ↑

Other APIs Buttondown publishes across the network.

Buttondown Accounts API
Buttondown Advertising Units API
Buttondown API Requests API
Buttondown Attachments API
Buttondown Automations API
Buttondown Books API
Buttondown Bulk Actions API
Buttondown Comments API
Buttondown Coupons API
Buttondown Events API
Buttondown Exports API
Buttondown External Feeds API
Where this information came from

This is an independent, third-party profile of Buttondown Emails API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.