Developer API

Segments & Contacts

Contacts belong to your account and can be in any number of segments. These are separate from your Email Marketing contact lists. Legacy /audiences/{id}/contacts endpoints are supported for older SDKs; /audiences is an alias of /segments.

Create segment

POST/segments

Creates an empty segment.

Request

curl -X POST 'https://api.iresendly.com/segments' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Newsletter"
}'

Response

{
  "object": "segment",
  "id": "78261eea-…",
  "name": "Newsletter"
}

List segments

GET/segments

With contact counts.

Request

curl -X GET 'https://api.iresendly.com/segments' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "object": "list",
  "data": [
    {
      "object": "segment",
      "id": "78261eea-…",
      "name": "Newsletter",
      "contacts_count": 1204
    }
  ]
}

Delete segment

DELETE/segments/{id}

Contacts are kept.

Request

curl -X DELETE 'https://api.iresendly.com/segments/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "object": "segment",
  "id": "78261eea-…",
  "deleted": true
}

Create contact

POST/contacts

Creates the contact, or updates it and adds segments if the email already exists.

Body parameters

emailstringrequired

Contact email.

first_name / last_namestring

Optional names (used by {{{FIRST_NAME}}}).

unsubscribedboolean

Opt-out from broadcasts.

propertiesobject

Custom fields usable as {{{key}}} in broadcasts.

segments{ id }[]

Segments to add the contact to.

Request

curl -X POST 'https://api.iresendly.com/contacts' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "steve@example.com",
  "first_name": "Steve",
  "segments": [
    {
      "id": "78261eea-…"
    }
  ]
}'

Response

{
  "object": "contact",
  "id": "479e3145-dd38-476b-932c-529ceb705947"
}

Retrieve contact

GET/contacts/{id|email}

By id or email.

Request

curl -X GET 'https://api.iresendly.com/contacts/{id|email}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "object": "contact",
  "id": "479e3145-…",
  "email": "steve@example.com",
  "unsubscribed": false,
  "segments": [
    {
      "id": "78261eea-…"
    }
  ]
}

List contacts

GET/contacts

Optional ?segment_id= filter.

Request

curl -X GET 'https://api.iresendly.com/contacts' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "object": "list",
  "has_more": false,
  "data": []
}

Update contact

PATCH/contacts/{id|email}

Update names, properties or unsubscribed.

Request

curl -X PATCH 'https://api.iresendly.com/contacts/{id|email}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "unsubscribed": true
}'

Response

{
  "object": "contact",
  "id": "479e3145-…"
}

Delete contact

DELETE/contacts/{id|email}

Deletes the contact.

Request

curl -X DELETE 'https://api.iresendly.com/contacts/{id|email}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "object": "contact",
  "contact": "479e3145-…",
  "deleted": true
}

Add to segment

POST/contacts/{id|email}/segments/{segment_id}

Adds an existing contact to a segment.

Request

curl -X POST 'https://api.iresendly.com/contacts/{id|email}/segments/{segment_id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'

Response

{
  "id": "78261eea-…"
}