---
title: "Changes to Create Newsletter"
method: POST
path: "/newsletters"
---

# Changes to Create Newsletter

`POST /newsletters`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 9 of 43 revisions.

- **2026-09-19** `04d1f70af68b`: 1 warning
- **2026-09-07** `9e6846726e66`: 3 warning
- **2026-07-26** `fc5d382abadb`: 11 warning, 13 info
- **2026-07-13** `228cc05ba97d`: 3 breaking, 31 warning, 13 info
- **2026-06-07** `13f3bc084194`: 9 breaking, 6 warning, 64 info
- **2026-01-17** `8590daeecaea`: 5 breaking, 9 info
- **2025-10-15** `b366d059d1ae`: 5 info
- **2025-07-11** `b3fb230c0938`: 1 warning, 9 info
- **2025-02-18** `7b086652e3cf`: 2 info

## Changes

- **2026-09-19** `04d1f70af68b`: 1 warning
  - removed the optional property `custom_gift_subscription_email_template` from the response with the `201` status
- **2026-09-07** `9e6846726e66`: 3 warning
  - removed the request property `email_theme_configuration`
  - removed the optional property `custom_expired_trial_notification_template` from the response with the `201` status
  - removed the optional property `email_theme_configuration` from the response with the `201` status
- **2026-07-26** `fc5d382abadb`: 11 warning, 13 info
  - added the new `ao3` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `arena` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `bandcamp` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `behance` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `etsy` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `gumroad` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `it` enum value to the `locale/allOf[subschema #1: Locale]/` response property for the response status `201`
  - added the new `itchio` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `medium` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `steam` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `vimeo` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `ao3` enum value to the request property `socials/items/type`
  - added the new `arena` enum value to the request property `socials/items/type`
  - added the new `bandcamp` enum value to the request property `socials/items/type`
  - added the new `behance` enum value to the request property `socials/items/type`
  - added the new `etsy` enum value to the request property `socials/items/type`
  - added the new `gumroad` enum value to the request property `socials/items/type`
  - added the new `it` enum value to the request property `locale/allOf[subschema #1: Locale]/`
  - added the new `itchio` enum value to the request property `socials/items/type`
  - added the new `medium` enum value to the request property `socials/items/type`
  - added the new `steam` enum value to the request property `socials/items/type`
  - added the new `vimeo` enum value to the request property `socials/items/type`
  - added the optional property `hosting_domain_status` to the response with the `201` status
  - added the optional property `sending_domain_status` to the response with the `201` status
