Authentication

The following authentication parameters must be passed as individual HTTP headers or query string parameters.
Name Description
username Your API access username.
password Your API access password.
listname The account you want to access.

Available Routes

/Services.svc/Categories

View HTTP methods
GET
Description: List all categories for the current list.
Parameters:
none
Return Value:
TypeDescription
CategoryDataset.CategoryDataTable
POST: XML, JSON
Description: Add new categories.
Parameters:
NameTypeDescription
behaviorStringBehavior to apply when modifying categories ADD -> add missing contacts, error on existing contacts; UPDATE -> ignore missing contacts, update existing contacts (default: ADD)
categoriesCategoryDataset.CategoryDataTableThe list of categories to add.
Return Value:
TypeDescription
CategoryDataset.CategoryDataTable

/Services.svc/Categories/{categoryNameOrId}

View HTTP methods
GET
Description: Load a category by its id or name.
Parameters:
NameTypeDescription
categoryNameOrIdStringThe category name or category id.
Return Value:
TypeDescription
CategoryDataset.CategoryDataTable
DELETE
Description: Delete a category by its id or name.
Parameters:
NameTypeDescription
categoryNameOrIdStringThe category name or category id.
Return Value:
TypeDescription
Boolean

/Services.svc/Contacts

View HTTP methods
GET
Description: Load a set of contacts by their contactIDs or email address.
Parameters:
NameTypeDescription
emailaddrsArray of StringArray of Email addresses to search for.
contactidsArray of Int32Array of ContactIDs to search for.
Return Value:
TypeDescription
MemberDataset.MemberDataTable
POST: XML, JSON
Description: Add new contacts. When batching multiple contacts, limit batch size to 100 or fewer.
Parameters:
NameTypeDescription
behaviorStringBehavior to apply when modifying contacts ADD -> Add missing contacts, error on existing contacts. UPDATE -> Ignore missing contacts, update existing contacts. UPSERT -> Add missing contacts, update existing contacts. UPSERTUSERID -> Perform an upsert operation, using the UserID as a key to allow email address changes. (UserID is required) (default: UPSERT)
contactsMemberDataset.MemberDataTableList of contacts and demographic information to add.
categoryIDsArray of Int32Array of CategoryIDs to add the affected contacts to.
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Contacts/{emailOrId}

View HTTP methods
GET
Description: Load a contact by their contactID or email address.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
Return Value:
TypeDescription
MemberDataset.MemberDataTable
DELETE: XML, JSON
Description: Delete a contact by their contactID or email address.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
removePermanentlyBooleanWhether to remove the contact permanently (true), or to unsubscribe the contact (false). Contacts which are already unsubscribed may not be removed permanently. (default: false)
Return Value:
TypeDescription
Boolean

/Services.svc/Contacts/{emailOrId}/AddBanned

View HTTP methods
PUT: XML, JSON
Description: Add an email to the banned addresses for an account or site.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
siteBanBooleanWhether to only ban in current account or entire site. (default false)
Return Value:
TypeDescription
BannedMemberDataset.BannedMemberDataTable

/Services.svc/Contacts/{emailOrId}/Categories

View HTTP methods
GET
Description: Load all categories associated with the given contact.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
isSubscribedBooleanWhether to only return categories which the contact is currently subscribed to. (default true)
Return Value:
TypeDescription
CategoryDataset.CategoryDataTable
POST: XML, JSON
Description: Add a contact to a set of categories.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
categoryIDsArray of Int32Array of CategoryIDs to subscribe the contact to.
Return Value:
TypeDescription
CategoryMemberDataset.CategoryMemberDataTable

/Services.svc/Contacts/{emailOrId}/Categories/{categoryNameOrId}

View HTTP methods
GET
Description: Load the category subscription information for a given contact and category.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
categoryNameOrIdStringThe category name or category id.
Return Value:
TypeDescription
CategoryMemberDataset.CategoryMemberDataTable
PUT
Description: Add a contact to a specific category.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
categoryNameOrIdStringThe category name or category id.
Return Value:
TypeDescription
Boolean
DELETE
Description: Remove a contact from a category.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
categoryNameOrIdStringThe category name or category id.
Return Value:
TypeDescription
Boolean

/Services.svc/Contacts/{emailOrId}/IsBanned

