---
title: "Fetch Email Broadcast Sent Content"
method: GET
path: "/emails/broadcasts/{broadcast_id}/sent_content"
tags: ["Emails::Broadcast"]
---

# Fetch Email Broadcast Sent Content

`GET /emails/broadcasts/{broadcast_id}/sent_content`

## Request

- Base URL: `https://myworkspace.myclickfunnels.com/api/v2`
- URL: `https://myworkspace.myclickfunnels.com/api/v2/emails/broadcasts/{broadcast_id}/sent_content`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://accounts.myclickfunnels.com/oauth/authorize`
    - Token URL: `https://accounts.myclickfunnels.com/oauth/token`
- TypeScript: <https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/docs/emails/broadcasts/:broadcast_id/sent_content/get.ts> (a function with typed inputs; its response is checked against the schema)

The HTML an email broadcast actually sent, one entry per distinct document.

A broadcast points at its template rather than copying it, so the template's body
(`GET /api/v2/emails/templates/{id}?expand[]=html_body`) shows the template as it is now and
changes if the template is edited after the send. This endpoint returns what recipients
received, as recorded when each send went out: the template plus the preview text,
mailing address and branding the workspace adds, before merge tags were filled in and links
were rewritten per contact. No contact data is included.

A split-test broadcast returns one version per variant whose preview text differs. Variants
that differ only in subject share a document, because the subject is not part of it. Match a
version to the broadcast's `variants` (`GET /api/v2/emails/broadcasts/{id}`) by
`preheadline`. A broadcast whose template or workspace settings changed while it was sending
returns a version for each document it sent.

Broadcasts that sent before documents were recorded (about mid-2023), and broadcasts that
have not sent, return an empty `versions` list.

## Path parameters

- `broadcast_id` string, required

## Response `200`

OK

- EmailsBroadcastSentContentAttributes: The distinct HTML documents an email broadcast sent, as recorded at send time.
  - `broadcast` object: The broadcast this content belongs to
    - `id` integer: Broadcast ID
    - `public_id` string, nullable: Broadcast public ID
    - `name` string, nullable: Internal name for the broadcast
  - `versions` object[]: One entry per distinct document, ordered by when it was first sent. Empty for a broadcast that has not sent, or that sent before documents were recorded (about mid-2023).
    - `html_hash` string: SHA-256 of `html_body`. Stable for a document, so it identifies the same version across calls.
    - `preheadline` string, nullable: The preview text inside the document, `null` when it has none. Split-test variants differ only in subject and preview text, and the subject is not part of the document, so this is how a version is matched to an entry in the broadcast's `variants`.
    - `first_sent_at` string, date-time: When this document was first sent
    - `html_body` string: The document as sent, before merge tags were filled in and links were rewritten per contact. Includes the preview text, the mailing address and branding the workspace adds.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden — the token's scopes don't grant read access to emails. Not retryable.
- `404`: Not Found — broadcast not found
- `503`: Service Unavailable — the lookup exceeded the database timeout, or a dependency was briefly unavailable. Retryable.

## Changes

- **2026-11-03** `511d88b30aea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/changes/emails/broadcasts/:broadcast_id/sent_content/get.md)

---

[API](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api.md) - [All operations](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/revisions/511d88b30aea?raw)
