Make calls to API endpoints without the need for a REST client. Just click on an endpoint to see available parameters. An active access token is required. If you don't have one, please contact your account representative.

Use with caution! Changes made here are live.

Contacts

POST GET contacts/activities

Get all contact activities by date range. When paging through results it is important to use static dates for startDate and endDate to ensure the data is consistent throughout the results. Only data for the last year is available. Data provided by this endpoint may be delayed.

Param Value Type Description
startDate * datetime Return activities after this date. Due to the large amount of data that can be returned, it is recommended to use a narrow date range.
endDate * datetime Return activities before this date. For consistent results, use a static value (i.e. don't use a function to get the current time) in the past and keep the same value when paging through results.
activities * array[string] Activities are categorized by type and can be filtered using the pattern "{activityType}:{activity}". Use * to return all activities of a particular type (e.g. EMAIL:* will return all email-related activities).
EMAIL:*, EMAIL:SENT, EMAIL:VIEWED, EMAIL:CLICKED, EMAIL:VIEWEDASWEBPAGE, EMAIL:FORWARDED, EMAIL:SHARED, EMAIL:BOUNCED, EMAIL:COMPLAINED, EMAIL:UNSUBSCRIBED, WEBTRACKING:*, WEBTRACKING:PAGEVIEW
contactID integer Return activities for a specific contact
contactFields string Comma-separated list of contact fields to return. Available fields: address1, address2, city, company, contactID, content1-content10, country, custom1-customX, customerID, dateAdded, dateHeld, dateModified, dateOfBirth, dateSuppressed, email, fax, firstName, held, lastName, originalSource, phone, purl, state, suppressed, title, userID, zipCode, lastActivityDate, lastClickDate, contactScore
contactID, email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
100
1
1000
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST contacts/delete

Delete an existing contact record. Suppressed records cannot be deleted.

Request Body
{"contactID":0}
Access token: *

POST contacts/deleteGroups

Remove contact from the groups provided. ContactID or email is required.

Request Body
{"email":"","contactID":0,"groupIDs":""}
Access token: *

POST GET contacts/getEmailHistory

Get emails sent to a single contact. ContactID or email is required.

Param Value Type Description
contactID integer Unique ID of a contact
email email-address An email address of an existing contact
dateSentStart datetime Emails sent since this date.
dateSentEnd datetime Emails sent before this date.
viewed boolean
clicked boolean
suppressed boolean
complained boolean
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
250
sortField string The field to sort results by
dateSent
dateSent
sortDirection string The direction to sort results
desc
asc, desc
Access token: *

POST GET contacts/getGroups

Get groups for a single contact. ContactID or email is required.

Param Value Type Description
contactID integer Unique ID of a contact
email email-address An email address of an existing contact
Access token: *

POST contacts/import

Save multiple contact records from a JSON array. All records in array must match in structure! The structure is defined by the first record. All records must contain an email address. Max of 1000 records at a time. Suppressed contact records cannot be unsuppressed through this endpoint.

Request Body
{"contacts":[],"removeGroupIDs":"","updateExisting":1,"groupIDs":""}
Access token: *

POST GET contacts/lookup

Get full details for contacts by either contactID or email

Param Value Type Description
contactID integer Unique ID of a contact
contactIDs array[integer] Multiple contactIDs. Requests that use this parameter will change the response data from a single object to an array of objects.
100
email email-address An email address of an existing contact
Access token: *

POST contacts/save

Save a single contact record. ContactID or email is required. Only data for parameters passed in is saved.

Request Body
{"phone":"","state":"","ipaddress":"","firstName":"","email":"","contactID":0,"groupIDs":"","notes":"","removeGroupIDs":"","customerID":"","held":0,"country":"","lastName":"","contentVariables":{},"userID":0,"purl":"","address1":"","memo":"","originalSource":"","address2":"","zipCode":"","customFields":{},"suppressed":0,"company":"","city":"","dateofbirth":"","title":"","fax":""}
Access token: *

POST contacts/saveGroups

Save groups for an existing contact. ContactID or email is required. By default, this call mirrors the functionality of /contacts/save when passing the "groupIDs" parameter. However, here you can include a "suppressed" flag per group which allows you to set group-level suppression.

Request Body
{"groups":[],"email":"","contactID":0}
Access token: *

POST GET contacts/search

Search contacts by various criteria

Custom Fields

POST GET customFields/lookup

Get full details for a single custom field by systemName

Param Value Type Description
systemName * string Internal name used to identify each custom field (customX)
Access token: *

POST GET customFields/search

Search custom fields

Groups

POST groups/addContacts

Add one or more existing contacts to a group.

Request Body
{"groupID":0,"contactIDs":""}
Access token: *

POST groups/delete

Delete single group record. This does not delete contacts records that belong to the group. Groups marked as "protected" cannot be deleted.

Request Body
{"groupID":0}
Access token: *

POST GET groups/lookup

Get full details for groups

Param Value Type Description
groupID integer Unique ID of a group
groupIDs array[integer] Multiple groupIDs. Requests that use this parameter will change the response data from a single object to an array of objects.
25
Access token: *

POST groups/removeContacts

Remove one or more existing contacts from a group.

Request Body
{"groupID":0,"contactIDs":""}
Access token: *

POST groups/save

Add/update a single group record. Dynamic groups cannot be created through the API.

Request Body
{"notes":"","groupID":0,"status":"","friendlyName":"","groupName":"","description":"","userIDs":"","protected":0,"private":1,"externalID":""}
Access token: *

POST GET groups/search

Search groups by various criteria

Emails

POST emails/cancelSchedule

Cancel a scheduled email send

Request Body
{"emailID":0}
Access token: *

POST emails/copy

Create a copy an existing email and return it as a draft

Request Body
{"emailID":0}
Access token: *

POST emails/delete

Delete an existing email. Deleting a sent email will throw an error.

Request Body
{"emailID":0}
Access token: *

POST GET emails/getActivityLog

Get log of activity for a given email (who, what, when)

Param Value Type Description
emailID * integer Unique ID of email
Access token: *

POST GET emails/lookup

Get full details for emails, including high-level deliverability metrics (for sent emails)

Param Value Type Description
emailID integer Unique ID of an email
emailIDs array[integer] Multiple emailIDs. Requests that use this parameter will change the response data from a single object to an array of objects.
25
Access token: *

POST emails/save

Save content and header information for an email. Can pass an email object (i.e. response from /emails/lookup) or just key/value pairs.

Request Body
{"fromAddress":"","htmlVersionEditable":0,"fromName":"","templateID":0,"userID":0,"replyToName":"","subject":"","title":"","content":{},"recipients":{},"emailID":0,"replyToAddress":""}
Access token: *

POST emails/schedule

Schedule future delivery of a one-time email send. Equivalent to "sending" a scheduled email. Email must be ready to send.

Request Body
{"scheduleSendTime":"","emailID":0}
Access token: *

POST GET emails/search

Search emails by various criteria.

POST emails/send

Send an existing email to its assigned recipients. The email must first be created using /emails/save. Once an email is sent, it cannot be modified in any way, but it can be copied to a new draft.

Request Body
{"emailID":0}
Access token: *

POST emails/sendTest

Send a test of an existing email to a single recipient.

Request Body
{"recipientEmail":"","emailID":0}
Access token: *

POST emails/sendTransactional

Send a transactional email to a limited number of contacts in a single call. Transactional emails contain information that completes a transaction or process the recipient has started with you. This endpoint should never be used to send marketing emails. To include suppressed contacts, be sure to use the ignoreContactSuppression flag. NOTE: This endpoint must be enabled for your account before use. Please contact support for access.

Request Body
{"contacts":[],"ignoreContactSuppression":0,"email":{},"transactionalCategory":""}
Access token: *

POST GET emails/transactionalCategories

Get all transactional categories

Param Value Type Description
Method has no parameters
Access token: *

Email Reports

POST GET emailReports/bounces

Get bounce data per contact for a given email

Param Value Type Description
emailID * integer ID of email
bounceType string Filter by bounce type. SB (soft bounce) returns all bounce types except HB (hard bounce)
HB, SB
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/bounceSummary

Summary counts of bounces by type for a given email

Param Value Type Description
emailID * integer ID of email
Access token: *

POST GET emailReports/clicks

Get link click data per contact for a given email

Param Value Type Description
emailID * integer ID of email
link string Filter by specific link
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/clickSummary

Summary of clicks for a given email

Param Value Type Description
emailID * integer ID of email
Access token: *

POST GET emailReports/complaints

Contacts who complained about a given email

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/deviceSummary

Summary of devices (i.e. Outlook, iPhone) by type (Desktop/Mobile) for a given email (device data only available for recipients who viewed or clicked email)

Param Value Type Description
emailID * integer ID of email
Access token: *

POST GET emailReports/domainSummary

Summary metrics of top domains for a given email

Param Value Type Description
emailID * integer ID of email
Access token: *

POST GET emailReports/forwards

Contacts who forwarded a given email

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/recipients

Get recipients for a given email

Param Value Type Description
emailID * integer ID of email
viewed boolean Filter by contacts who viewed
clicked boolean Filter by contacts who clicked a link
bounced boolean Filter by contacts who bounced
bounceType string Filter by bounce type. SB (soft bounce) returns all bounce types except HB (hard bounce)
HB, SB
suppressed boolean Filter by contacts who opted out
complained boolean Filter by contacts who complained
contactFields string Comma-separated list of contact fields to return. Available fields: address1, address2, city, company, contactID, content1-content10, country, custom1-customX, customerID, dateAdded, dateHeld, dateModified, dateOfBirth, dateSuppressed, email, fax, firstName, held, lastName, originalSource, phone, purl, state, suppressed, title, userID, zipCode, lastActivityDate, lastClickDate, contactScore
contactID, email, firstName, lastName
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
Access token: *

POST GET emailReports/shares

Contacts who shared a given email on social networks

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/unsubscribes

Contacts who unsubscribed from a given email

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/views

Contacts who viewed (opened) a given email

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

POST GET emailReports/webviews

Contacts who viewed a given email as a web page

Param Value Type Description
emailID * integer ID of email
page integer Number of page in results to return
1
1
rpp integer Number of records to return per page
20
1
1000
sortField string The field to sort results by
date
contactID, email, date
sortDirection string The direction to sort results
asc
asc, desc
Access token: *

Email Templates

POST GET templates/lookup

Get full details for email templates

Param Value Type Description
templateID integer Unique ID of a template
templateIDs array[integer] Multiple templateIDs. Requests that use this parameter will change the response data from a single object to an array of objects.
Access token: *

POST GET templates/search

Search email templates

Users

POST GET users/lookup

Get full details for users by ID or username

Param Value Type Description
userID integer Unique ID of a user
userIDs array[integer] Multiple userIDs. Requests that use this parameter will change the response data from a single object to an array of objects.
25
username string Unique username
Access token: *

POST GET users/search

Search users by various criteria

POST GET users/self

Get full details for the authenticated user.

Param Value Type Description
Method has no parameters
Access token: *

Bulk Exports

POST GET exports/contacts

Export contact data

Param Value Type Description
groupID integer Return contacts in a given group
lastActivityDate datetime Date since contacts viewed or clicked any email
fields string Comma-separated list of fields to return. Available fields: address1, address2, city, company, contactID, content1, content2, content3, country, custom1, custom2, ...custom20, customerID, dateAdded, dateHeld, dateModified, dateOfBirth, dateSuppressed, email, fax, firstName, held, lastName, originalSource, phone, purl, state, suppressed, title, userID, zipCode
contactID, userID, email, firstName, lastName, suppressed, held, dateAdded
Access token: *

POST GET exports/emailBounces

Get bounce data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Bounces after this date
endDate * datetime Bounces before this date
Access token: *

POST GET exports/emailClicks

Get clicks data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Clicks after this date
endDate * datetime Clicks before this date
Access token: *

POST GET exports/emailComplaints

Get complaint data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Complaints after this date
endDate * datetime Complaints before this date
Access token: *

POST GET exports/emailForwards

Get forwards data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Forwards after this date
endDate * datetime Forwards before this date
Access token: *

POST GET exports/emailRecipients

Get recipient data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Emails sent after this date
endDate * datetime Emails sent before this date
Access token: *

POST GET exports/emails

Get all metrics for sent emails. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Emails sent after this date
endDate * datetime Emails sent before this date
Access token: *

POST GET exports/emailShares

Get shares data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Shares after this date
endDate * datetime Shares before this date
Access token: *

POST GET exports/emailUnsubscribes

Get unsubscribe data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Unsubscribes after this date
endDate * datetime Unsubscribes before this date
Access token: *

POST GET exports/emailViews

Get views data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Views after this date
endDate * datetime Veiws before this date
Access token: *

POST GET exports/emailWebViews

Get web views data across email campaigns. Date range cannot span more than 90 days.

Param Value Type Description
startDate * datetime Web Views after this date
endDate * datetime Web Views before this date
Access token: *

POST GET exports/getFile

Get file generated from an export

Param Value Type Description
fileKey * guid Unique ID used to retrieve file
Access token: *

POST GET exports/jobStatus

Check the status of an export job

Param Value Type Description
jobID * integer Unique ID of export job
Access token: *

Helper

POST GET helper/ping

Use to test API status

Param Value Type Description
Method has no parameters
Access token: *

POST GET helper/systemInfo

Get server information

Param Value Type Description
Method has no parameters
Access token: *

POST GET helper/throw

Manually throw an error. Use to test your application's error handling.

Param Value Type Description
code integer Code for a specific error to throw
Access token: *