API Documentation

Welcome to the Doali API Documentation.

If you are a developer building an application we recommend using this HTTP API, which is more flexible and efficient than standard SMTP.

This API is a powerful service which allows direct access to all functionality for the Doali Dashboard and additional calls that may be required for tight integration with our Email services.

Most of API requests should be sent using an HTTP GET method. If a method needs sending using an HTTP POST method, it is designated in the method description.

To start using this API, you will need your API Key (available here). Remember to keep it safe.

UseFull Path for API connection
Base URLPathParameters
Doalihttps://api.doali.com/v2/category/action?param1=value1&param2=value2
Private Branding*https://api.yourdomain.com
Examplehttps://api.doali.com/v2/contact/list?apikey=your-apikey

* You can create a CNAME in your DNS software and turn on private branding on your Account screen to brand api calls for your customers

Common API Calls:

Interface Libraries for this API have been written for several languages. Access them along with code samples here: /support/http-api/integration-libraries/

Recent updates Current API version: 2.33.0

We at Doali improve our system daily by releasing new features, eliminating bugs, and bringing you fresh documentation. Have a look and catch up with the latest changes.

February 2018

2/9/2018

Replaced 'Attachment' class with 'File' class and revamped some of the methods to better indicate its role in the system. User is now able to use preloaded Files as an attachment when sending an e-mail via 'attachments' parameter.

  • [REMOVED] class Attachment
  • [ADDED] class File
  • [ADDED] parameter attachmentsto method Email/Send

January 2018

1/25/2018

Properly returning corresponding HTTP Status Codes when downloading a File

1/16/2018

Added Sent/Opened/Clicked dates to the EmailStatus class

December 2017

12/15/2017

Replaced 'channelID' with 'channelName' for Export requests. The old parameter is still available for backward compatibility.

November 2017

October 2017

10/18/2017

Added info about Sent/Opened/Clicked dates to the emails log

10/13/2017

Added custom fields data to loading contact API

10/12/2017

Fixed publicListIDs parameters in contact/add API call to enable providing IDs separated by commas

  • [CHANGED] parameter publicListIDin method Contact/Add

September 2017

August 2017

8/16/2017

Added a warning when trying to delete a list that is actively used by a Campaign

8/11/2017

Bug fix for LoadTemplate call failing incorrectly when the template has not been found. Fixed many parameters' description order

8/2/2017

Bug fix for the MoveContacts call moving all contacts with the given status instead of moving the old list's ones

July 2017

7/31/2017

Forcing the new campaigns to have at least one active Campaign Template to prevent further issues

7/6/2017

Replaced the string parameter 'interval' with an enum type in log/summary

7/4/2017

Bugfixes

June 2017

6/27/2017

Modified some parameters' descriptions to make them more specific

6/21/2017

Fixed the Usage class not being visible in the API

6/19/2017

Better error handling in some cases for the dynamic contacts

6/14/2017

Filled the return types' information for some API calls. API documentation now correctly displays what kind of result can you expect from the given call.
Campaign/Copy now returns new campaign's ID instead of nothing.

6/6/2017

Modified the ChangeEmail request to return information about the sent e-mail with the verification link. The sourceUrl parameter is now optional.

May 2017

5/22/2017

Added the 'last-bounce' error info (ContactLastError) to the email from the downloaded log if the email was suppressed.

5/10/2017

Added an option to set sub-account's email size limit when creating the sub-account.

5/8/2017

Added an option to load emails based on their status change date instead of the default, creation date, one.

  • [ADDED] parameter useStatusChangeDateto method Log/Load

April 2017

4/28/2017

Bugfixes

4/21/2017

Bugfixes

4/20/2017

Added option to change contacts' status to Stale depending on the amount of days that have passed since last email's open/click for the given contact. Bug fixes

4/11/2017

Modified the Contacts' Upload method to enable creating a list if none was found.

4/10/2017

Modified the TemplateList class to properly return a list of templates.

March 2017

3/28/2017

Replaced campaignNames parameter with channelIDs for campaigns' log export to fix commas in names messing up the export log

3/21/2017

Removed the call to purchase a Private IP

  • [REMOVED] method Account/PurchasePrivateIP

3/20/2017

Bugfixes

3/10/2017

Bugfixes, descriptions adjustments

3/9/2017

Bugfixes

3/2/2017

New method implemented: Option to load segments provided by the user instead of all segments at once.

apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.dailySendLimitintNonullAmount of emails account can send dailyemailSizeLimitintNo10Maximum size of email including attachments in MB'senableContactFeaturesbooleanNonullTrue, if you want to use Contact Delivery Tools. Otherwise, falseenableLitmusTestbooleanNofalseTrue, if account is able to send template tests to Litmus. Otherwise, falseenablePrivateIPRequestbooleanNofalseTrue, if account can request for private IP on its own. Otherwise, falsemaxContactsintNo0Maximum number of contacts the account can havemonthlyRefillCreditsintNo0Amount of credits added to account automaticallypoolNamestringNonullName of your custom IP Pool to be used in the sending processpublicAccountIDstringNonullPublic key of sub-account to update. Use subAccountEmail or publicAccountID not both.requiresEmailCreditsbooleanNofalseTrue, if account needs credits to send emails. Otherwise, falserequiresLitmusCreditsbooleanNofalseTrue, if account needs credits to send emails. Otherwise, falsesendingPermissionSendingPermissionNonullSending permission setting for accountsubAccountEmailstringNonullEmail address of sub-account

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/account/updatesubaccountsettings?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&requiresEmailCredits=True&monthlyRefillCredits=1000&requiresLitmusCredits=True&enableLitmusTest=False&dailySendLimit=100000&emailSizeLimit=10&enablePrivateIPRequest=True&maxContacts=100000&subAccountEmail=mail@example.com&publicAccountID=&sendingPermission=All&enableContactFeatures=&poolName=My Custom Pool
Back to top

Campaign
Sending and monitoring progress of your Campaigns

Add
Adds a campaign to the queue for processing based on the configuration


/Campaign/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
campaignCampaignYesJson representation of a campaign

Returns (if successful)

