Sign inGet Started

Preview a broadcast for a contact

POST
/v1/email/broadcasts/{broadcast_id}/preview
const params = {
  template: {
    parameters: {
      title: "Welcome",
      offer: "OCTOBER20",
      discount: 20,
      featured: false,
    },
  },
  contact_id: "con_01krdgeqcxet5s7t44vh8rt9mg",
};
const preview = await bird.broadcasts.preview(
  "eb_01krdgeqcxet5s7t44vh8rt9mg",
  params,
);
console.log(preview.subject, preview.preview_fingerprint);
Response200
{
  "resolution": {
    "template_id": "emt_01krdgeqcxet5s7t44vh8rt9mg",
    "observed_version_id": "emv_01krdgeqcxet5s7t44vh8rt9mg",
    "requested_language": "pt-BR",
    "effective_language": "pt-BR",
    "default_language": "pt-BR"
  },
  "contact_id": "con_01krdgeqcxet5s7t44vh8rt9mg",
  "problems": [
    {
      "code": "parameter_required",
      "phase": "validation",
      "severity": "error",
      "pointer": "/template/parameters/first_name",
      "site": "subject",
      "budget": "output_bytes",
      "contact_id": "con_01krdgeqcxet5s7t44vh8rt9mg"
    }
  ]
}

Render the template's published content using the saved broadcast, the changes supplied in this request and contact values the caller can read. Supplied fields replace the saved values for this preview only. Requires template read permission. Supply contact_id when the template uses contact data. The preview's unsubscribe link does not unsubscribe a contact. This does not send mail. Each call renders a fresh result. An Idempotency-Key header is accepted but does not replay an earlier preview.

Parameters

broadcast_idstring

Broadcast identifier.

Request Payload

template
nullable object

Replaces the template, language or parameters for this request. Null removes the template for this request.

Show child parameters
from
string or object

Replaces the sender for this request. Give it as a plain address, as Jane <jane@acme.com> to include a display name, or as an object with an address and a name.

Show child parameters

Email address, optionally in RFC 5322 mailbox form with an embedded display name.

reply_to
nullable array

Replaces the reply-to addresses for this request. Null removes them.

headers
object

Replaces the custom headers for this request rather than adding to them. Up to 25 of them, each value up to 998 characters. The header rules for updating a broadcast apply.

contact_id
string

The workspace contact whose values fill bird.contact. inputs. Required when the template or envelope reads contact data. Present values are used as they are, and a property's fallback applies only when the contact has no value for it.

Response Payload

resolution
object
required

The published template version and language a validation or preview checked. It does not fix the version a later send uses.

Show child attributes
contact_id
string

The contact whose values personalized this preview. Absent when the request named none.

subject
string
required

The rendered subject line.

preheader
string
required

The text of the hidden preview block that this render of html includes, which inbox clients can show beside the subject. It is empty when the template has no preview text, when the text renders empty, or when the rendered HTML does not include the block. A version published earlier can have preview text whose block its markup leaves out, escapes or removes; publishing the template again places the block. This value describes the rendered HTML and does not show how a provider or inbox displays it. Use it instead of reading the hidden block in html.

html
string
required

The rendered HTML body. When preheader is not empty, it includes the hidden block that carries that text.

text
string
required

The rendered plain-text body.

resolved_parameters
object
required

The broadcast inputs this render used, by name, each with the string, number, boolean or null value it used. It holds the values taken from template.parameters or the selected language's template.parameter_overrides entry, and only for names the rendered content or envelope uses. Contact values are never included. A number keeps the digits it was supplied with.

problems
array of object
required

Problems with the broadcast's inputs found while rendering this preview.

Show child attributes
preview_fingerprint
string
required

An opaque value for this rendered content. It changes when the published version, an input, a contact value, a fallback or the envelope changes. To send this content as a test, repeat the same inputs with this value. Do not parse it.

Continue with the documentation, guides and examples for this topic.