View HTTP methods
GET
Description: Check if a contact is listed as banned in the database.
Parameters:
NameTypeDescription
emailOrIdStringThe Email address or ContactID of an existing contact.
Return Value:
TypeDescription
Boolean

/Services.svc/Contacts/JoinRange

View HTTP methods
GET
Description: Load a set of contacts added within the given timeframe. NOTE: Limited to 10,000 if PageSize is NOT supplied or larger than 10,000.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Contacts/ListModified

View HTTP methods
GET
Description: Load a set of contacts recently modified since the given start date. NOTE: Limited to 10,000 if PageSize is NOT supplied or larger than 10,000.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Contacts/Recent

View HTTP methods
GET
Description: Load a set of contacts recently added within the last 25 minutes.
Parameters:
none
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Contacts/RecentUnsub

View HTTP methods
GET
Description: Load a set of contacts that unsubscribed within the last 25 minutes.
Parameters:
none
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Contacts/Test

View HTTP methods
GET
Description: Test the authentication credentials the user provided.
Parameters:
none
Return Value:
TypeDescription
Int32

/Services.svc/Contacts/UnsubRange

View HTTP methods
GET
Description: Load a set of contacts unsubscribed within the given timeframe. NOTE: Limited to 10,000 if PageSize is NOT supplied or larger than 10,000.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
MemberDataset.MemberDataTable

/Services.svc/Mailings/Approval

View HTTP methods
GET
Description: List mailings that need approval.
Parameters:
none
Return Value:
TypeDescription
ApprovalMailDataset.ApprovalMailDataTable
POST: XML, JSON
Description: Add new mailings to the approval queue.
Parameters:
NameTypeDescription
newMailMailDataset.MailDataTableList of mailings to be created.
Return Value:
TypeDescription
MailDataset.MailDataTable

/Services.svc/Mailings/Approval/{messageID}

View HTTP methods
GET
Description: Load an existing mailing.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the approval queue.
Return Value:
TypeDescription
ApprovalMailDataset.ApprovalMailDataTable
DELETE
Description: Delete an existing mailing.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the approval queue.
Return Value:
TypeDescription
Boolean

/Services.svc/Mailings/Scheduled

View HTTP methods
GET
Description: List mailings that are scheduled to send at a later date.
Parameters:
none
Return Value:
TypeDescription
ApprovalMailDataset.ApprovalMailDataTable
POST: XML, JSON
Description: Add a new mailing to send later.
Parameters:
NameTypeDescription
newMailMailDataset.MailDataTableList of mailings to be created.
sendDateTimeDateTimeSchedule date/time for the mailings to be sent.
Return Value:
TypeDescription
MailDataset.MailDataTable

/Services.svc/Mailings/Scheduled/{messageID}

View HTTP methods
PUT: XML, JSON
Description: Schedule an existing mailing to send at a later date.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the approval or scheduled queue.
sendDateTimeDateTimeSchedule date/time for the mailings to be sent.
Return Value:
TypeDescription
Boolean
DELETE
Description: Delete an existing mailing.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the scheduled queue.
Return Value:
TypeDescription
Boolean

/Services.svc/Mailings/Scheduled/TimeOptimize/{messageID}

View HTTP methods
PUT: XML, JSON
Description: Schedule an existing mailing to send at a later date with Send Time Optimization. The mailing will be sent to the recipient based on when they are most likely to engage. Recipients will be sent to over the 24-hour period following the send date..
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the approval or scheduled queue.
sendDateTimeDateTimeSchedule date/time for the mailings to be sent.
Return Value:
TypeDescription
Boolean

/Services.svc/Mailings/Scheduled/TimeZone/{messageID}

View HTTP methods
PUT: XML, JSON
Description: Schedule an existing mailing to send at a later date with Time Zone Sending. Must be scheduled at least 24 hours into the future. If time zone is unknown, the default will be time zone set for account.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the approval or scheduled queue.
sendDateTimeDateTimeSchedule date/time for the mailings to be sent.
Return Value:
TypeDescription
Boolean

/Services.svc/Mailings/Tests/{messageID}

View HTTP methods
PUT: XML, JSON
Description: Send a test mailing to a reciepient.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of the mailing to be tested. May be a mailing in the approval or scheduled queues, or a transactional mailing.
sendSpamTestBooleanWhether to generate a spam test report in addition to the test mailing. (default: false)
toAddressStringThe address to send the test.
Return Value:
TypeDescription
Int32The MessageID for the new test mailing.

