Contacts
List contacts
GET/v1/contacts
Requires an API key with the contacts:read scope. About keys and scopes
Returns contacts in this organization. Filter by email to look up a single address; it is matched trimmed and without case. Filter by externalId to find the contact carrying your own id; it is matched exactly. Use q to search instead: it matches any part of the email address or name, ignoring case. consent, suppressed, groupId, segmentId and createdAfter narrow the list and combine with each other and with q; an unknown group or segment is a 404. Each item lists the groups it is in (groupIds). meta.total counts every contact matching the filters, up to 10000: beyond that it reports the cap and meta.totalExact is false; both are counted on the first page only (null with a cursor). Results are newest first and cursor-paginated: pass meta.pagination.nextCursor back as cursor until it comes back null. The cursor is opaque — do not construct or parse one.
Query parameters
limitintegeroptionalmin > 0 · max 100 · default
20cursorstringoptional1–2048 characters
emailstringoptionalExact match on the address, trimmed, without case.
qstringoptionalSearches any part of the email address or name, ignoring case.
1–100 characters
externalIdstringoptionalYour own id for the contact, as set with identify; matched exactly.
1–255 characters
consentstringoptionalComma-separated channels, e.g.
email,push: consent granted on each.suppressedstringoptionalWhether email to the contact, or to its address, is suppressed.
one of
true,falsegroupIdstringoptionalOnly members of this group.
uuid
segmentIdstringoptionalThe segment's members as of its last background sweep.
uuid
createdAfterstringoptionalCreated at or after this time.
date-time
Returns
Returns 200 OK with a list of ContactListItem objects in data, and the next page's cursor in meta (see pagination). Otherwise returns an error; Errors lists every code and which to retry.
idstringrequireduuid
externalIdstring | nullrequiredYour own id for the contact, if set.
emailstring | nullrequiredemail
firstNamestring | nullrequiredlastNamestring | nullrequiredphonestring | nullrequiredPhone number in E.164 format.
timezonestring | nullrequiredIANA timezone, e.g.
Europe/London.countrystring | nullrequiredISO 3166-1 alpha-2 code: as written, or inferred from the phone, else the timezone.
datesobjectrequiredNamed calendar dates, e.g.
birthday, asYYYY-MM-DDor--MM-DD.attributesobjectrequiredCustom attributes, keyed by attribute name.
emailConsentbooleanrequiredWhether the contact has consented to email.
pushConsentbooleanrequiredWhether the contact has consented to push.
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
emailSuppressionobjectrequired2 child attributes
suppressedbooleanrequiredWhether email to this contact is blocked.
reasonstring | nullrequiredWhy email to this contact is suppressed:
bounced,complained,complained_transactional,unsubscribed,manual,imported, orother_workspace(a bounce or complaint in another workspace with the same owner or partner).
groupIdsstring[]requiredIds of the groups the contact is in.