{"success": true, "data": Channel ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&campaign=
Back to top

Copy
Copy selected campaign


/Campaign/Copy
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelIDintYesID number of selected Channel.

Returns (if successful)

{"success": true, "data": New campaign's ChannelID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/copy?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelID=123456
Back to top

Delete
Delete selected campaign


/Campaign/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelIDintYesID number of selected Channel.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelID=123456
Back to top

Export
Export selected campaigns to chosen file format.


/Campaign/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelIDsList of intNonullList of campaign IDs used for processing
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelIDs=123,634&fileFormat=Csv&compressionFormat=Zip&fileName=filename.txt
Back to top

List
List all of your campaigns


/Campaign/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.
searchstringNonullText fragment used for searching.

Returns (if successful)

{"success": true, "data": { List of CampaignChannel } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&search=text&offset=20&limit=100
Back to top

Update
Updates a previously added campaign. Only Active and Paused campaigns can be updated.


/Campaign/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
campaignCampaignYesJson representation of a campaign

Returns (if successful)

{"success": true, "data": Channel ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/campaign/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&campaign=
Back to top

Channel
SMTP and HTTP API channels for grouping email delivery.

Add
Manually add a channel to your account to group email


/Channel/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
namestringYesDescriptive name of the channel

Returns (if successful)

{"success": true, "data": Channel Name }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&name=
Back to top

Delete
Delete the channel.


/Channel/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
namestringYesThe name of the channel to delete.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&name=
Back to top

ExportCsv
Export channels in CSV file format.


/Channel/ExportCsv
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelNamesList of stringYesList of channel names used for processing
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileNamestringNonullName of your file.

Returns (if successful)

Output stream containing CSV file data

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/exportcsv?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelNames=Channel1,Channel2&compressionFormat=Zip&fileName=filename.txt
Back to top

ExportJson
Export channels in JSON file format.


/Channel/ExportJson
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelNamesList of stringYesList of channel names used for processing
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileNamestringNonullName of your file.

Returns (if successful)

Output stream containing JSON file data

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/exportjson?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelNames=Channel1,Channel2&compressionFormat=Zip&fileName=filename.txt
Back to top

ExportXml
Export channels in XML file format.


/Channel/ExportXml
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelNamesList of stringYesList of channel names used for processing
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileNamestringNonullName of your file.

Returns (if successful)

Output stream containing XML file data

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/exportxml?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelNames=Channel1,Channel2&compressionFormat=Zip&fileName=filename.txt
Back to top

List
List all of your channels


/Channel/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.

Returns (if successful)

{"success": true, "data": { List of Channel } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3
Back to top

Update
Rename an existing channel.


/Channel/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
namestringYesThe name of the channel to update.
newNamestringYesThe new name for the channel.

Returns (if successful)

{"success": true, "data": Channel Name }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/channel/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&name=&newName=
Back to top

Contact
Methods used to manage your Contacts.

Add
Add a new contact and optionally to one of your lists. Note that your API KEY is not required for this call.


/Contact/Add
Name Type Required? Default value Description
emailstringYesProper email address.
publicAccountIDstringYesPublic key for limited access to your account such as contact/add so you can use it safely on public websites.
activationReturnUrlstringNonullThe url to return the contact to after activation.
activationTemplatestringNonull
alreadyActiveUrlstringNonull
consentDatedatetimeNonullDate of consent to send this contact(s) your email. If not provided current date is used for consent.
consentIPstringNonullIP address of consent to send this contact(s) your email. If not provided your current public IP address is used for consent.
fieldRepeated list of string keys and string valuesNonullCustom contact field like firstname, lastname, city etc. Request parameters prefixed by field_ like field_firstname, field_lastname
firstNamestringNonullFirst name.
lastNamestringNonullLast name.
listNameRepeated list of stringNonullName of your list.
notifyEmailstringNonullEmails, separated by semicolon, to which the notification about contact subscribing should be sent to
publicListIDList of stringNonullID code of list
returnUrlstringNonullURL to navigate to after account creation
sendActivationbooleanNotrueTrue, if you want to send activation email to this account. Otherwise, false
sourceContactSourceNoApiTypes.ContactSource.ContactApiSpecifies the way of uploading the contact
sourceUrlstringNonullURL from which request was sent.

Returns (if successful)

Redirection to the user's provided URL or the subscription confirmation

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/add?publicAccountID=EB3EBB7A-C20D-4D39-8F2F-5E6842F58E6F&email=mail@example.com&publicListID=public-id-of-your-list&listName=My List 1&firstName=FIRSTNAME&lastName=LASTNAME&source=&returnUrl=http://yourdomain.com&sourceUrl=http://source.url.com&activationReturnUrl=http://yourwebsite.com/thankyou&activationTemplate=&sendActivation=false&consentDate=1/1/2015 0:00:00 AM&consentIP=192.168.0.1&field_firstname=english&notifyEmail=john@test.com&alreadyActiveUrl=
Back to top

AddBlocked
Manually add or update a contacts status to Abuse or Unsubscribed status (blocked).


/Contact/AddBlocked
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.
statusContactStatusYesName of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/addblocked?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com&status=Bounced
Back to top

ChangeProperty
Change any property on the contact record.


/Contact/ChangeProperty
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.
namestringYesName of the contact property you want to change.
valuestringYesValue you would like to change the contact property to.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/changeproperty?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com&name=&value=
Back to top

ChangeStatus
Changes status of selected Contacts. You may provide RULE for selection or specify list of Contact IDs.


/Contact/ChangeStatus
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
statusContactStatusYesName of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.
emailsList of stringNonullComma delimited list of contact emails
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/changestatus?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&status=Bounced&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com
Back to top

CountByStatus
Returns number of Contacts, RULE specifies contact Status.


/Contact/CountByStatus
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
allContactsbooleanNofalseTrue: Include every Contact in your Account. Otherwise, false
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": { ContactStatusCounts } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/countbystatus?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&rule=Status%20=%20Engaged&allContacts=true/false
Back to top

CountByUnsubscribeReason
Returns count of unsubscribe reasons for unsubscribed and complaint contacts.


/Contact/CountByUnsubscribeReason
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { ContactUnsubscribeReasonCounts } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/countbyunsubscribereason?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01
Back to top

Delete
Permanantly deletes the contacts provided. You can provide either a qualified rule or a list of emails (comma separated string).


/Contact/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailsList of stringNonullComma delimited list of contact emails
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com
Back to top

Export
Export selected Contacts to file.


/Contact/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
emailsList of stringNonullComma delimited list of contact emails
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&fileFormat=Csv&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com&compressionFormat=Zip&fileName=filename.txt
Back to top

ExportUnsubscribeReasonCount
Export contacts' unsubscribe reasons count to file.


/Contact/ExportUnsubscribeReasonCount
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/exportunsubscribereasoncount?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&fileFormat=Csv&compressionFormat=Zip&fileName=filename.txt
Back to top

FindContact
Finds all Lists and Segments this email belongs to.


/Contact/FindContact
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.

Returns (if successful)

{"success": true, "data": { ContactCollection } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/findcontact?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com
Back to top

GetContactsByList
List of Contacts for provided List


/Contact/GetContactsByList
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
limitintNo20Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { List of Contact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/getcontactsbylist?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&limit=100&offset=20
Back to top

GetContactsBySegment
List of Contacts for provided Segment


/Contact/GetContactsBySegment
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
segmentNamestringYesName of your segment.
limitintNo20Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { List of Contact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/getcontactsbysegment?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentName=My Segment 1&limit=100&offset=20
Back to top

List
List of all contacts. If you have not specified RULE, all Contacts will be listed.


/Contact/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
limitintNo20Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": { List of Contact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&rule=Status%20=%20Engaged&limit=100&offset=20
Back to top

LoadBlocked
Load blocked contacts


/Contact/LoadBlocked
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
statusesList of ContactStatusYesList of blocked statuses: Abuse, Bounced or Unsubscribed
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.
searchstringNonullText fragment used for searching.

Returns (if successful)

{"success": true, "data": { List of BlockedContact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/loadblocked?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&statuses=&search=text&limit=100&offset=20
Back to top

LoadContact
Load detailed contact information


/Contact/LoadContact
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.

Returns (if successful)

{"success": true, "data": { Contact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/loadcontact?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com
Back to top

LoadHistory
Shows detailed history of chosen Contact.


/Contact/LoadHistory
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { List of ContactHistory } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/loadhistory?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com&limit=100&offset=20
Back to top

QuickAdd
Add new Contact to one of your Lists.


/Contact/QuickAdd
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailsList of stringYesComma delimited list of contact emails
consentDatedatetimeNonullDate of consent to send this contact(s) your email. If not provided current date is used for consent.
consentIPstringNonullIP address of consent to send this contact(s) your email. If not provided your current public IP address is used for consent.
fieldRepeated list of string keys and string valuesNonullCustom contact field like firstname, lastname, city etc. Request parameters prefixed by field_ like field_firstname, field_lastname
firstNamestringNonullFirst name.
lastNamestringNonullLast name.
listNamestringNonullName of your list.
notesstringNonullFree form field of notes
notifyEmailstringNonullEmails, separated by semicolon, to which the notification about contact subscribing should be sent to
publicListIDstringNonullID code of list
statusContactStatusNoApiTypes.ContactStatus.ActiveName of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/quickadd?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&emails=mail@contact.com,mail1@contact.com,mail2@contact.com&firstName=FIRSTNAME&lastName=LASTNAME&publicListID=public-id-of-your-list&listName=My List 1&status=Bounced&notes=Contact is extremely important!&consentDate=1/1/2015 0:00:00 AM&consentIP=192.168.0.1&field_firstname=english&notifyEmail=john@test.com
Back to top

Subscribe
Basic double opt-in email subscribe form for your account. This can be used for contacts that need to re-subscribe as well.


/Contact/Subscribe
Name Type Required? Default value Description
publicAccountIDstringYesPublic key for limited access to your account such as contact/add so you can use it safely on public websites.

Returns (if successful)

Redirection to the Subscription Confirmation Form

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/subscribe?publicAccountID=EB3EBB7A-C20D-4D39-8F2F-5E6842F58E6F
Back to top

Update
Update selected contact. Omitted contact's fields will be reset by default (see the clearRestOfFields parameter)


/Contact/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
emailstringYesProper email address.
clearRestOfFieldsbooleanNotrueStates if the fields that were omitted in this request are to be reset or should they be left with their current value
customFieldsstringNonullCustom contact field like firstname, lastname, city etc. JSON serialized text like { "city":"london" }
fieldRepeated list of string keys and string valuesNonullCustom contact field like firstname, lastname, city etc. Request parameters prefixed by field_ like field_firstname, field_lastname
firstNamestringNonullFirst name.
lastNamestringNonullLast name.

Returns (if successful)

{"success": true, "data": { Contact } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&email=mail@example.com&firstName=FIRSTNAME&lastName=LASTNAME&clearRestOfFields=false&field_firstname=english&customFields=english
Back to top

Upload
Upload contacts in CSV file.


/Contact/Upload
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
allowUnsubscribebooleanNofalseTrue: Allow unsubscribing from this (optional) newly created list. Otherwise, false
consentDatedatetimeNonullDate of consent to send this contact(s) your email. If not provided current date is used for consent.
consentIPstringNonullIP address of consent to send this contact(s) your email. If not provided your current public IP address is used for consent.
listIDintNonullID number of selected list.
listNamestringNonullName of your list to upload contacts to, or how the new, automatically created list should be named
statusContactStatusNoApiTypes.ContactStatus.ActiveName of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.

Attach the file as POST multipart/form-data file upload or PUT file upload with content-disposition header

Returns (if successful)

{"success": true, "data": Number of contacts uploaded successfully }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/contact/upload?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&allowUnsubscribe=&listID=1234&listName=&status=Bounced&consentDate=1/1/2015 0:00:00 AM&consentIP=192.168.0.1
Back to top

Domain
Managing sender domains. Creating new entries and validating domain records.

Add
Add new domain to account


/Domain/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.
trackingTypeTrackingTypeNoApiTypes.TrackingType.Http

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com&trackingType=
Back to top

Delete
Deletes configured domain from account


/Domain/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com
Back to top

List
Lists all domains configured for this account.


/Domain/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.

Returns (if successful)

{"success": true, "data": { List of DomainDetail } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3
Back to top

SetDefault
Verification of email addres set for domain.


/Domain/SetDefault
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesDefault email sender, example: mail@yourdomain.com

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/setdefault?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=
Back to top

VerifyDkim
Verification of DKIM record for domain


/Domain/VerifyDkim
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.

Returns (if successful)

{"success": true, "data": string }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/verifydkim?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com
Back to top

VerifyMX
Verification of MX record for domain


/Domain/VerifyMX
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.

Returns (if successful)

{"success": true, "data": string }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/verifymx?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com
Back to top

VerifySpf
Verification of SPF record for domain


/Domain/VerifySpf
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.

Returns (if successful)

{"success": true, "data": string }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/verifyspf?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com
Back to top

VerifyTracking
Verification of tracking CNAME record for domain


/Domain/VerifyTracking
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
domainstringYesName of selected domain.
trackingTypeTrackingTypeNoApiTypes.TrackingType.Http

Returns (if successful)

{"success": true, "data": string }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/domain/verifytracking?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&domain=example.com&trackingType=
Back to top

Email

GetStatus
Get email batch status


/Email/GetStatus
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
transactionIDstringYesTransaction identifier
showAbusebooleanNofalseInclude Reported as abuse email addresses.
showClickedbooleanNofalseInclude Clicked email addresses.
showDeliveredbooleanNofalseInclude all delivered email addresses.
showErrorsbooleanNofalseInclude error messages for bounced emails.
showFailedbooleanNofalseInclude Bounced email addresses.
showMessageIDsbooleanNofalseInclude all MessageIDs for this transaction
showOpenedbooleanNofalseInclude Opened email addresses.
showPendingbooleanNofalseInclude Ready to send email addresses.
showSentbooleanNofalseInclude Sent email addresses.
showUnsubscribedbooleanNofalseInclude Unsubscribed email addresses.

Returns (if successful)

{"success": true, "data": { EmailJobStatus } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/email/getstatus?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&transactionID=&showFailed=&showSent=&showDelivered=&showPending=&showOpened=&showClicked=&showAbuse=&showUnsubscribed=&showErrors=&showMessageIDs=
Back to top

Send
Submit emails. The HTTP POST request is suggested. The default, maximum (accepted by us) size of an email is 10 MB in total, with or without attachments included. For suggested implementations please refer to /support/http-api/


/Email/Send
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
attachmentsList of stringNonullNames or IDs of attachments previously uploaded to your account that should be sent with this e-mail.
bodyHtmlstringNonullHtml email body
bodyTextstringNonullText email body
channelstringNonullAn ID field (max 191 chars) that can be used for reporting [will default to HTTP API or SMTP API]
charsetstringNonullText value of charset encoding for example: iso-8859-1, windows-1251, utf-8, us-ascii, windows-1250 and more…
charsetBodyHtmlstringNonullSets charset for body html MIME part (overrides default value from charset parameter)
charsetBodyTextstringNonullSets charset for body text MIME part (overrides default value from charset parameter)
dataSourcestringNonull
encodingTypeEncodingTypeNoApiTypes.EncodingType.None0 for None, 1 for Raw7Bit, 2 for Raw8Bit, 3 for QuotedPrintable, 4 for Base64 (Default), 5 for Uue note that you can also provide the text version such as "Raw7Bit" for value 1. NOTE: Base64 or QuotedPrintable is recommended if you are validating your domain(s) with DKIM.
fromstringNonullFrom email address
fromNamestringNonullDisplay name for from email address
headersRepeated list of string keys and string valuesNonullOptional Custom Headers. Request parameters prefixed by headers_ like headers_customheader1, headers_customheader2. Note: a space is required after the colon before the custom header value. headers_xmailer=xmailer: header-value1
isTransactionalbooleanNofalseTrue, if email is transactional (non-bulk, non-marketing, non-commercial). Otherwise, false
listsList of stringNonullThe name of a contact list you would like to send to. Separate multiple contact lists by commas or semicolons.
mergeRepeated list of string keys and string valuesNonullRequest parameters prefixed by merge_ like merge_firstname, merge_lastname. If sending to a template you can send merge_ fields to merge data with the template. Template fields are entered with {firstname}, {lastname} etc.
mergeSourceFilenamestringNonullFile name one of attachments which is a CSV list of Recipients.
msgBccList of stringNonullOptional parameter. Will be ignored if the 'to' parameter is also provided. List of email recipients (each email is treated seperately). Separated by comma or semicolon.
msgCCList of stringNonullOptional parameter. Will be ignored if the 'to' parameter is also provided. List of email recipients (visible to all other recipients of the message as CC MIME header). Separated by comma or semicolon.
msgFromstringNonullOptional parameter. Sets FROM MIME header.
msgFromNamestringNonullOptional parameter. Sets FROM name of MIME header.
msgToList of stringNonullOptional parameter. Will be ignored if the 'to' parameter is also provided. List of email recipients (visible to all other recipients of the message as TO MIME header). Separated by comma or semicolon.
poolNamestringNonullName of your custom IP Pool to be used in the sending process
postBackstringNonullOptional header returned in notifications.
replyTostringNonullEmail address to reply to
replyToNamestringNonullDisplay name of the reply to address
segmentsList of stringNonullThe name of a segment you would like to send to. Separate multiple segments by comma or semicolon. Insert "0" for all Active contacts.
senderstringNonullEmail address of the sender
senderNamestringNonullDisplay name sender
subjectstringNonullEmail subject
templatestringNonullThe ID of an email template you have created in your account.
timeOffSetMinutesstringNonullNumber of minutes in the future this email should be sent up to a maximum of 1 year (524160 minutes)
toList of stringNonullList of email recipients (each email is treated separately, like a BCC). Separated by comma or semicolon. We suggest using the "msgTo" parameter if backward compatibility with API version 1 is not a must.

Attach the file as POST multipart/form-data file upload

Returns (if successful)

{"success": true, "data": { EmailSend } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/email/send?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&subject=&from=&fromName=&sender=&senderName=&msgFrom=&msgFromName=&replyTo=&replyToName=&to=&msgTo=&msgCC=&msgBcc=&lists=&segments=&mergeSourceFilename=&dataSource=&channel=&bodyHtml=&bodyText=&charset=&charsetBodyHtml=&charsetBodyText=&encodingType=&template=&headers_firstname=firstname: myValueHere&postBack=&merge_firstname=John&timeOffSetMinutes=&poolName=My Custom Pool&isTransactional=false&attachments=
Back to top

Status
Detailed status of a unique email sent through your account. Returns a 'Email has expired and the status is unknown.' error, if the email has not been fully processed yet.


/Email/Status
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
messageIDstringYesUnique identifier for this email.

Returns (if successful)

{"success": true, "data": { EmailStatus } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/email/status?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&messageID=-HHGPM_9RPhSMiaJq_ab4g3
Back to top

View
View email


/Email/View
Name Type Required? Default value Description
messageIDstringYesMessage identifier

Returns (if successful)

{"success": true, "data": { EmailView } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/email/view?messageID=
Back to top

Export

CheckStatus
Check the current status of the export.


/Export/CheckStatus
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
publicExportIDGUIDYes

Returns (if successful)

{"success": true, "data": { ExportStatus } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/export/checkstatus?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicExportID=
Back to top

CountByType
Summary of export type counts.


/Export/CountByType
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.

Returns (if successful)

{"success": true, "data": { ExportTypeCounts } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/export/countbytype?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3
Back to top

Delete
Delete the specified export.


/Export/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
publicExportIDGUIDYes

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/export/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicExportID=
Back to top

List
Returns a list of all exported data.


/Export/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { List of Export } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/export/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&limit=100&offset=20
Back to top

File
Manage the files on your account

Delete
Permanently deletes the file from your account


/File/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fileIDintNonull
filenamestringNonullName of your file.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&fileID=&filename=filename.txt
Back to top

Download
Gets content of the chosen File


/File/Download
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fileIDintNonull
filenamestringNonullName of your file.

Returns (if successful)

Output stream containing file data

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/download?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&filename=filename.txt&fileID=
Back to top

List
Lists your available Attachments in the given email


/File/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
msgIDstringYesID number of selected message.

Returns (if successful)

{"success": true, "data": { List of File } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&msgID=ABCDE_9RPhSWiaJq_ab1g1
Back to top

ListAll
Lists all your available files


/File/ListAll
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.

Returns (if successful)

{"success": true, "data": { List of File } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/listall?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3
Back to top

Load
Gets chosen File


/File/Load
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
filenamestringYesName of your file.

Returns (if successful)

{"success": true, "data": { File } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/load?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&filename=filename.txt
Back to top

Upload
Uploads selected file to the server using http form upload format (MIME multipart/form-data) or PUT method.


/File/Upload
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
expiresAfterDaysintNo35After how many days should the file be deleted.
namestringNonullFilename

Attach the file as POST multipart/form-data file upload or PUT file upload with content-disposition header

Returns (if successful)

{"success": true, "data": { File } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/file/upload?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&name=attachment.txt&expiresAfterDays=
Back to top

List
API methods for managing your Lists

Add
Create new list, based on filtering rule or list of IDs


/List/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
allContactsbooleanNofalseTrue: Include every Contact in your Account. Otherwise, false
allowUnsubscribebooleanNofalseTrue: Allow unsubscribing from this list. Otherwise, false
createEmptyListbooleanNofalseTrue to create an empty list, otherwise false. Ignores rule and emails parameters if provided.
emailsList of stringNonullComma delimited list of contact emails
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": List ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&createEmptyList=&allowUnsubscribe=true/false&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com&allContacts=true/false
Back to top

AddContacts
Add existing Contacts to chosen list


/List/AddContacts
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
allContactsbooleanNofalseTrue: Include every Contact in your Account. Otherwise, false
emailsList of stringNonullComma delimited list of contact emails
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/addcontacts?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com&allContacts=true/false
Back to top

Copy
Copy your existing List with the option to provide new settings to it. Some fields, when left empty, default to the source list's settings


/List/Copy
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
sourceListNamestringYesThe name of the list you want to copy
allowUnsubscribebooleanNonullTrue: Allow unsubscribing from this list. Otherwise, false
createEmptyListbooleanNonullTrue to create an empty list, otherwise false. Ignores rule and emails parameters if provided.
newlistNamestringNonullName of your list if you want to change it.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": New list's ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/copy?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&sourceListName=&newlistName=My List 2&createEmptyList=true/false&allowUnsubscribe=true/false&rule=Status%20=%20Engaged
Back to top

CreateFromCampaign
Create a new list from the recipients of the given campaign, using the given statuses of Messages


/List/CreateFromCampaign
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
campaignIDintYesID of the campaign which recipients you want to copy
listNamestringYesName of your list.
statusesList of LogJobStatusNonullStatuses of a campaign's emails you want to include in the new list (but NOT the contacts' statuses)

Returns (if successful)

{"success": true, "data": List ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/createfromcampaign?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&campaignID=&listName=My List 1&statuses=
Back to top

CreateNthSelectionLists
Create a series of nth selection lists from an existing list or segment


/List/CreateNthSelectionLists
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
numberOfListsintYesThe number of evenly distributed lists to create.
allContactsbooleanNofalseTrue: Include every Contact in your Account. Otherwise, false
allowUnsubscribebooleanNofalseTrue: Allow unsubscribing from this list. Otherwise, false
excludeBlockedbooleanNotrueTrue if you want to exclude contacts that are currently in a blocked status of either unsubscribe, complaint or bounce. Otherwise, false.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/createnthselectionlists?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&numberOfLists=3&excludeBlocked=true/false&allowUnsubscribe=true/false&rule=Status%20=%20Engaged&allContacts=true/false
Back to top

CreateRandomList
Create a new list with randomized contacts from an existing list or segment


/List/CreateRandomList
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
countintYesNumber of items.
listNamestringYesName of your list.
allContactsbooleanNofalseTrue: Include every Contact in your Account. Otherwise, false
allowUnsubscribebooleanNofalseTrue: Allow unsubscribing from this list. Otherwise, false
excludeBlockedbooleanNotrueTrue if you want to exclude contacts that are currently in a blocked status of either unsubscribe, complaint or bounce. Otherwise, false.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": List ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/createrandomlist?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&count=100&excludeBlocked=true/false&allowUnsubscribe=true/false&rule=Status%20=%20Engaged&allContacts=true/false
Back to top

Delete
Deletes List and removes all the Contacts from it (does not delete Contacts).


/List/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1
Back to top

Export
Exports all the contacts from the provided list


/List/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&fileFormat=Csv&compressionFormat=Zip&fileName=filename.txt
Back to top

list
Shows all your existing lists


/List/list
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { List of List } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01
Back to top

Load
Returns detailed information about specific list.


/List/Load
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.

Returns (if successful)

{"success": true, "data": { List } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/load?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1
Back to top

MoveContacts
Move selected contacts from one List to another


/List/MoveContacts
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
newListNamestringYesThe name of the list to copy the contacts to
oldListNamestringYesThe name of the list from which the contacts will be copied from
emailsList of stringNonullComma delimited list of contact emails
moveAllbooleanNonullTRUE - moves all contacts; FALSE - moves contacts provided in the 'emails' parameter. This is ignored if the 'statuses' parameter has been provided
rulestringNonullQuery used for filtering.
statusesList of ContactStatusNonullList of contact statuses which are eligible to move. This ignores the 'moveAll' parameter

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/movecontacts?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&oldListName=&newListName=&emails=mail@contact.com,mail1@contact.com,mail2@contact.com&moveAll=&statuses=&rule=Status%20=%20Engaged
Back to top

RemoveContacts
Remove selected Contacts from your list


/List/RemoveContacts
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
emailsList of stringNonullComma delimited list of contact emails
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/removecontacts?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&rule=Status%20=%20Engaged&emails=mail@contact.com,mail1@contact.com,mail2@contact.com
Back to top

Update
Update existing list


/List/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
listNamestringYesName of your list.
allowUnsubscribebooleanNofalseTrue: Allow unsubscribing from this list. Otherwise, false
newListNamestringNonullName of your list if you want to change it.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/list/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&listName=My List 1&newListName=My List 2&allowUnsubscribe=true/false
Back to top

Log
Methods to check logs of your campaigns

CancelInProgress
Cancels emails that are waiting to be sent.


/Log/CancelInProgress
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelNamestringNonullName of selected channel.
transactionIDstringNonullID number of transaction

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/cancelinprogress?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&channelName=Channel01&transactionID=TransactionID
Back to top

Export
Export email log information to the specified file format.


/Log/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
statusesList of LogJobStatusYesList of comma separated message statuses: 0 for all, 1 for ReadyToSend, 2 for InProgress, 4 for Bounced, 5 for Sent, 6 for Opened, 7 for Clicked, 8 for Unsubscribed, 9 for Abuse Report
channelNamestringNonullName of selected channel.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
emailstringNonullProper email address.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.
fromdatetimeNonullStart date.
includeEmailbooleanNotrueTrue: Search includes emails. Otherwise, false.
includeSmsbooleanNotrueTrue: Search includes SMS. Otherwise, false.
messageCategoryList of MessageCategoryNonullID of message category
todatetimeNonullEnd date.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&statuses=0&fileFormat=Csv&from=&to=&channelName=Channel01&includeEmail=true/false&includeSms=true/false&messageCategory=1&compressionFormat=Zip&fileName=filename.txt&email=mail@example.com
Back to top

ExportLinkTracking
Export detailed link tracking information to the specified file format.


/Log/ExportLinkTracking
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromdatetimeYesStarting date for search in YYYY-MM-DDThh:mm:ss format.
todatetimeYesEnding date for search in YYYY-MM-DDThh:mm:ss format.
channelNamestringNonullName of selected channel.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/exportlinktracking?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&channelName=Channel01&fileFormat=Csv&limit=100&offset=20&compressionFormat=Zip&fileName=filename.txt
Back to top

LinkTracking
Track link clicks


/Log/LinkTracking
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
channelNamestringNonullName of selected channel.
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
limitintNo0Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { LinkTrackingDetails } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/linktracking?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&limit=100&offset=20&channelName=Channel01
Back to top

Load
Returns logs filtered by specified parameters.


/Log/Load
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
statusesList of LogJobStatusYesList of comma separated message statuses: 0 for all, 1 for ReadyToSend, 2 for InProgress, 4 for Bounced, 5 for Sent, 6 for Opened, 7 for Clicked, 8 for Unsubscribed, 9 for Abuse Report
channelNamestringNonullName of selected channel.
emailstringNonullProper email address.
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
includeEmailbooleanNotrueTrue: Search includes emails. Otherwise, false.
includeSmsbooleanNotrueTrue: Search includes SMS. Otherwise, false.
limitintNo0Maximum of loaded items.
messageCategoryList of MessageCategoryNonullID of message category
offsetintNo0How many items should be loaded ahead.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.
useStatusChangeDatebooleanNofalseTrue, if 'from' and 'to' parameters should resolve to the Status Change date. To resolve to the creation date - false

Returns (if successful)

{"success": true, "data": { Log } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/load?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&statuses=0&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&channelName=Channel01&limit=100&offset=20&includeEmail=true/false&includeSms=true/false&messageCategory=1&email=mail@example.com&useStatusChangeDate=false
Back to top

LoadNotifications
Returns notification logs filtered by specified parameters.


/Log/LoadNotifications
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
statusesList of LogJobStatusYesList of comma separated message statuses: 0 for all, 1 for ReadyToSend, 2 for InProgress, 4 for Bounced, 5 for Sent, 6 for Opened, 7 for Clicked, 8 for Unsubscribed, 9 for Abuse Report
fromdatetimeNonullStarting date for search in YYYY-MM-DDThh:mm:ss format.
limitintNo0Maximum of loaded items.
messageCategoryList of MessageCategoryNonullID of message category
notificationTypeNotificationTypeNoApiTypes.NotificationType.All
offsetintNo0How many items should be loaded ahead.
todatetimeNonullEnding date for search in YYYY-MM-DDThh:mm:ss format.
useStatusChangeDatebooleanNofalseTrue, if 'from' and 'to' parameters should resolve to the Status Change date. To resolve to the creation date - false

Returns (if successful)

{"success": true, "data": { Log } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/loadnotifications?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&statuses=0&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&limit=100&offset=20&messageCategory=1&useStatusChangeDate=false&notificationType=
Back to top

RetryNow
Retry sending of temporarily not delivered message.


/Log/RetryNow
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
msgIDstringYesID number of selected message.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/retrynow?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&msgID=ABCDE_9RPhSWiaJq_ab1g1
Back to top

Summary
Loads summary information about activity in chosen date range.


/Log/Summary
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromdatetimeYesStarting date for search in YYYY-MM-DDThh:mm:ss format.
todatetimeYesEnding date for search in YYYY-MM-DDThh:mm:ss format.
channelNamestringNonullName of selected channel.
intervalIntervalTypeNoApiTypes.IntervalType.Summary'Hourly' for detailed information, 'summary' for daily overview
transactionIDstringNonullID number of transaction

Returns (if successful)

{"success": true, "data": { LogSummary } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/log/summary?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&from=2001-01-01T01:01:01&to=2001-01-01T01:01:01&channelName=Channel01&interval=daily&transactionID=TransactionID
Back to top

Segment
Manages your segments - dynamically created lists of contacts

Add
Create new segment, based on specified RULE.


/Segment/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
rulestringYesQuery used for filtering.
segmentNamestringYesName of your segment.

Returns (if successful)

{"success": true, "data": { Segment } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentName=My Segment 1&rule=Status%20=%20Engaged
Back to top

Copy
Copy your existing Segment with the optional new rule and custom name


/Segment/Copy
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
sourceSegmentNamestringYesThe name of the segment you want to copy
newSegmentNamestringNonullNew name of your segment if you want to change it.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": { Segment } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/copy?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&sourceSegmentName=&newSegmentName=My Segment 2&rule=Status%20=%20Engaged
Back to top

Delete
Delete existing segment.


/Segment/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
segmentNamestringYesName of your segment.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentName=My Segment 1
Back to top

Export
Exports all the contacts from the provided segment


/Segment/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
segmentNamestringYesName of your segment.
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file
fileNamestringNonullName of your file.

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentName=My Segment 1&fileFormat=Csv&compressionFormat=Zip&fileName=filename.txt
Back to top

List
Lists all your available Segments


/Segment/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromdatetimeNonullFrom what date should the segment history be shown. In YYYY-MM-DDThh:mm:ss format.
includeHistorybooleanNofalseTrue: Include history of last 30 days. Otherwise, false.
todatetimeNonullTo what date should the segment history be shown. In YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { List of Segment } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&includeHistory=true/false&from=&to=
Back to top

LoadByName
Lists your available Segments using the provided names


/Segment/LoadByName
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
segmentNamesList of stringYesNames of segments you want to load. Will load all contacts if left empty or the 'All Contacts' name has been provided
fromdatetimeNonullFrom what date should the segment history be shown. In YYYY-MM-DDThh:mm:ss format.
includeHistorybooleanNofalseTrue: Include history of last 30 days. Otherwise, false.
todatetimeNonullTo what date should the segment history be shown. In YYYY-MM-DDThh:mm:ss format.

Returns (if successful)

{"success": true, "data": { List of Segment } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/loadbyname?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentNames=&includeHistory=true/false&from=&to=
Back to top

Update
Rename or change RULE for your segment


/Segment/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
segmentNamestringYesName of your segment.
newSegmentNamestringNonullNew name of your segment if you want to change it.
rulestringNonullQuery used for filtering.

Returns (if successful)

{"success": true, "data": { Segment } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/segment/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&segmentName=My Segment 1&newSegmentName=My Segment 2&rule=Status%20=%20Engaged
Back to top

SMS
Managing texting to your clients.

Send
Send a short SMS Message (maximum of 1600 characters) to any mobile phone.


/SMS/Send
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
bodystringYesBody of your message. The maximum body length is 160 characters. If the message body is greater than 160 characters it is split into multiple messages and you are charged per message for the number of message required to send your length
tostringYesMobile number you want to message. Can be any valid mobile number in E.164 format. To provide the country code you need to provide "+" before the number. If your URL is not encoded then you need to replace the "+" with "%2B" instead.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/sms/send?apikey=your-apikey&to=%2b100000000&body=text_body_of_your_message
Back to top

Survey
Methods to organize and get results of your surveys

Add
Adds a new survey


/Survey/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
surveySurveyYesJson representation of a survey

Returns (if successful)

{"success": true, "data": { Survey } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/add?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&survey=
Back to top

Delete
Deletes the survey


/Survey/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
publicSurveyIDGUIDYesSurvey identifier

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicSurveyID=123456
Back to top

Export
Export given survey's data to provided format


/Survey/Export
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fileNamestringYesName of your file.
publicSurveyIDGUIDYesSurvey identifier
compressionFormatCompressionFormatNoApiTypes.CompressionFormat.NoneFileResponse compression format. None or Zip.
fileFormatExportFileFormatsNoApiTypes.ExportFileFormats.CsvFormat of the exported file

Returns (if successful)

{"success": true, "data": { ExportLink } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/export?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicSurveyID=123456&fileName=filename.txt&fileFormat=Csv&compressionFormat=Zip
Back to top

List
Shows all your existing surveys


/Survey/List
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.

Returns (if successful)

{"success": true, "data": { List of Survey } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/list?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3
Back to top

LoadResponseList
Get list of personal answers for the specific survey


/Survey/LoadResponseList
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
publicSurveyIDGUIDYesSurvey identifier

Returns (if successful)

{"success": true, "data": { List of SurveyResultInfo } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/loadresponselist?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicSurveyID=123456
Back to top

LoadResults
Get general results of the specific survey


/Survey/LoadResults
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
publicSurveyIDGUIDYesSurvey identifier

Returns (if successful)

{"success": true, "data": { SurveyResultsSummaryInfo } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/loadresults?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&publicSurveyID=123456
Back to top

Update
Update the survey information


/Survey/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
surveySurveyYesJson representation of a survey

Returns (if successful)

{"success": true, "data": { Survey } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/survey/update?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&survey=
Back to top

Template
Managing and editing templates of your emails

Add
Create new Template. Needs to be sent using POST method


/Template/Add
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromEmailstringYesDefault From: email address.
fromNamestringYesDefault From: name.
namestringYesFilename
subjectstringYesDefault subject of email.
bodyHtmlstringNonullHTML code of email (needs escaping).
bodyTextstringNonullText body of email.
cssstringNonullCSS style
originalTemplateIDintNo0ID number of original template.
templateScopeTemplateScopeNoApiTypes.TemplateScope.PrivateEnum: 0 - private, 1 - public, 2 - mockup
templateTypeTemplateTypeNoApiTypes.TemplateType.RawHTML0 for API connections

Returns (if successful)

{"success": true, "data": Template ID }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/template/add?version=2
Back to top

CheckUsage
Check if template is used by campaign.


/Template/CheckUsage
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.

Returns (if successful)

{"success": true, "data": Is the template used by campaign (true/false) }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/checkusage?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234
Back to top

Copy
Copy Selected Template


/Template/Copy
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
fromEmailstringYesDefault From: email address.
fromNamestringYesDefault From: name.
namestringYesFilename
subjectstringYesDefault subject of email.
templateIDintYesID number of template.

Returns (if successful)

{"success": true, "data": { Template } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/copy?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234&name=attachment.txt&subject=Hello!&fromEmail=sender@yourdomain.com&fromName=Sender
Back to top

Delete
Delete template with the specified ID


/Template/Delete
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/delete?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234
Back to top

GetEmbeddedHtml
Search for references to images and replaces them with base64 code.


/Template/GetEmbeddedHtml
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.

Returns (if successful)

{"success": true, "data": Embedded HTML }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/getembeddedhtml?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234
Back to top

GetList
Lists your templates


/Template/GetList
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
limitintNo500Maximum of loaded items.
offsetintNo0How many items should be loaded ahead.

Returns (if successful)

{"success": true, "data": { TemplateList } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/getlist?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&limit=100&offset=20
Back to top

LoadTemplate
Load template with content


/Template/LoadTemplate
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.
ispublicbooleanNofalse

Returns (if successful)

{"success": true, "data": { Template } }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/loadtemplate?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234&ispublic=
Back to top

RemoveScreenshot
Removes previously generated screenshot of template


/Template/RemoveScreenshot
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/removescreenshot?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&templateID=1234
Back to top

SaveScreenshot
Saves screenshot of chosen Template


/Template/SaveScreenshot
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
base64ImagestringYesImage, base64 coded.
templateIDintYesID number of template.

Returns (if successful)

{"success": true, "data": Template screenshot's URL }

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/v2/template/savescreenshot?apikey=94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3&base64Image=&templateID=1234
Back to top

Update
Update existing template, overwriting existing data. Needs to be sent using POST method.


/Template/Update
Name Type Required? Default value Description
apikeystringYesApiKey that gives you access to our SMTP and HTTP API's. Available here.
templateIDintYesID number of template.
bodyHtmlstringNonullHTML code of email (needs escaping).
bodyTextstringNonullText body of email.
cssstringNonullCSS style
fromEmailstringNonullDefault From: email address.
fromNamestringNonullDefault From: name.
namestringNonullFilename
removeScreenshotbooleanNotrue
subjectstringNonullDefault subject of email.
templateScopeTemplateScopeNoApiTypes.TemplateScope.PrivateEnum: 0 - private, 1 - public, 2 - mockup

Returns (if successful)

{"success": true}

Returns (if failed)

{"success": false, "error": string with error message}

Examples copy link

https://api.doali.com/template/update?version=2
Back to top

Classes
Classes used in Doali API

Account
Detailed information about your account


PropertiesDescriptionExampleType
AccountPaymentUrl URL for making payments.http://payments.yourdomain.comstring
Address1 First line of address.ADDRESS1string
Address2 Second line of address.ADDRESS2string
AffiliateLink URL for affiliating.http://string
ApiKey ApiKey that gives you access to our SMTP and HTTP API's.94DAF66E-4DF6-4E8E-AF96-D094A8D21DF3string
ApiKey2 Second ApiKey that gives you access to our SMTP and HTTP API's. Used mainly for changing ApiKeys without disrupting services.BE4C7ECC-5176-44B4-A843-EE704BCB1B51string
AutoCreditAmount When AutoCreditStatus is Enabled, the amount of credit to be recharged.500decimal
AutoCreditLevel When AutoCreditStatus is Enabled, the credit level that triggers the credit to be recharged.100decimal
AutoCreditStatus Status of automatic payments configuration.Offstring
City City.CITYstring
Company Company name.COMPANYstring
ContentTransferEncoding Type of content encodingBase64string
CountryID Numeric ID of country. A file with the list of countries is available here12345int
Credit Amount of emails sent from this account1000decimal
DailySendLimit Amount of emails account can send daily100000int
DateCreated Creation date.2001-01-01:12:00:00datetime
DeliveryReason Why your clients are receiving your emails.Reasonstring
DomainRestricted boolean
Email Proper email address.mail@example.comstring
EmailCredits Amount of email credits1000int
EnableBouncesHandling boolean
EnableContactFeatures Enable contact delivery and optimization tools on your Account.boolean
EnablePrivateBranding True: Turn on or off ability to send mails under your brand. Otherwise, falsetrueboolean
FirstName First name.FIRSTNAMEstring
IsSub True, if account is a subaccount. Otherwise, falsefalseboolean
LastName Last name.LASTNAMEstring
LinkTracking True, if you have enabled link tracking. Otherwise, falsetrueboolean
LitmusCredits Amount of Litmus credits1000decimal
LogoUrl URL to your logo image.http://yourdomain.com/logo.pngstring
MonthlyEmailsSent Amount of emails sent from this account1000long
NeedsSMSVerification boolean
PaymentFormUrl URL form for payments.http://string
Phone Phone number1234567890string
PricePerEmail Amount of emails sent from this account1000decimal
PrivateBrandingUrl Subdomain for your rebranded servicemailing.yourdomain.comstring
PublicAccountID Public key for limited access to your account such as contact/add so you can use it safely on public websites.EB3EBB7A-C20D-4D39-8F2F-5E6842F58E6Fstring
Reputation Numeric reputation100double
Smtp Address of SMTP server.smtp.yourdomain.comstring
SmtpAlternative Address of alternative SMTP server.smtp2.yourdomain.comstring
State State or province.STATEstring
StatusFormatted Account status: ActiveActivestring
StatusNumber Number of status: 1 - Active1int
SubAccountsCount The number of subaccounts this account has.1long
SupportLink Address to your support.http://help.yourdomain.comstring
TaxCode Code used for tax purposes.string
TotalEmailsSent Amount of emails sent from this account1000long
Website HTTP address of your website.http://example.comstring
Zip Zip/postal code.ZIP/POSTALstring
Back to top

AccountOverview
Basic overview of your account


PropertiesDescriptionExampleType
BlockedContactsCount Number of contacts currently with blocked status of Unsubscribed, Complaint, Bounced or InActive1000long
CampaignCount Number of created campaigns10long
ContactCount Number of contacts10000long
CostPerThousand Cost of 1000 emails0.09decimal
Credit Amount of emails sent from this account1000decimal
InProgressCount Number of messages in progress1234long
ReferralCount Number of active referrals10long
Reputation Numeric reputation100double
SubAccountCount Number of created subaccounts10long
TemplateCount Number of available templates10long
TotalEmailsSent Amount of emails sent from this account1000long
Back to top

AccountSendStatus Enumeration
Account's ready to send e-mails Status


ValuesValueDescription
NotEnoughCredits 1Account doesn't have enough credits
CanSendEmailsNoAttachments 2Account can send e-mails but only without the attachments
DailySendLimitExceeded 3Account has exceeded his daily send limit
CanSendEmails 4Account is ready to send e-mails
Back to top

AdvancedOptions
Lists advanced sending options of your account.


PropertiesDescriptionExampleType
AllowCustomHeaders True, if you want to apply custom headers to your emails. Otherwise, falsetrueboolean
AutoTextFormat True, if text BODY of message should be created automatically. Otherwise, falsetrueboolean
BccEmail Email address to send a copy of all email to.your@email.comstring
ContentTransferEncoding Type of content encodingBase64string
DeliveryReason Why your clients are receiving your emails.Reasonstring
EmailNotification True, if you want to receive bounce email notifications. Otherwise, falsetruestring
EmailNotificationForError True, if you want bounce notifications returned. Otherwise, falsefalseboolean
EnableClickTracking True, if you want to track clicks. Otherwise, falsetrueboolean
EnableContactFeatures True, if you want to use Contact Delivery Tools. Otherwise, falseboolean
EnableLinkClickTracking True, if you want to track by link tracking. Otherwise, falsetrueboolean
EnableTemplateScripting True, if you want to use template scripting in your emails {{}}. Otherwise, falsetrueboolean
EnableUITooltips True, if account has tooltips active. Otherwise, falsetrueboolean
EnableUnsubscribeHeader True, if you want to enable list-unsubscribe header. Otherwise, falsetrueboolean
HubCallbackUrl URL used for tracking action of inbound emailshttp://string
InboundContactsOnly True, if you want inbound email to only process contacts from your account. Otherwise, falsetrueboolean
InboundDomain Domain you use as your inbound domainyourdomain.comstring
IsOwnedByReseller True, if this account resells Doali. Otherwise, false.falseboolean
IsSubAccount True, if this account is a sub-account. Otherwise, falsetrueboolean
LogoUrl URL to your logo image.http://yourdomain.com/logo.pngstring
LowCreditNotification True, if you want to receive low credit email notifications. Otherwise, falsetrueboolean
ManageSubscribedOnly True, if you want to only display labels that the contact is subscribed to on your unsubscribe form. Otherwise, falsetrueboolean
ManageSubscriptions True, if you want to display your labels on your unsubscribe form. Otherwise, falsetrueboolean
NotificationsEmails Email addresses to send a copy of all notifications from our system. Separated by semicolonemail1@example.com;email2@example.comstring
PreviewMessageID string
StaleContactInactiveDays (0 means this functionality is NOT enabled) Number of days of inactivity for a contact after which the given recipient should be moved to the Stale status180int
StaleContactScore (0 means this functionality is NOT enabled) Score, depending on the number of times you have sent to a recipient, at which the given recipient should be moved to the Stale status-4int
TransactionalOnUnsubscribe True, if you want to display an option for the contact to opt into transactional email only on your unsubscribe form. Otherwise, falsetrueboolean
UnsubscribeNotificationEmails Emails, separated by semicolon, to which the notification about contact unsubscribing should be sent toemail1@example.com;email2@example.comstring
WebNotificationForAbuse True, if you want to send web notifications for complaint email. Otherwise, falsetrueboolean
WebNotificationForClicked True, if you want to send web notifications for clicked email. Otherwise, falsetrueboolean
WebNotificationForError True, if you want to send web notifications for bounced email. Otherwise, falsetrueboolean
WebNotificationForOpened True, if you want to send web notifications for opened email. Otherwise, falsetrueboolean
WebNotificationForSent True, if you want to send web notifications for sent email. Otherwise, falsetrueboolean
WebnotificationForUnsubscribed True, if you want to send web notifications for unsubscribed email. Otherwise, falsetrueboolean
WebNotificationNotifyOncePerEmail True, if you want to receive notifications for each type only once per email. Otherwise, falsetrueboolean
WebNotificationUrl URL address to receive web notifications to parse and process.http://string
Back to top

APIKeyAction Enumeration


ValuesValueDescription
Add 1Add an additional APIKey to your Account.
Change 2Change this APIKey to a new one.
Delete 3Delete this APIKey
Back to top

BlockedContact
Blocked Contact - Contact returning Hard Bounces


PropertiesDescriptionExampleType
DateUpdated Last change date2001-01-01:12:00:00string
Email Proper email address.mail@example.comstring
FriendlyErrorMessage RFC error messageMailbox not foundstring
Status Name of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.Bouncedstring
Back to top

BouncedCategorySummary
Summary of bounced categories, based on specified date range.


PropertiesDescriptionExampleType
AccountProblem Number of messages flagged with 'Account Problem'0long
BlackListed Number of blacklisted messages1000long
CodeError Number of messages flagged with 'Code Error'0long
ConnectionProblem Number of messages flagged with 'Connection Problem'0long
ConnectionTerminated Number of messages flagged with 'Connection terminated'0long
DnsProblem Number of messages flagged with 'DNS Problem'0long
GreyListed Number of messages flagged with 'Grey Listed'0long
ManualCancel Number of manually cancelled messages1000long
NoMailbox Number of messages flagged with 'No Mailbox'0long
NotDelivered Number of messages flagged with 'Not Delivered'0long
Spam Number of messages marked as SPAM1000long
SpfProblem Number of messages flagged with 'SPF Problem'0long
Throttled Number of messages flagged with 'Throttled'0long
Timeout Number of messages flagged with 'Timeout'0long
WhitelistingProblem Number of messages flagged with 'WhiteListing Problem'0long
Back to top

Campaign
Campaign


PropertiesDescriptionExampleType
CampaignTemplates List of CampaignTemplate
ChannelID ID number of selected Channel.123456int
Name Campaign's namestring
SplitOptimization What should be checked for choosing the winner: opens or clicks0SplitOptimization
SplitOptimizationMinutes Number of minutes between sends during optimization period30int
Status Name of campaign's statusCampaignStatus
Targets List of Segment and List IDs, preceded with 'l' for Lists and 's' for Segments, comma separateds01,l10Repeated list of string
TimingOption int
TriggerChannelID ID number of transactionTransactionIDint
TriggerCount How many times should the campaign be sent1int
TriggerData Data for filtering event campaigns such as specific link addresses.string
TriggerDate Date of triggered send2001-01-01T12:00:00datetime
TriggerDelay How far into the future should the campaign be sent, in minutes20double
TriggerFrequency When your next automatic mail will be sent, in minutes30double
TriggerType Number of event, triggering mail sending1CampaignTriggerType
Back to top

CampaignChannel
Channel


PropertiesDescriptionExampleType
ChannelID ID number of selected Channel.123456int
ClickedCount Total emails clicked1000int
DateAdded Date of creation in YYYY-MM-DDThh:ii:ss format2001-01-01T12:00:00datetime
FailedAbuse Abuses - mails sent to user without their consent0.00int
FailedCount Total emails sent.1000int
IsCampaign True, if you are sending a campaign. Otherwise, false.Trueboolean
LastActivity Date of last activity on account2001-01-01T12:00:00datetime
LastProcessed Datetime of last action done on campaign.2001-01-01T01:01:01datetime
Name Filenameattachment.txtstring
OpenedCount Total emails opened.1000int
ParentChannelID Id number of parent channel123456int
PoolName Name of your custom IP Pool to be used in the sending processMy Custom Poolstring
RecipientCount Overall number of recipients1000int
SentCount Total emails sent.1000int
SplitOptimization What should be checked for choosing the winner: opens or clicks0SplitOptimization
SplitOptimizationMinutes Number of minutes between sends during optimization period30int
Status Name of campaign's statusCampaignStatus
Targets List of Segment and List IDs, preceded with 'l' for Lists and 's' for Segments, comma separateds01,l10Repeated list of string
TemplateChannels List of CampaignTemplate for sending A-X split testing.CampaignTemplate1, CampaignTemplate2List of CampaignChannel
TemplateFromEmail Default From: email address.sender@yourdomain.comstring
TemplateFromName Default From: name.Senderstring
TemplateID ID number of template.1234int
TemplateReplyEmail Default Reply: email address.replyto@yourdomain.comstring
TemplateReplyName Default Reply: name.Replystring
TemplateSubject Default subject of email.Hello!string
TimingOption int
TriggerChannelID ID number of transactionTransactionIDint
TriggerCount How many times should the campaign be sent1int
TriggerData Data for filtering event campaigns such as specific link addresses.string
TriggerDate Date of triggered send2001-01-01T12:00:00datetime
TriggerDelay How far into the future should the campaign be sent, in minutes20double
TriggerFrequency When your next automatic mail will be sent, in minutes30double
TriggerType Number of event, triggering mail sending1CampaignTriggerType
UnsubscribedCount Total emails clicked1000int
Back to top

CampaignStatus Enumeration


ValuesValueDescription
Deleted -1Campaign is logically deleted and not returned by API or interface calls.
Active 0Campaign is curently active and available.
Processing 1Campaign is currently being processed for delivery.
Sending 2Campaign is currently sending.
Completed 3Campaign has completed sending.
Paused 4Campaign is currently paused and not sending.
Cancelled 5Campaign has been cancelled during delivery.
Draft 6Campaign is save as draft and not processing.
Back to top

CampaignTemplate


PropertiesDescriptionExampleType
ChannelID ID number of selected Channel.123456int
PoolName Name of your custom IP Pool to be used in the sending processMy Custom Poolstring
Status Name of campaign's statusCampaignStatus
TemplateFromEmail Default From: email address.sender@yourdomain.comstring
TemplateFromName Default From: name.Senderstring
TemplateID ID number of template.1234int
TemplateReplyEmail Default Reply: email address.replyto@yourdomain.comstring
TemplateReplyName Default Reply: name.Replystring
TemplateSubject Default subject of email.Hello!string
Back to top

CampaignTriggerType Enumeration


ValuesValueDescription
SendNow 1
FutureScheduled 2
OnAdd 3
OnOpen 4
OnClick 5
Back to top

CertificateValidationStatus Enumeration


ValuesValueDescription
ErrorOccured -2
CertNotSet 0
Valid 1
NotValid 2
Back to top

Channel
SMTP and HTTP API channel for grouping email delivery


PropertiesDescriptionExampleType
ClickedCount The number of emails that have been clicked within this channel.int
Cost The total cost for emails/attachments within this channel.decimal
DateAdded The date the channel was added to your account.datetime
FailedAbuse The number of emails that have been marked as abuse or complaint within this channel.int
FailedCount The number of emails that have been bounced within this channel.int
JobCount The number of email jobs this channel has been used with.int
LastActivity The date the channel was last sent through.datetime
Name Descriptive name of the channel.string
OpenedCount The number of emails that have been opened within this channel.int
RecipientCount The number of emails attempted to be sent within this channel.int
SentCount The number of emails that have been sent within this channel.int
UnsubscribedCount The number of emails that have been unsubscribed within this channel.int
Back to top

CompressionFormat Enumeration
FileResponse compression format


ValuesValueDescription
None 0No compression
Zip 1Zip compression
Back to top

Contact
Contact


PropertiesDescriptionExampleType
BouncedErrorCode RFC Error code550int
BouncedErrorMessage RFC error messageMailbox not foundstring
ContactScore int
CreatedFromIP IP address192.168.0.1string
CustomFields Custom contact field like firstname, lastname, city etc. JSON serialized text like { "city":"london" } englishRepeated list of string keys and string values
DateAdded Date of creation in YYYY-MM-DDThh:ii:ss format2001-01-01T12:00:00datetime
DateUpdated Last change date2001-01-01:12:00:00datetime
Email Proper email address.mail@example.comstring
ErrorCode RFC Error code550int
FirstFailedDate Date of first failed message2001-01-01:12:00:00datetime
FirstName First name.FIRSTNAMEstring
FriendlyErrorMessage RFC error messageMailbox not foundstring
LastClicked datetime
LastFailedCount Number of fails in sending to this Contact1int
LastName Last name.LASTNAMEstring
LastOpened Date this contact last opened an email2014-01-01datetime
Notes Free form field of notesContact is extremely important!string
Source Source of URL of paymenthttp://ContactSource
Status Name of status: Active, Engaged, Inactive, Abuse, Bounced, Unsubscribed.BouncedContactStatus
TotalClicked Total emails clicked1000int
TotalFailed Total emails sent.1000int
TotalOpened Total emails opened.1000int
TotalSent Total emails sent.1000int
UnsubscribedDate Unsubscribed date in YYYY-MM-DD format2001-01-01datetime
WebsiteUrl Website of contacthttp://string
Back to top

ContactCollection
Collection of lists and segments


PropertiesDescriptionExampleType
Lists Lists which contain the requested contactList of ContactContainer
Segments Segments which contain the requested contactList of ContactContainer
Back to top

ContactContainer
List's or segment's short info


PropertiesDescriptionExampleType
ID ID of the list/segmentint
Name Name of the list/segmentstring
Back to top

ContactHistEventType Enumeration


ValuesValueDescription
Opened 2Contact opened an e-mail
Clicked 3Contact clicked an e-mail
Bounced 10E-mail sent to the contact bounced
Unsubscribed 11Contact unsubscribed
Complained 12Contact complained to an e-mail
Activated 20Contact clicked an activation link
TransactionalUnsubscribed 21Contact has opted to receive Transactional-only e-mails
ManualStatusChange 22Contact's status was changed manually
ActivationSent 24An Activation e-mail was sent
Deleted 28Contact was deleted
Back to top

ContactHistory
History of chosen Contact


PropertiesDescriptionExampleType
ChannelName Name of selected channel.Channel01string
ContactHistoryID ID of history of selected Contact.123456long
Country Country of the event.string
Data Information about the eventstring
EventDate Formatted date of event.1/1/2015 0:00:00 AMstring
EventType Type of event occured on this Contact.Sentstring
EventTypeValue Numeric code of event occured on this Contact.1ContactHistEventType
IPAddress IP Address of the event.string
TemplateName Name of template.Template01string
Back to top

ContactSource Enumeration


ValuesValueDescription
DeliveryApi 0Source of the contact is from sending an email via our SMTP or HTTP API's
ManualInput 1Contact was manually entered from the interface.
FileUpload 2Contact was uploaded via a file such as CSV.
WebForm 3Contact was added from a public web form.
ContactApi 4Contact was added from the contact api.
Back to top

ContactStatus Enumeration


ValuesValueDescription
Transactional -2Only transactional email can be sent to contacts with this status.
Engaged -1Contact has had an open or click in the last 6 months.
Active 0Contact is eligible to be sent to.
Bounced 1Contact has had a hard bounce and is no longer eligible to be sent to.
Unsubscribed 2Contact has unsubscribed and is no longer eligible to be sent to.
Abuse 3Contact has complained and is no longer eligible to be sent to.
Inactive 4Contact has not been activated or has been de-activated and is not eligible to be sent to.
Stale 5Contact has not been opening emails for a long period of time and is not eligible to be sent to.
NotConfirmed 6Contact has not confirmed their double opt-in activation and is not eligible to be sent to.
Back to top

ContactStatusCounts
Number of Contacts, grouped by Status;


PropertiesDescriptionExampleType
Active Number of active contacts1000long
Bounced Number of bounced messages1000long
Complaint Number of complaint messages1000long
Engaged Number of engaged contacts1000long
Inactive Number of inactive contacts1000long
NotConfirmed long
Stale long
Transactional Number of transactional contacts1000long
Unsubscribed Number of unsubscribed messages1000long
Back to top

ContactUnsubscribeReasonCounts
Number of Unsubscribed or Complaint Contacts, grouped by Unsubscribe Reason;


PropertiesDescriptionExampleType
AbuseReported long
DeceptiveContent long
IrrelevantContent long
ListUnsubscribe long
NeverConsented long
NoLongerWant long
ThirdParty long
TooFrequent long
Unknown long
Back to top

CreditType Enumeration
Type of credits


ValuesValueDescription
Email 9Used to send emails. One credit = one email.
Litmus 11Used to run a litmus test on a template. 1 credit = 1 test.
Back to top

DailyLogStatusSummary
Daily summary of log status, based on specified date range.


PropertiesDescriptionExampleType
Bounced