Audiences & contacts
An audience is a list of contacts you send broadcasts to, with contacts nested under the audience that owns them. Full /audiences and /contacts API reference.
POST
/audiencesCreate an audienceRequest
curl -X POST https://api.irisend.com/audiences \
-H "Authorization: Bearer $IRISEND_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Newsletter" }'ResponseJSON
{ "object": "audience", "id": "919b2edf-a103-4b9f-bde7-731668bdfd5c", "name": "Newsletter" }GET
/audiencesList audiencesRequest
curl https://api.irisend.com/audiences \
-H "Authorization: Bearer $IRISEND_API_KEY"ResponseJSON
{
"object": "list",
"has_more": false,
"data": [{ "id": "919b2edf-a103-4b9f-bde7-731668bdfd5c", "name": "Newsletter", "created_at": "2026-09-25T09:00:12.481Z" }]
}GET
/audiences/:idRetrieve an audienceRequest
curl https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c \
-H "Authorization: Bearer $IRISEND_API_KEY"DELETE
/audiences/:idDelete an audienceRequest
curl -X DELETE https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c \
-H "Authorization: Bearer $IRISEND_API_KEY"ResponseJSON
{ "object": "audience", "id": "919b2edf-a103-4b9f-bde7-731668bdfd5c", "deleted": true }POST
/audiences/:id/contactsAdd (or update) a contactUpserts on (audience, email) — posting an email already in the audience updates first_name/last_name/unsubscribed instead of erroring. Email is case-insensitive (stored lower-cased).
Request
curl -X POST https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c/contacts \
-H "Authorization: Bearer $IRISEND_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "first_name": "Jane" }'ResponseJSON
{ "object": "contact", "id": "b0f682a0-d520-40a4-9149-756584a561c2" }GET
/audiences/:id/contactsList contactsRequest
curl https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c/contacts \
-H "Authorization: Bearer $IRISEND_API_KEY"ResponseJSON
{
"object": "list",
"has_more": false,
"data": [
{
"object": "contact",
"id": "b0f682a0-d520-40a4-9149-756584a561c2",
"email": "[email protected]",
"first_name": "Jane",
"last_name": null,
"unsubscribed": false,
"created_at": "2026-09-25T09:00:12.481Z"
}
]
}DELETE
/audiences/:id/contacts/:contactRemove a contact:contact accepts either the contact id or its email address. The response's id field is named contact, not id — the one asymmetry in this API's delete responses.
Request
curl -X DELETE https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c/contacts/[email protected] \
-H "Authorization: Bearer $IRISEND_API_KEY"ResponseJSON
{ "object": "contact", "contact": "b0f682a0-d520-40a4-9149-756584a561c2", "deleted": true }