Docs

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 audience
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 audiences
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 audience
curl https://api.irisend.com/audiences/919b2edf-a103-4b9f-bde7-731668bdfd5c \
  -H "Authorization: Bearer $IRISEND_API_KEY"
DELETE/audiences/:idDelete an audience
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 contact

Upserts 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).

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 contacts
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.

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 }