Skip to content

Preview a lifecycle email

POST/v1/event/{eventId}/emails/{key}/authoring/preview

US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com

Renders one of an in-person event's or webinar's lifecycle emails exactly as Sessionboard's own preview draws it: the event's real name, date, venue and join link, the Brand kit, and the footer the send adds. version: live (the default) is what sends today; version: proposed is the design an AI assistant proposed, which a person has not accepted yet (404 when there is none).

Returns subject, preheader, html, text, design_mode and accessibility_warnings. A read: it stores nothing and emails no one. Requires read:events; the organization's AI switch applies, and a key restricted to particular events can preview only those events' emails.

Request example

Terminal window
curl --request POST \
--url 'https://public-api.sessionboard.com/v1/event/{eventId}/emails/{key}/authoring/preview' \
--header 'x-access-token: <api-token>' \
--header 'Content-Type: application/json' \
--data '{
"version": "live"
}'

Try it

Authorization

Your token stays in this page. It is sent only to the region above and is never saved; it is gone when you leave or reload the page.

Path parameters
Body application/json
POST

Authorizations

  • x-access-tokenstringheader

    Organization API token. Generate from Organization Settings → API Tokens.

  • AuthorizationBearer <token>headeror

    OAuth 2.1 access token. Obtained via the OAuth PKCE flow at /oauth/token.

Send one of these. See Authentication.

Path parameters

  • eventIdintegerpathrequired

    The event or webinar

  • keystringpathrequired

    The email's key, e.g. gathering-reminder

Request body

application/json

  • versionstring
    Allowed values
    "live", "proposed"
    Default
    "live"
{
"version": "live"
}

Responses

200application/json

The rendered email.

  • successboolean
  • payloadobject
    Show child attributes
    • keystring
    • versionstring
      Allowed values
      "live", "proposed"
    • proposed_byobject | null

      Who proposed the design (proposed only)

    • proposed_atstring<date-time> | null
    • subjectstring
    • preheaderstring | null
    • htmlstring
    • textstring | null
    • design_modestring
    • accessibility_warningsobject[]

401

Missing, invalid or expired token.

403

The token lacks read:events, is restricted to other events, or AI features are off for the organization.

404

The event is not in the token's organization, there is no email with that key, or there is no proposed design.

Response examples

{
"success": true,
"payload": {
"key": "<string>",
"version": "live",
"proposed_by": {},
"proposed_at": "2026-01-15T09:30:00Z",
"subject": "<string>",
"preheader": "<string>",
"html": "<string>",
"text": "<string>",
"design_mode": "<string>",
"accessibility_warnings": [
{}
]
}
}

Get release notes by email

A short digest on the days something new goes live — each change with a link to its note in the release notes. No marketing, and one click to stop.

Company email addresses only. We’ll send one email to confirm it’s you. Already use Sessionboard? You can also turn this on under Community → What’s new.