- **2026-07-13** `228cc05ba97d`: 3 breaking, 31 warning, 13 info
  - the `announcement_bar_background_color` request property type changed from `string` to no type
  - the `email_address/anyOf[subschema #1]/` request property format changed from no format to `email`
  - the `reply_to_address/anyOf[subschema #1]/` request property format changed from no format to `email`
  - the `icon` request property's maxLength was set to `500`
  - the `icon_alt_text` request property's maxLength was set to `500`
  - the `image` request property's maxLength was set to `500`
  - added the new `custom` enum value to the `custom_churn_email_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `custom_expired_trial_notification_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `custom_gift_subscription_email_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `custom_gift_unsubscription_email_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `custom_premium_confirmation_email_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `custom_subscription_confirmation_email_template/anyOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `custom` enum value to the `template/allOf[subschema #1: EmailTemplate]/` response property for the response status `201`
  - added the new `discord` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `domain_incorrect` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `domain_path` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `domain_protocol` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_conflicts_with_hosting_domain` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_contains_at` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_incorrect` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_path` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_protocol` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `email_domain_used_by_other_account` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `fi-FI` enum value to the `locale/allOf[subschema #1: Locale]/` response property for the response status `201`
  - added the new `invalid_metadata` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `ja-JP` enum value to the `locale/allOf[subschema #1: Locale]/` response property for the response status `201`
  - added the new `reddit` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `soundcloud` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `spotify` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `substack` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `telegram` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `tumblr` enum value to the `socials/items/type` response property for the response status `201`
  - added the new `username_reserved` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added the new `username_too_short` enum value to the `code/allOf[subschema #1: CreateNewsletterErrorCode]/` response property for the response status `400`
  - added `subschema #1, subschema #2` to the `announcement_bar_background_color` request property `anyOf` list
  - added the new `custom` enum value to the request property `template/allOf[subschema #1: EmailTemplate]/`
  - added the new `discord` enum value to the request property `socials/items/type`
  - added the new `fi-FI` enum value to the request property `locale/allOf[subschema #1: Locale]/`
  - added the new `ja-JP` enum value to the request property `locale/allOf[subschema #1: Locale]/`
  - added the new `reddit` enum value to the request property `socials/items/type`
  - …7 more
- **2026-06-07** `13f3bc084194`: 9 breaking, 6 warning, 64 info
  - added the pattern `^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$` to the request property `tint_color`
  - the response property `code` became optional for the status `400`
  - response property `custom_email_template` list-of-types was widened by adding types `null` to media type `application/json` of response `201`
  - response property `icon` list-of-types was widened by adding types `null` to media type `application/json` of response `201`
  - response property `image` list-of-types was widened by adding types `null` to media type `application/json` of response `201`
  - the `code` response's property type changed from no type to `string` for status `403`
  - the `code` response's property type changed from `string` to no type for status `400`
  - the `custom_churn_email_template` response's property type changed from `string` to no type for status `201`
  - the `id` response's property format changed from `uuid` to no format for status `201`
  - removed `#/components/schemas/NewsletterAuditingMode` from the `auditing_mode` request property `allOf` list
  - the `domain` request property's maxLength was set to `500`
  - the `email_domain` request property's maxLength was set to `500`
  - the `tint_color` request property's maxLength was set to `7`
  - removed the request property `css_tokens`
  - removed the optional property `css_tokens` from the response with the `201` status
  - the endpoint scheme security `ApiKeyAuth` was added to the API
  - the endpoint scheme security `PermissionAuthenticationRequirement` was removed from the API
  - api tag `Newsletters` added
  - added the new optional request property `announcement_bar_background_color`
  - added the new optional request property `announcement_bar_text`
  - added the new optional request property `announcement_bar_visibility`
  - added the new optional request property `archive_theme`
  - added the new optional request property `email_theme_configuration`
  - added the new optional request property `icon_alt_text`
  - added the new optional request property `locale`
  - added the new optional request property `reply_to_address`
  - added the new optional request property `socials`
  - added the new optional request property `subscription_confirmation_redirect_url`
  - added the new optional request property `subscription_redirect_url`
  - added the new optional request property `template`
  - added the new optional request property `theme_configuration`
  - added the new optional request property `timezone`
  - added `#/components/schemas/NewsletterAuditingMode, subschema #2` to the `auditing_mode` request property `anyOf` list
  - request property `custom_email_template` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `email_address` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `test_mode` list-of-types was widened by adding types `null` to media type `application/json`
  - removed the pattern `^[a-zA-Z0-9.'_%+\-!]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$` from the request property `email_address`
  - added the non-success response with the status `401`
  - added the optional property `announcement_bar_background_color` to the response with the `201` status
  - added the optional property `announcement_bar_text` to the response with the `201` status
  - …39 more
- **2026-01-17** `8590daeecaea`: 5 breaking, 9 info
  - added `#/components/schemas/NewsletterAuditingMode` to the `auditing_mode` request property `allOf` list
  - removed the enum value `aggressive` of the request property `auditing_mode`
  - removed the enum value `disabled` of the request property `auditing_mode`
  - removed the enum value `enabled` of the request property `auditing_mode`
  - the `auditing_mode` request property type changed from `string` to no type
  - added the new optional request property `css_tokens`
  - added the new optional request property `email_address`
  - added the new optional request property `metadata`
  - added the new optional request property `test_mode`
  - added the optional property `css_tokens` to the response with the `201` status
  - added the optional property `email_address` to the response with the `201` status
  - added the optional property `metadata` to the response with the `201` status
  - added the optional property `sort` to the response with the `201` status
  - added the optional property `test_mode` to the response with the `201` status
- **2025-10-15** `b366d059d1ae`: 5 info
  - added the new optional request property `auditing_mode`
  - added the optional property `auditing_mode` to the response with the `201` status
  - added the optional property `custom_churn_email_body` to the response with the `201` status
  - added the optional property `custom_churn_email_subject` to the response with the `201` status
  - added the optional property `custom_churn_email_template` to the response with the `201` status
- **2025-07-11** `b3fb230c0938`: 1 warning, 9 info
  - added the new `username_malformed` enum value to the `code` response property for the response status `400`
  - added the new optional request property `css`
  - added the new optional request property `icon`
  - added the new optional request property `image`
  - added the new optional request property `web_css`
  - added the optional property `css` to the response with the `201` status
  - added the optional property `icon` to the response with the `201` status
  - added the optional property `image` to the response with the `201` status
  - added the optional property `web_css` to the response with the `201` status
  - removed the `username_invalid` enum value from the `code` response property for the response status `400`
- **2025-02-18** `7b086652e3cf`: 2 info
  - the endpoint scheme security `PermissionAuthenticationRequirement` was added to the API
  - the endpoint scheme security `AuthenticationRequirement` was removed from the API

---

[Operation](https://skmtc.dev/buttondown/apis/buttondown-api/docs/newsletters/post.md) - [API](https://skmtc.dev/buttondown/apis/buttondown-api.md) - [Page](https://skmtc.dev/buttondown/apis/buttondown-api/changes/newsletters/post)
