Create a draft
POST
/api/v3/letters/actions/draft
Creates a draft letter from the HTML you provide. This creates a letter in your channel that is ready to test, schedule, and send. Note that because you are providing your own HTML, you will not be able to edit this edition with our composer.
api: Boolean flag indicating the request is being made via the API.channel: Channel slug to associate the draft with.html: Full HTML content for the letter body.segment: Segment identifier to target a subset of the channel audience;0applies to all subscribers.subject: Draft subject/title.suppress(optional): Array of channel slugs used to suppress recipients who are also subscribed to those channels.subtitle(optional): Populates the email preview text shown in inbox previews after the subject, so the Letterhead UI only needs the send date filled in. Max 191 chars.tags(optional): Newsletter tags applied to the created draft. Use this to label a send with your own internal identifier; tags are reused across sends and listed underGET /api/v3/letters/tags. Max 20 items, each ≤ 60 chars. Names are trimmed and deduped case-insensitively. Requires thenewsletterTagsflag on the company.
Authorizations
Section titled “Authorizations ”Request Body
Section titled “Request Body ” Media type application/json
object
api
boolean
channel
string
html
string
segment
number
subject
string
suppress
Array<string>
Examples
Example Create a draft
{ "api": true, "channel": "an-example-channel", "html": "<!DOCTYPE html><html><head><meta charset=\"UTF-8\"><title>Test</title></head><body><h1>Hello from Postman</h1><p>This is a test letter sent via the <strong>/api/v3/letters/actions/send</strong> endpoint.</p><p><a href=\"https://letterhead.co\">Visit Letterhead</a></p></body></html>", "segment": 0, "subject": "Who doesn't love a good movie?", "suppress": [ "some-other-channel" ]}Responses
Section titled “ Responses ”Create a draft
Media type application/json
object
items
object
createdAt
string
editor
string
emailTemplate
string
insights
object
readability
object
ease
number
seconds
number
time
string
size
number
wordCount
number
private
boolean
publicationDate
string
publicationDateOffset
string
publicationDateTzCode
string
publicationStatus
number
segmentId
number
subtitle
string
title
string
uniqueId
string
updatedAt
string
useComposer
boolean
message
string
total
number
Examples
Example Create a draft
{ "items": { "createdAt": "2026-05-06 12:24:09", "editor": "html", "emailTemplate": "<!DOCTYPE html><html><head><meta charset=\"UTF-8\"><title>Test</title></head><body><h1>Hello from Postman</h1><p>This is a test letter sent via the <strong>/api/v3/letters/actions/send</strong> endpoint.</p><p><a href=\"https://letterhead.co\">Visit Letterhead</a></p></body></html>", "insights": { "readability": { "ease": 62, "seconds": 6, "time": "1 minute read" }, "size": 0, "wordCount": 15 }, "private": true, "publicationDate": "", "publicationDateOffset": "-08:00", "publicationDateTzCode": "America/Los_Angeles", "publicationStatus": 7, "segmentId": 0, "subtitle": "", "title": "Who doesn't love a good movie?", "uniqueId": "04c87gaemo", "updatedAt": "2026-05-06 12:24:10", "useComposer": false }, "message": "Html letter draft created.", "total": 1}Headers
Section titled “Headers ” Alt-Svc
string
Example
h3=":443"; ma=2592000 Transfer-Encoding
string
Example
chunked access-control-allow-credentials
string
Example
true access-control-allow-origin
string
Example
* access-control-max-age
string
Example
86400 cache-control
string
Example
no-cache, private date
string
Example
Wed, 06 May 2026 12:24:10 GMT server
string
Example
nginx/1.27.3 via
string
Example
1.1 google x-powered-by
string
Example
PHP/7.4.33Still can’t find what you need? Contact support.