Developer API
Broadcasts
Broadcasts personalize {{{FIRST_NAME|fallback}}}, {{{LAST_NAME}}}, {{{EMAIL}}}, contact properties and {{{IRESENDLY_UNSUBSCRIBE_URL}}}. If the body has no unsubscribe link we add one, plus List-Unsubscribe one-click headers. Unsubscribed contacts and suppressed addresses are skipped. A broadcast pauses automatically if more than 5% of recipients bounce or complain.
Create broadcast
POST
/broadcastsCreates a draft.
Body parameters
segment_idstringrequiredTarget segment (audience_id also accepted).
fromstringrequiredVerified sender.
subjectstringrequiredSubject line.
html / text / template_idstringBody — one is required.
reply_tostring | string[]Reply-To.
preview_textstringInbox preview.
namestringInternal name.
Request
curl -X POST 'https://api.iresendly.com/broadcasts' \
-H 'Authorization: Bearer irs_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"segment_id": "78261eea-…",
"from": "Acme <news@acme.com>",
"subject": "October update",
"html": "<p>Hi {{{FIRST_NAME|there}}}</p>"
}'Response
{
"id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794"
}Send broadcast
POST
/broadcasts/{id}/sendSends now, or at scheduled_at.
Request
curl -X POST 'https://api.iresendly.com/broadcasts/{id}/send' \
-H 'Authorization: Bearer irs_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"scheduled_at": "in 1 hour"
}'Response
{
"id": "49a3999c-…"
}Retrieve broadcast
GET
/broadcasts/{id}Includes status and stats.
Request
curl -X GET 'https://api.iresendly.com/broadcasts/{id}' \
-H 'Authorization: Bearer irs_xxxxxxxxx'Response
{
"object": "broadcast",
"id": "49a3999c-…",
"status": "sent",
"stats": {
"recipients": 1204,
"sent": 1198,
"failed": 0,
"skipped": 6
}
}Update broadcast
PATCH
/broadcasts/{id}Drafts only.
Request
curl -X PATCH 'https://api.iresendly.com/broadcasts/{id}' \
-H 'Authorization: Bearer irs_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"subject": "October update (final)"
}'Response
{
"id": "49a3999c-…"
}Delete / cancel broadcast
DELETE
/broadcasts/{id}Deletes a draft or cancels a scheduled broadcast.
Request
curl -X DELETE 'https://api.iresendly.com/broadcasts/{id}' \
-H 'Authorization: Bearer irs_xxxxxxxxx'Response
{
"object": "broadcast",
"id": "49a3999c-…",
"deleted": true
}List broadcasts
GET
/broadcastsNewest first.
Request
curl -X GET 'https://api.iresendly.com/broadcasts' \
-H 'Authorization: Bearer irs_xxxxxxxxx'Response
{
"object": "list",
"has_more": false,
"data": []
}