Schedule a letter
const url = 'https://api.tryletterhead.com/api/v3/letters/example/actions/schedule';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"api":true,"channel":"an-example-channel","segment":0,"date":"2026-11-20T06:00:00"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.tryletterhead.com/api/v3/letters/example/actions/schedule \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "api": true, "channel": "an-example-channel", "segment": 0, "date": "2026-11-20T06:00:00" }'Schedule an existing letter to go out at a time you choose, or as soon as possible if you leave
date out. Create the letter first, for example with Create a draft, then schedule it here.
Scheduling a letter that is already scheduled moves it to the new time.
date is read in the newsletter’s own timezone and must be at least a minute in the future.
If the letter is an active template, Letterhead copies it into a new edition and schedules the copy, leaving the template as it was. A letter that has already been sent can’t be scheduled.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The letter’s unique identifier — an alphanumeric string around ten characters, e.g. ludctamgd6.
Request Body required
Section titled “Request Body required ”object
Required. Set to true to authenticate with an API key.
The slug of the channel the letter belongs to.
The integer identifier of your target segment, which is either all or a subset of your target channel.
(optional) When to send, as YYYY-MM-DDTHH:MM:SS in the newsletter’s timezone. Leave it out to send as soon as possible.
(optional) Override the letter’s subject line for this send.
Example
{ "api": true, "channel": "an-example-channel", "segment": 0, "date": "2026-11-20T06:00:00"}Responses
Section titled “ Responses ”The letter is scheduled
object
object
The scheduled letter. For an active template, this is the new edition, not the template.
When the letter will be sent, in the newsletter’s timezone.
Present only when the letter you scheduled was an active template. The template’s identifier; uniqueId is then the new edition copied from it.
Example
{ "items": { "uniqueId": "ludctamgd6", "publicationDate": "2026-11-20 06:00:00" }, "message": "Your letter will be sent at 2026-11-20 06:00:00.", "total": 0}The request is invalid, for example date is in the past or not in YYYY-MM-DDTHH:MM:SS form, the letter belongs to a different channel, or it has already been sent.
The key can’t schedule letters for this channel.
Still can’t find what you need? Contact support.