Contact list management resource#
The contact list resource handles creation, editing, deletion of contact lists and of individual contacts contained within.
Required API Scopes: account_management
See also: Contact list resource PHP code samples
Get all contact lists#
The resource results can be filtered using the optional querystring parameters:
filter -
allorderby - one of
name, total, lastsenttolistoffset
limit
Request
GET /contact/list?filter=all&orderby=email
Response
{
"contacts": [
{
"list_id": 0,
"name": "all",
"lastsenttolist": null,
"total": "2"
},
{
"list_id": "1",
"name": "test1",
"lastsenttolist": "0000-00-00 00:00:00",
"total": "13"
}
]
"total": 2,
"filters": {
"filter": "all",
"orderby": "email",
"offset": 0,
"limit": 1000
}
}
Get a single contact list with its recipients#
The resource results can be filtered using the optional querystring parameters:
filter - one of
all, subscribed, unsubscribedorderby - one of
email, addedoffset
limit
Request
GET /contact/list/{LIST_HASH}?filter=all&orderby=email
Response
{
"contacts": [
{
"recipient_id": "13328313",
"email": "test1@example.org",
"added": "2012-10-11 18:03:41"
},
{
"recipient_id": "13134105",
"email": "test2@example.org",
"added": "2012-09-05 12:06:13"
},
],
"name": "all",
"total": "2",
"stats": {
"total": 2,
"unsubscribed": 0,
"subscribed": 2
},
"filters": {
"filter": "all",
"orderby": "email",
"offset": 0,
"limit": 1000
}
}
Get a single contact list in CSV format#
May change in the future to use the `Accept` header
The resource results can be filtered using the optional querystring parameters:
filter - one of
all, subscribed, unsubscribed
Request
GET /contact/csv/{LIST_HASH}
Response
Content-type: text/csv
Content-disposition: attachment; filename=listname-filter.csv
email,firstname,lastname,added
email@example.org,John,Doe,2013-01-01 10:00:00
email2@example.org,Jane,Doe,2013-01-01 10:00:00
Get a single recipient from a contact list#
Request
GET /contact/list/{LIST_HASH}/rcpt/{EMAIL}
Response
{
"contacts": [
{
"email": "email@example.org",
"added": "2012-06-24 07:10:42"
}
]
}
Add contacts with custom fields to contactlist#
If you want to add contacts with custom fields, the contacts can be given as a map of key-value pairs:
Request
POST /contact/list/{LIST_HASH}
Request Body
{
"name": "Contact list name",
"contacts": [
{
"email": "email@example.org",
"firstname": "John",
"lastname": "Doe"
},
{
"email": "email2@example.org",
"firstname": "Jane",
"lastname": "Doe"
}
]
}
Response
{
"status": "created",
"columns": "3",
"id": "1"
}
A more compact format which we support is using a definition list. The input can be significantly smaller for large lists.
Request
POST /contact/list
Request Body
{
"name": "Contact list name",
"definition": ["email", "name"],
"contacts": [
["email@example.org", "John"],
["email2@example.org", "Jane"]
]
}
Response
{
"status": "created",
"columns": "2",
"id": "1"
}
Edit an existing contact list#
Add new contacts to an existing contact list. The contacts map supports the same format used for contact list creation, including custom fields. If the contact already exists, the custom fields will be overridden.
Possible action values are:
subscribe
resubscribe
unsubscribe
Request
POST /contact/list/{LIST_HASH}
Request Body
{
"contacts": ["email@example.org", "email2@example.org"],
"action": "subscribe"
}
Response
{
"status": "saved"
}
Manage a single recipient from a contact list#
Edit a contact’s subscription. Possible status values are:
subscribe
unsubscribe
Request
POST /contact/list/{LIST_HASH}/rcpt/{EMAIL}
Request Body
{
"status": "unsubscribe"
}
Response
{
"status": "modified"
}