idrequired
path · string The newsletter's ID or slug | The newsletter's ID or slug |
name
body · string The newsletter's name, shown in emails and on the archive | The newsletter's name, shown in emails and on the archive |
slug
body · string Lowercase letters, digits and dashes, not a name mave.postbox keeps like www, api or mail. The shared from address (hello@<slug>.<shared domain>) and the website's address on the shared domain follow it. | Lowercase letters, digits and dashes, not a name mave.postbox keeps like www, api or mail. The shared from address (hello@<slug>.<shared domain>) and the website's address on the shared domain follow it. |
imageUrl
body · string Square logo, 128×128 or larger: an https:// link | Square logo, 128×128 or larger: an https:// link |
fromName
body · string Name in the From field | Name in the From field |
fromEmail
body · string The shared address (hello@<slug>.<shared domain>, set automatically) or an address on a domain added to this account | The shared address (hello@<slug>.<shared domain>, set automatically) or an address on a domain added to this account |
replyTo
body · string Where replies go while the newsletter has no author: an issue's replies go to its author, and the newsletter's own emails' to its default author (list_authors). Empty: replies to the shared address go to the account owner. | Where replies go while the newsletter has no author: an issue's replies go to its author, and the newsletter's own emails' to its default author (list_authors). Empty: replies to the shared address go to the account owner. |
postalAddress
body · string Printed in the footer of every email. Never set, it's the server's default (mave.postbox's address on MailCheap Cloud, none on a self-hosted server); saved empty, emails go out without one. | Printed in the footer of every email. Never set, it's the server's default (mave.postbox's address on MailCheap Cloud, none on a self-hosted server); saved empty, emails go out without one. |
archiveEnabled
body · boolean A public page for each sent issue, with a signup form. On for new newsletters: the website goes live after the first issue. | A public page for each sent issue, with a signup form. On for new newsletters: the website goes live after the first issue. |
description
body · string One sentence under the name on the archive, 200 characters at most | One sentence under the name on the archive, 200 characters at most |
author
body · object The archive's author page; the author's name is fromName | The archive's author page; the author's name is fromName |
author.bio
body · string Under the author's name on the archive, 160 characters at most | Under the author's name on the archive, 160 characters at most |
author.imageUrl
body · string Author photo: an https:// link. The newsletter image otherwise. | Author photo: an https:// link. The newsletter image otherwise. |
socialLinks
body · string[] https:// links shown on the archive, 8 at most | https:// links shown on the archive, 8 at most |
analytics
body · object Analytics tools on the newsletter's website: each loads on every page of it, never in emails, and hears of each signup there (sign_up for Google Analytics and in Tag Manager's data layer, CompleteRegistration for the Meta pixel). Pasted code keeps only its ID. | Analytics tools on the newsletter's website: each loads on every page of it, never in emails, and hears of each signup there (sign_up for Google Analytics and in Tag Manager's data layer, CompleteRegistration for the Meta pixel). Pasted code keeps only its ID. |
analytics.googleAnalytics
body · string Google Analytics 4's measurement ID, like G-XXXXXXXXXX, or the code Google gives to paste. Empty removes it. | Google Analytics 4's measurement ID, like G-XXXXXXXXXX, or the code Google gives to paste. Empty removes it. |
analytics.googleTagManager
body · string Google Tag Manager's container ID, like GTM-XXXXXXX, or its code. On the shared domain, only Google's own tags in the container run; on the newsletter's own domain (set_website_domain), all of them. | Google Tag Manager's container ID, like GTM-XXXXXXX, or its code. On the shared domain, only Google's own tags in the container run; on the newsletter's own domain (set_website_domain), all of them. |
analytics.metaPixel
body · string The Meta pixel's ID, the digits under its name in Meta Events Manager, or its code. | The Meta pixel's ID, the digits under its name in Meta Events Manager, or its code. |
customCode
body · string HTML for the head of every page of the newsletter's website, like another tool's code: <script>, <style>, <link> and <noscript> tags, with https:// addresses. It runs on the newsletter's own domain only (set_website_domain), never on its address on the shared domain, which other newsletters share. Code that wouldn't work is refused with the line to fix: a tag that isn't closed, text outside a tag, a JavaScript error, a meta tag, an event handler attribute, or Google Analytics, Tag Manager or Meta pixel code, which goes in analytics. Empty removes it. | HTML for the head of every page of the newsletter's website, like another tool's code: <script>, <style>, <link> and <noscript> tags, with https:// addresses. It runs on the newsletter's own domain only (set_website_domain), never on its address on the shared domain, which other newsletters share. Code that wouldn't work is refused with the line to fix: a tag that isn't closed, text outside a tag, a JavaScript error, a meta tag, an event handler attribute, or Google Analytics, Tag Manager or Meta pixel code, which goes in analytics. Empty removes it. |
requireConfirmation
body · boolean Confirmed opt-in: new signups get an email with a button and only join once they click it. On for new newsletters. New subscribers get the confirmation email or the welcome email: turning it on while the welcome email is on needs welcome.enabled false in the same request. | Confirmed opt-in: new signups get an email with a button and only join once they click it. On for new newsletters. New subscribers get the confirmation email or the welcome email: turning it on while the welcome email is on needs welcome.enabled false in the same request. |
cleanup
body · object List cleanup at each send: contacts who ignored several issues get a last-chance email instead (lastChance), and become dormant if they don't answer | List cleanup at each send: contacts who ignored several issues get a last-chance email instead (lastChance), and become dormant if they don't answer |
cleanup.enabled
body · boolean On for new newsletters | On for new newsletters |
cleanup.issues
body · number | null Ignored issues in a row before the last-chance email, 2 to 100. Default 6. | Ignored issues in a row before the last-chance email, 2 to 100. Default 6. |
cleanup.days
body · number | null Days without an open, click or signup, 30 to 3650. Default 180. | Days without an open, click or signup, 30 to 3650. Default 180. |
welcome
body · object Email sent to each new subscriber, while signups don't need confirming: turning it on while requireConfirmation is on needs requireConfirmation false in the same request. mave.postbox's content check reads it when it's saved: see welcome.review in the answer. | Email sent to each new subscriber, while signups don't need confirming: turning it on while requireConfirmation is on needs requireConfirmation false in the same request. mave.postbox's content check reads it when it's saved: see welcome.review in the answer. |
welcome.enabled
body · boolean | |
welcome.subject
body · string | |
welcome.previewText
body · string | |
welcome.format
body · "rich" | "markdown" With content: rich or markdown, the default | With content: rich or markdown, the default |
welcome.content
body · string The email's body. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. | The email's body. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. |
welcome.markdown
body · string Markdown: the same as content with format markdown | Markdown: the same as content with format markdown |
confirmation
body · object The confirmation email for confirmed opt-in. Sent back unchanged, the built-in one stays built-in and follows the name and description. mave.postbox's content check reads your own when it's saved: see confirmation.review in the answer. | The confirmation email for confirmed opt-in. Sent back unchanged, the built-in one stays built-in and follows the name and description. mave.postbox's content check reads your own when it's saved: see confirmation.review in the answer. |
confirmation.subject
body · string | |
confirmation.previewText
body · string | |
confirmation.format
body · "rich" | "markdown" With content: rich or markdown, the default | With content: rich or markdown, the default |
confirmation.content
body · string The email's body. It keeps its button, a link to {{confirm_url}}: <div data-button=""><a href="{{confirm_url}}">Its text</a></div>, or the same <a> in Markdown. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. | The email's body. It keeps its button, a link to {{confirm_url}}: <div data-button=""><a href="{{confirm_url}}">Its text</a></div>, or the same <a> in Markdown. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. |
confirmation.markdown
body · string Markdown: the same as content with format markdown | Markdown: the same as content with format markdown |
lastChance
body · object The list cleanup's last-chance email, which contacts who stopped opening get instead of an issue: a click on its button keeps them. Write your own to say it in your words or your readers' language. Sent back unchanged, the built-in one stays built-in and follows the name. mave.postbox's content check reads your own when it's saved: see lastChance.review in the answer. | The list cleanup's last-chance email, which contacts who stopped opening get instead of an issue: a click on its button keeps them. Write your own to say it in your words or your readers' language. Sent back unchanged, the built-in one stays built-in and follows the name. mave.postbox's content check reads your own when it's saved: see lastChance.review in the answer. |
lastChance.subject
body · string | |
lastChance.previewText
body · string | |
lastChance.format
body · "rich" | "markdown" With content: rich or markdown, the default | With content: rich or markdown, the default |
lastChance.content
body · string The email's body. It keeps its button, a link to {{keep_url}}: <div data-button=""><a href="{{keep_url}}">Its text</a></div>, or the same <a> in Markdown. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. | The email's body. It keeps its button, a link to {{keep_url}}: <div data-button=""><a href="{{keep_url}}">Its text</a></div>, or the same <a> in Markdown. Merge tags work as in campaigns. rich is an HTML fragment as the dashboard's editor writes it, as update_campaign's format describes, sections aside; markdown is Markdown. |
lastChance.markdown
body · string Markdown: the same as content with format markdown | Markdown: the same as content with format markdown |
signupForm
body · object The signup form for the newsletter's own site. get_signup_form gives the code to paste. | The signup form for the newsletter's own site. get_signup_form gives the code to paste. |
signupForm.enabled
body · boolean Off for new newsletters | Off for new newsletters |
signupForm.layout
body · "inline" | "card" inline, the fields and button alone; card, in a box under a headline and a line of text | inline, the fields and button alone; card, in a box under a headline and a line of text |
signupForm.headline
body · string | null The card's headline. null: the newsletter's name, as it changes. Empty: no headline. | The card's headline. null: the newsletter's name, as it changes. Empty: no headline. |
signupForm.subheadline
body · string | null The line under the card's headline. null: the newsletter's description, as it changes. Empty: no line. | The line under the card's headline. null: the newsletter's description, as it changes. Empty: no line. |
signupForm.askFirstName
body · boolean Asks for a first name above the email, optional for readers. Off by default. | Asks for a first name above the email, optional for readers. Off by default. |
signupForm.buttonText
body · string Default: Subscribe | Default: Subscribe |
signupForm.placeholder
body · string Default: you@example.com | Default: you@example.com |
signupForm.allowedDomains
body · string[] Sites where browsers show the form, like example.com, which covers its subdomains. Empty: any site. With sites listed, only the script form takes signups: the plain HTML form can't prove which site it's on. | Sites where browsers show the form, like example.com, which covers its subdomains. Empty: any site. With sites listed, only the script form takes signups: the plain HTML form can't prove which site it's on. |
theme
body · object Its look on its website and in its emails: a preset from list_themes and what's changed on top of it. Send only what changes; null takes a choice back to the preset's. | Its look on its website and in its emails: a preset from list_themes and what's changed on top of it. Send only what changes; null takes a choice back to the preset's. |
theme.preset
body · "mailcheap" | "broadsheet" | "garden" | "midnight" | "poster" | "swiss" | "typewriter" | "sunset" A preset from list_themes. Another preset starts over from it: the changes made to the one before go, unless this call sends new ones. | A preset from list_themes. Another preset starts over from it: the changes made to the one before go, unless this call sends new ones. |
theme.lightColors
body · object | null Its colors in light mode, which its website shows readers whose device is in light mode or who picked Light, and its emails are written in. Hex colors. null takes one back to the preset's; the other shades derive from these three. | Its colors in light mode, which its website shows readers whose device is in light mode or who picked Light, and its emails are written in. Hex colors. null takes one back to the preset's; the other shades derive from these three. |
theme.darkColors
body · object | null Its colors in dark mode, for readers in dark mode: on its website, and in its emails in mail apps that follow it, like Apple Mail and Outlook. An accent changed in one mode only follows into the other, lighter or darker where its page needs it. Hex colors. null takes one back to the preset's; the other shades derive from these three. | Its colors in dark mode, for readers in dark mode: on its website, and in its emails in mail apps that follow it, like Apple Mail and Outlook. An accent changed in one mode only follows into the other, lighter or darker where its page needs it. Hex colors. null takes one back to the preset's; the other shades derive from these three. |
theme.colors
body · object | null The colors of the mode the preset is made for, which its signup form and link previews use: lightColors, or darkColors for a dark preset like Midnight. Hex colors. null takes one back to the preset's; the other shades derive from these three. | The colors of the mode the preset is made for, which its signup form and link previews use: lightColors, or darkColors for a dark preset like Midnight. Hex colors. null takes one back to the preset's; the other shades derive from these three. |
theme.fonts
body · object | null Fonts from list_themes. Mail clients without web fonts, like Gmail, show a close system font. | Fonts from list_themes. Mail clients without web fonts, like Gmail, show a close system font. |
theme.headingWeight
body · integer | null Fonts with fewer weights use their closest | Fonts with fewer weights use their closest |
theme.radius
body · string | null Corners of buttons, cards and pictures | Corners of buttons, cards and pictures |
theme.shadow
body · string | null Cards and forms on the website. Emails have none. | Cards and forms on the website. Emails have none. |
theme.spacing
body · string | null Line height and space between paragraphs | Line height and space between paragraphs |
theme.emailAlign
body · string | null Emails only: where they sit on a screen wider than them, like a computer's. center, or left like a personal email. Phones show them full width either way. | Emails only: where they sit on a screen wider than them, like a computer's. center, or left like a personal email. Phones show them full width either way. |
notifications
body · object What mave.postbox emails the account owner about this newsletter, each newsletter on its own. Send only what changes. | What mave.postbox emails the account owner about this newsletter, each newsletter on its own. Send only what changes. |
notifications.summary
body · "daily" | "weekly" | "off" How often the account owner gets an email of the newsletter's numbers: weekly, every Monday at 8 AM in their time zone, the default; daily, every morning with the day before, skipping days with no news; or off. On MailCheap Cloud, with a paid plan. preview_summary_email shows it. | How often the account owner gets an email of the newsletter's numbers: weekly, every Monday at 8 AM in their time zone, the default; daily, every morning with the day before, skipping days with no news; or off. On MailCheap Cloud, with a paid plan. preview_summary_email shows it. |