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) UPDATECONTACTID -> Perform an update operation, using the ContactID as a key to allow email address changes. (ContactID 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/Categories

View HTTP methods
GET
Description: Load all categories associated with the given contacts.
Parameters:
NameTypeDescription
isSubscribedBooleanWhether to only return categories which the contacts are currently subscribed to. (default true)
contactIDsArray of Int32List of contacts to use to determine subscribed-to categories.
Return Value:
TypeDescription
CategoryDataset.CategoryDataTable

/Services.svc/Contacts/CustomTables

View HTTP methods
GET
Description: Load custom tables available to import contact data.
Parameters:
none
Return Value:
TypeDescription
ExtendedDemographicsDataset.ExtendedDemographicTablesDataTable

/Services.svc/Contacts/CustomTables/{TableName}

View HTTP methods
POST: XML, JSON
Description: Add/update rows for a specific table name. When batching for multiple contacts, limit batch size to 100 or fewer.
Parameters:
NameTypeDescription
TableNameStringCustom Table name.
rowsDataTableCustom Table rows. Get the Custom Table column schema (ColumnName and DataType for values) from Contacts/CustomTables/Schema/{TableName} method rows example in JSON -> {'rows':[{'Row1ColumnNameOne':'Row1ColumnValueOne','Row1ColumnNameTwo':'Row1ColumnValueTwo'}, {'Row2ColumnNameOne':'Row2ColumnValueOne','Row2ColumnNameTwo':'Row2ColumnValueTwo'}]} rows example in XML -> <Request><rows> <element><Row1ColumnNameOne>Row1ColumnValueOne</Row1ColumnNameOne> <Row1ColumnNameTwo>Row1ColumnValueTwo</Row1ColumnNameTwo></element> <element><Row2ColumnNameOne>Row2ColumnValueOne</Row2ColumnNameOne> <Row2ColumnNameTwo>Row2ColumnValueTwo</Row2ColumnNameTwo> </element></rows></Request>
Return Value:
TypeDescription
DataTable

/Services.svc/Contacts/CustomTables/Schema/{TableName}

View HTTP methods
GET
Description: Load the custom table schema for a specific table name.
Parameters:
NameTypeDescription
TableNameStringCustom Table name.
Return Value:
TypeDescription
SchemaTableDataset.SchemaTableDataTable

/Services.svc/Contacts/DemographicInfo

View HTTP methods
GET
Description: Load contact demographics information (including Demographic - column name, Alias - column alias, and PickList - list of valid column values [only if present]).
Parameters:
none
Return Value:
TypeDescription
MemberDemographicInfoDataset.MemberDemographicInfoDataTable

/Services.svc/Contacts/DemographicInfoPicklists

View HTTP methods
GET
Description: Load contact demographics (picklists only) information (including Demographic - column name, Alias - column alias, and PickList - list of valid column values).
Parameters:
none
Return Value:
TypeDescription
MemberDemographicInfoDataset.MemberDemographicInfoDataTable

/Services.svc/Contacts/DemographicInfoPicklistValues/{demographic}

View HTTP methods
GET
Description: Load contact demographics picklist values for a specific Demographic - column name.
Parameters:
NameTypeDescription
demographicStringPicklist Demographic.
Return Value:
TypeDescription
MemberDemographicInfoDataset.MemberDemographicInfoPicklistValuesDataTable

/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/ListNames

View HTTP methods
GET
Description: Load valid accounts for the logged in user.
Parameters:
none
Return Value:
TypeDescription
ListDataset.ListDataTable

/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