/Services.svc/Mailings/Transactional

View HTTP methods
GET
Description: List all transactional mailings for this list.
Parameters:
none
Return Value:
TypeDescription
ApprovalMailDataset.ApprovalMailDataTable
POST: XML, JSON
Description: Add new transactional mailings.
Parameters:
NameTypeDescription
newMailMailDataset.MailDataTableList of mailings to be created.
Return Value:
TypeDescription
MailDataset.MailDataTable

/Services.svc/Mailings/Transactional/{messageID}

View HTTP methods
GET
Description: Load record for the given TransactionalMessageID.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing transactional mailing.
Return Value:
TypeDescription
ApprovalMailDataset.ApprovalMailDataTable
DELETE
Description: Delete a transactional mailing.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing mailing in the scheduled queue.
Return Value:
TypeDescription
Boolean

/Services.svc/Mailings/Transactional/{messageID}/Recipients

View HTTP methods
POST: XML, JSON
Description: Add a list of addresses to a transactional mailing. Will add specified contacts to the list first if they do no exist.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing transactional mailing.
contactsMemberDataset.MemberDataTableList of contacts and demographic information to add.
Return Value:
TypeDescription
Int32The current outgoing MessageID for the specified transactional mailing. Useful for querying reports.

/Services.svc/Mailings/Transactional/{messageID}/Recipients/{emailOrId}

View HTTP methods
PUT
Description: Add a contact to a transactional mailing.
Parameters:
NameTypeDescription
messageIDInt32The MessageID of an existing transactional mailing.
emailOrIdStringThe Email address or ContactID of an existing contact.
Return Value:
TypeDescription
Int32The current outgoing MessageID for the specified transactional mailing. Useful for querying reports.

/Services.svc/Reports

View HTTP methods
GET
Description: List all reporting statistics for a given date range.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportSummaryDataDataset.ReportSummaryDataDataTable

/Services.svc/Reports/{mailingID}

View HTTP methods
GET
Description: List all reporting statistics for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportSummaryDataDataset.ReportSummaryDataDataTable

/Services.svc/Reports/{mailingID}/Bounces

View HTTP methods
GET
Description: List all Bounce events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportBounceEventDataTable

/Services.svc/Reports/{mailingID}/Clickstream

View HTTP methods
GET
Description: List all Clickstream events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportClickstreamEventDataTable

/Services.svc/Reports/{mailingID}/Clickthroughs

View HTTP methods
GET
Description: List all Clickthrough events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportNamedClickthroughEventDataTable

/Services.svc/Reports/{mailingID}/Opens

View HTTP methods
GET
Description: List all Open events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/{mailingID}/Purchase

View HTTP methods
GET
Description: List all Purchase events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportPurchaseEventDataTable

/Services.svc/Reports/{mailingID}/Sends

View HTTP methods
GET
Description: List all Sent events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/{mailingID}/Successes

View HTTP methods
GET
Description: List all Success events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/{mailingID}/Unsubscribes

View HTTP methods
GET
Description: List all Unsubscribe events for a given MailingID.
Parameters:
NameTypeDescription
mailingIDInt32The outgoing MessageID for a mailing that has already been sent.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/Bounces

View HTTP methods
GET
Description: List all Bounce events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportBounceEventDataTable

/Services.svc/Reports/Clickstream

View HTTP methods
GET
Description: List all Clickstream events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportClickstreamEventDataTable

/Services.svc/Reports/Clickthroughs

View HTTP methods
GET
Description: List all Clickthrough events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportNamedClickthroughEventDataTable

/Services.svc/Reports/Opens

View HTTP methods
GET
Description: List all Open events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/Purchase

View HTTP methods
GET
Description: List all Purchase events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportPurchaseEventDataTable

/Services.svc/Reports/Sends

View HTTP methods
GET
Description: List all Sent events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/Successes

View HTTP methods
GET
Description: List all Success events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable

/Services.svc/Reports/Unsubscribes

View HTTP methods
GET
Description: List all Unsubscribe events within the given timeframe for this list.
Parameters:
NameTypeDescription
startDateDateTimeStart of the reporting timeframe.
endDateDateTimeEnd of the reporting timeframe.
Paging Parameters:
pageSizeInt32(Optional) The requested page size.
pageNumberInt32(Optional) The page number to retrieve.
Return Value:
TypeDescription
ReportEventDataset.ReportEventDataTable