Sign inGet started

List the broadcasts blocking a template delete

GET
/v1/email/templates/{template_ref}/broadcasts
bird email templates broadcasts list <template-ref>
Response200
{
  "data": [
    {
      "id": "eb_01krdgeqcxet5s7t44vh8rt9mg",
      "status": "scheduled",
      "scheduled_at": "2026-07-03T09:00:00Z",
      "created_at": "2026-07-01T00:00:00Z"
    }
  ],
  "next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns the broadcasts that block deleting this template, as a cursor page, newest first. Those are the ones that have not started sending, so they have not pinned the content they will send: scheduled and accepted. Clear every one of them and the delete goes through. Canceling clears either status; repointing at another template only works while the broadcast is scheduled, because an accepted broadcast is committed to send and an edit returns a conflict. A broadcast that is already sending is not listed and does not block the delete, because it froze its version when it started.
Parameters
template_ref
string
The template's id (emt_…) or slug. A built-in system template's bird_ slug also resolves here, but a system template can never be referenced by a broadcast, so this always returns an empty page for one.
Query Parameters
limit
integer
Maximum number of items to return per page.
starting_after
string
Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_before
string
Cursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
Response Payload
data
array of object
required
Page of broadcasts blocking a delete of the template, newest first.
Show child attributes
data.id
string
required
Broadcast ID.
data.status
string
required
Where the broadcast has got to. Only scheduled and accepted appear here: those are the two that have not pinned their content yet, so they are the ones blocking the delete. This list carries the status alone; the per-recipient totals live on the broadcast itself.
data.scheduled_at
nullable string
When the broadcast is due to send, or null when it is not scheduled.
data.created_at
string
required
When the broadcast was created.
next_cursor
nullable string
required
Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursor
nullable string
required
Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursor
nullable string
required
Refresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.