Skip to main content
PUT
Update a broadcast

Authorizations

X-Kit-Api-Key
string
header
required

Authenticate API requests via an API Key

Path Parameters

id
integer
required

Body

application/json
email_template_id
integer

Id of the email template to use for the broadcast's layout and design. Leave it out or send null to keep the current template. Changing it without sending content applies the new template's design to the broadcast. When that would discard the broadcast's existing content, or overwrite unsaved edits open in Kit's editor, the request returns a 409 unless you also send allow_content_loss: true. Send content in the same request to keep your own content instead. The template of a broadcast running a content A/B test can't be changed through the API.

allow_content_loss
boolean | null

Confirms a template change that would discard the broadcast's content or overwrite unsaved edits open in Kit's editor. Only applies when you change email_template_id without sending content. Defaults to false.

email_address
string | null

The sending email address to use. Uses the account's sending email address if not provided.

content
string

The HTML content of the email. On a Classic template this is the body, and the template adds the design around it when the broadcast is sent. On a Starting point template the design lives in the body, so this is the complete email: keep the wrappers, images, inline styles and Liquid tags, including {{ unsubscribe_url }} and {{ address }}. Without an unsubscribe link the broadcast can't be sent.

A read returns the string that was written, so GET, PUT, GET round-trips, apart from Kit's own "Built with Kit" badge, which a Starting point write takes out of the body and re-applies when the email renders. A broadcast built in Kit's editor reads back as Kit's rendered HTML instead, and writing that back replaces its individually-editable blocks with one HTML block. Sending content in the same request as a Starting point email_template_id shapes that content into the template's design.

description
string
public
boolean

true to publish this broadcast to the web. The broadcast will appear in a newsletter feed on your Creator Profile and Landing Pages.

published_at
string

The published timestamp to display in ISO8601 format. If no timezone is provided, UTC is assumed.

send_at
string

The scheduled send time for this broadcast in ISO8601 format. If no timezone is provided, UTC is assumed.

thumbnail_alt
unknown
thumbnail_url
unknown
preview_text
string

Preview text shown in inboxes before the email is opened. If the broadcast is running a subject-line A/B test, each version sends its own preview text, so this value is saved but not sent. Change the versions' preview text in Kit.

subject
string

The email's subject line. If the broadcast is running a subject-line A/B test, this replaces only the first version's subject and the other versions keep theirs. Check ab_test before writing it. On a content A/B test, it's written to every version.

subscriber_filter
object[]

Filters your subscribers. At this time, we only support using only one filter group type via the API (e.g. all, any, or none but no combinations). If nothing is provided, will default to all of your subscribers. Each entry matches subscribers in any of its ids. To require several tags or segments under all, send one entry for each, for example [{ "all": [{ "type": "tag", "ids": [1] }, { "type": "tag", "ids": [2] }] }].

Response

Updates the broadcast and returns its details

broadcast
object
required