Elastic Email REST API (4.0.0)

Download OpenAPI specification:Download

This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach.

Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used.

The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request.

To start using this API, you will need your Access Token (available here). Remember to keep it safe. Required access levels are listed in the given request’s description.

Downloadable library clients can be found in our Github repository here

Campaigns

Sending and monitoring progress of your Campaigns

Load Campaigns

Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns

Authorizations:
apikey
query Parameters
search
string <string>

Text fragment used for searching in Campaign name (using the 'contains' rule)

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Campaign

Add a campaign for processing. Required Access Level: ModifyCampaigns

Authorizations:
apikey
Request Body schema: application/json
required

JSON representation of a campaign

Array of objects (CampaignTemplate)

Campaign's email content. Provide multiple items to send an A/X Split Campaign

Name
required
string <string>

Campaign name

Status
string (CampaignStatus)
Default: "Deleted"
Enum: "Deleted" "Active" "Processing" "Sending" "Completed" "Paused" "Cancelled" "Draft"
required
object (CampaignRecipient)

A set of lists and segments names to read recipients from

object (CampaignRecipient)

A set of lists and segments names to read recipients from

object (CampaignOptions)

Different send options for a Campaign

Responses

Request samples

Content type
application/json
{
  • "Content": [
    ],
  • "Name": "string",
  • "Status": "Deleted",
  • "Recipients": {
    },
  • "ExcludedRecipients": {
    },
  • "Options": {
    }
}

Response samples

Content type
application/json
{
  • "Content": [
    ],
  • "Name": "string",
  • "Status": "Deleted",
  • "Recipients": {
    },
  • "ExcludedRecipients": {
    },
  • "Options": {
    }
}

Load Campaign

Returns the specified campaign details. Required Access Level: ViewCampaigns

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of Campaign to get

Responses

Response samples

Content type
application/json
{
  • "Content": [
    ],
  • "Name": "string",
  • "Status": "Deleted",
  • "Recipients": {
    },
  • "ExcludedRecipients": {
    },
  • "Options": {
    }
}

Update Campaign

Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of Campaign to update

Request Body schema: application/json
required

JSON representation of a campaign

Array of objects (CampaignTemplate)

Campaign's email content. Provide multiple items to send an A/X Split Campaign

Name
required
string <string>

Campaign name

Status
string (CampaignStatus)
Default: "Deleted"
Enum: "Deleted" "Active" "Processing" "Sending" "Completed" "Paused" "Cancelled" "Draft"
required
object (CampaignRecipient)

A set of lists and segments names to read recipients from

object (CampaignRecipient)

A set of lists and segments names to read recipients from

object (CampaignOptions)

Different send options for a Campaign

Responses

Request samples

Content type
application/json
{
  • "Content": [
    ],
  • "Name": "string",
  • "Status": "Deleted",
  • "Recipients": {
    },
  • "ExcludedRecipients": {
    },
  • "Options": {
    }
}

Response samples

Content type
application/json
{
  • "Content": [
    ],
  • "Name": "string",
  • "Status": "Deleted",
  • "Recipients": {
    },
  • "ExcludedRecipients": {
    },
  • "Options": {
    }
}

Delete Campaign

Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of Campaign to delete

Responses

Pause Campaign

Pauses the specific campaign, cancelling emails that are waiting to be sent. Required Access Level: ModifyCampaigns

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of Campaign to pause

Responses

Trigger Automation for Contact

Manually trigger an Automation for a contact. Required Access Level: ModifyAutomations

Authorizations:
apikey
path Parameters
name
required
string <string>

string

query Parameters
contactEmail
required
string <string>

string

Responses

Contacts

Methods used to manage your Contacts.

Load Contacts

Returns a list of contacts. Required Access Level: ViewContacts

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "20"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Contact

Add new Contacts to your Lists. Up to 1000 can be added (for more please refer to the import request). Required Access Level: ModifyContacts

Authorizations:
apikey
query Parameters
listnames
Array of strings <string> [ items <string > ]

Names of lists to which the uploaded contacts should be added to

Request Body schema: application/json
required
Array
Email
required
string <string>

Proper email address.

Status
string (ContactStatus)
Default: "Transactional"
Enum: "Transactional" "Engaged" "Active" "Bounced" "Unsubscribed" "Abuse" "Inactive" "Stale" "NotConfirmed"
FirstName
string <string>

First name.

LastName
string <string>

Last name.

object

A key-value collection of custom contact fields which can be used in the system. Only already existing custom fields will be saved.

object (ConsentData)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Load Contact

Load detailed contact information for specified email. Required Access Level: ViewContacts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Proper email address.

Responses

Response samples

Content type
application/json
{
  • "Email": "mail@example.com",
  • "Status": "Transactional",
  • "FirstName": "Fred",
  • "LastName": "Flintstone",
  • "CustomFields": {
    },
  • "Consent": {
    },
  • "Source": "DeliveryApi",
  • "SourceInfo": "string",
  • "DateAdded": "2001-01-01T12:00:00",
  • "DateUpdated": "2001-01-01T12:00:00",
  • "StatusChangeDate": "2001-01-01T12:00:00",
  • "Activity": {
    }
}

Update Contact

Update selected contact. Omitted contact's fields will not be changed. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Proper email address.

Request Body schema: application/json
required
FirstName
string <string>

First name.

LastName
string <string>

Last name.

object

A key-value collection of custom contact fields which can be used in the system.

Responses

Request samples

Content type
application/json
{
  • "FirstName": "Fred",
  • "LastName": "Flintstone",
  • "CustomFields": {
    }
}

Response samples

Content type
application/json
{
  • "Email": "mail@example.com",
  • "Status": "Transactional",
  • "FirstName": "Fred",
  • "LastName": "Flintstone",
  • "CustomFields": {
    },
  • "Consent": {
    },
  • "Source": "DeliveryApi",
  • "SourceInfo": "string",
  • "DateAdded": "2001-01-01T12:00:00",
  • "DateUpdated": "2001-01-01T12:00:00",
  • "StatusChangeDate": "2001-01-01T12:00:00",
  • "Activity": {
    }
}

Delete Contact

Deletes the provided contact. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Proper email address.

Responses

Delete Contacts Bulk

Deletes provided contacts in bulk. Required Access Level: ModifyContacts

Authorizations:
apikey
Request Body schema: application/json
required

Provide either rule or a list of emails, not both.

Rule
string <string>

SQL-like rule. Sending 'All' as a value loads all resources of the given type. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Emails
Array of strings <string> [ items <string > ]

Comma delimited list of contact emails

Responses

Request samples

Content type
application/json
{
  • "Rule": "string",
  • "Emails": [
    ]
}

Export Contacts

Request an Export of specified Contacts. Required Access Level: Export

Authorizations:
apikey
query Parameters
fileFormat
string (ExportFileFormats)
Default: "Csv"
Enum: "Csv" "Xml" "Json"

Format of the exported file

rule
string <string>
Example: rule=Status%20=%20Engaged

Query used for filtering.

emails
Array of strings <string> [ items <string > ]
Example: emails=mail@contact.com,mail1@contact.com,mail2@contact.com

Comma delimited list of contact emails

compressionFormat
string (CompressionFormat)
Default: "None"
Enum: "None" "Zip"

FileResponse compression format. None or Zip.

fileName
string <string>
Example: fileName=filename.txt

Name of your file including extension.

Responses

Response samples

Content type
application/json
{
  • "Link": "string",
  • "PublicExportID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F"
}

Check Export Status

Check the current status of the export. Required Access Level: Export

Authorizations:
apikey
path Parameters
id
required
string <guid>
Example: E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F

ID of the exported file

Responses

Response samples

Content type
application/json
"Error"

Upload Contacts

Upload contacts from a file. Required Access Level: ModifyContacts

Authorizations:
apikey
query Parameters
listName
string <string>

Name of an existing list to add these contacts to

encodingName
string <string>

In what encoding the file is uploaded

fileUrl
string <string>

Optional url of csv to import

Request Body schema: multipart/form-data
required

File in CSV format with columns to upload as Contact fields. Required columns: Email. Suggested columns: AllowUnsubscribe, Status, ConsentDate, ConsentIP, ConsentTracking.

file
string <binary>

Responses

Domains

Domain Actions

Load Domains

Returns a list of all domains configured for this Account. Required Access Level: ViewSettings

Authorizations:
apikey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Domain

Add new domain to Account. Required Access Level: ModifySettings

Authorizations:
apikey
Request Body schema: application/json
required

Domain to add

Domain
string <string>

Name of selected domain.

SetAsDefault
boolean <boolean>

Responses

Request samples

Content type
application/json
{
  • "Domain": "example.com",
  • "SetAsDefault": true
}

Response samples

Content type
application/json
{
  • "Domain": "example.com",
  • "DefaultDomain": true,
  • "Spf": "true",
  • "Dkim": "true",
  • "MX": "true",
  • "DMARC": true,
  • "IsRewriteDomainValid": "true",
  • "Verify": "true",
  • "Type": "None",
  • "TrackingStatus": "Validated",
  • "CertificateStatus": "ErrorOccured",
  • "CertificateExpiryDate": null,
  • "CertificateValidationError": "string",
  • "TrackingTypeUserRequest": "None",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true,
  • "WasEverVerified": true,
  • "IsMarkedForDeletion": true,
  • "Ownership": "Current"
}

Load Domain

Retrieve a domain configured for this Account. Required Access Level: ViewSettings

Authorizations:
apikey
path Parameters
domain
required
string <string>

Name of the given domain

Responses

Response samples

Content type
application/json
{
  • "ValidationLog": "string",
  • "Domain": "example.com",
  • "DefaultDomain": true,
  • "Spf": "true",
  • "Dkim": "true",
  • "MX": "true",
  • "DMARC": true,
  • "IsRewriteDomainValid": "true",
  • "Verify": "true",
  • "Type": "None",
  • "TrackingStatus": "Validated",
  • "CertificateStatus": "ErrorOccured",
  • "CertificateExpiryDate": null,
  • "CertificateValidationError": "string",
  • "TrackingTypeUserRequest": "None",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true,
  • "WasEverVerified": true,
  • "IsMarkedForDeletion": true,
  • "Ownership": "Current"
}

Update Domain

Updates the specified domain. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
domain
required
string <string>

Name of the given domain

Request Body schema: application/json
required

Updated Domain resource

CertificateStatus
string (CertificateValidationStatus)
Default: "ErrorOccured"
Enum: "ErrorOccured" "CertNotSet" "Valid" "NotValid" "InProgress"
VERP
boolean <boolean>
CustomBouncesDomain
string <string>
IsCustomBouncesDomainDefault
boolean <boolean>

Responses

Request samples

Content type
application/json
{
  • "CertificateStatus": "ErrorOccured",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true
}

Response samples

Content type
application/json
{
  • "Domain": "example.com",
  • "DefaultDomain": true,
  • "Spf": "true",
  • "Dkim": "true",
  • "MX": "true",
  • "DMARC": true,
  • "IsRewriteDomainValid": "true",
  • "Verify": "true",
  • "Type": "None",
  • "TrackingStatus": "Validated",
  • "CertificateStatus": "ErrorOccured",
  • "CertificateExpiryDate": null,
  • "CertificateValidationError": "string",
  • "TrackingTypeUserRequest": "None",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true,
  • "WasEverVerified": true,
  • "IsMarkedForDeletion": true,
  • "Ownership": "Current"
}

Delete Domain

Deletes configured domain from Account. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
domain
required
string <string>

Name of the given domain

Responses

Check for domain restriction

Checking if domain is from free provider, or restricted. Required Access Level: ViewSettings

Authorizations:
apikey
path Parameters
domain
required
string <string>

Name of the given domain

Responses

Response samples

Content type
application/json
true

Verify Domain

Verifies that required DNS records exist for specified domain. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
domain
required
string <string>

Name of the given domain

Request Body schema: application/json
required

Tracking type used in the Tracking verification

string
Enum: "None" "Delete" "Http" "ExternalHttps" "InternalCertHttps" "LetsEncryptCert"

Responses

Request samples

Content type
application/json
"None"

Response samples

Content type
application/json
{
  • "ValidationLog": "string",
  • "Domain": "example.com",
  • "DefaultDomain": true,
  • "Spf": "true",
  • "Dkim": "true",
  • "MX": "true",
  • "DMARC": true,
  • "IsRewriteDomainValid": "true",
  • "Verify": "true",
  • "Type": "None",
  • "TrackingStatus": "Validated",
  • "CertificateStatus": "ErrorOccured",
  • "CertificateExpiryDate": null,
  • "CertificateValidationError": "string",
  • "TrackingTypeUserRequest": "None",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true,
  • "WasEverVerified": true,
  • "IsMarkedForDeletion": true,
  • "Ownership": "Current"
}

Set Default

Sets a verified email address as default sender. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
email
required
string <string>

Default email sender, example: mail@yourdomain.com

Responses

Response samples

Content type
application/json
{
  • "Domain": "example.com",
  • "DefaultDomain": true,
  • "Spf": "true",
  • "Dkim": "true",
  • "MX": "true",
  • "DMARC": true,
  • "IsRewriteDomainValid": "true",
  • "Verify": "true",
  • "Type": "None",
  • "TrackingStatus": "Validated",
  • "CertificateStatus": "ErrorOccured",
  • "CertificateExpiryDate": null,
  • "CertificateValidationError": "string",
  • "TrackingTypeUserRequest": "None",
  • "VERP": true,
  • "CustomBouncesDomain": "string",
  • "IsCustomBouncesDomainDefault": true,
  • "WasEverVerified": true,
  • "IsMarkedForDeletion": true,
  • "Ownership": "Current"
}

Emails

Send your emails and see their statuses

Send Bulk Emails

Send bulk merge email. Required Access Level: SendHttp

Authorizations:
apikey
Request Body schema: application/json
required

Email data

required
Array of objects (EmailRecipient)

List of recipients

required
object (EmailContent)

Proper e-mail content

object (Options)

E-mail configuration

Responses

Request samples

Content type
application/json
{
  • "Recipients": [
    ],
  • "Content": {
    },
  • "Options": {
    }
}

Response samples

Content type
application/json
{
  • "TransactionID": "TransactionID",
  • "MessageID": "-HHGPM_9RPhSMiaJq_ab4g3"
}

View Email

Returns email details for viewing or rendering. Required Access Level: None

Authorizations:
apikey
path Parameters
msgid
required
string <string>

Message identifier

Responses

Response samples

Content type
application/json
{
  • "Preview": {
    },
  • "Attachments": [
    ],
  • "Status": {
    }
}

Get Status

Get status details of an email transaction. Required Access Level: ViewReports

Authorizations:
apikey
path Parameters
transactionid
required
string <string>

Transaction identifier

query Parameters
showFailed
boolean <boolean>
Default: "False"

Include Bounced email addresses.

showSent
boolean <boolean>
Default: "False"

Include Sent email addresses.

showDelivered
boolean <boolean>
Default: "False"

Include all delivered email addresses.

showPending
boolean <boolean>
Default: "False"

Include Ready to send email addresses.

showOpened
boolean <boolean>
Default: "False"

Include Opened email addresses.

showClicked
boolean <boolean>
Default: "False"

Include Clicked email addresses.

showAbuse
boolean <boolean>
Default: "False"

Include Reported as abuse email addresses.

showUnsubscribed
boolean <boolean>
Default: "False"

Include Unsubscribed email addresses.

showErrors
boolean <boolean>
Default: "False"

Include error messages for bounced emails.

showMessageIDs
boolean <boolean>
Default: "False"

Include all MessageIDs for this transaction

Responses

Response samples

Content type
application/json
{
  • "ID": "123456",
  • "Status": "string",
  • "RecipientsCount": 0,
  • "Failed": [
    ],
  • "FailedCount": "1000",
  • "Sent": [
    ],
  • "SentCount": "1000",
  • "Delivered": [
    ],
  • "DeliveredCount": 0,
  • "Pending": [
    ],
  • "PendingCount": 0,
  • "Opened": [
    ],
  • "OpenedCount": "1000",
  • "Clicked": [
    ],
  • "ClickedCount": "1000",
  • "Unsubscribed": [
    ],
  • "UnsubscribedCount": "1000",
  • "AbuseReports": [
    ],
  • "AbuseReportsCount": 0,
  • "MessageIDs": [
    ]
}

Send Bulk Emails CSV

Send to a list of contacts submitted in a CSV data file. The first column in the CSV must be the email address and the CSV must contain a header row. Additional fields can be included with a named header row and can be merged with the template using {merge} tags in the content.

         Example CSV:
        
         email, firstname, lastname
         test1@gmail.com, michael, smith
         test2@gmail.com, janet, smith
        
         Merge file must not be empty. Required Access Level: SendHttp
Authorizations:
apikey
Request Body schema: application/json
required

Email data

required
object (MessageAttachment)
required
object (EmailContent)

Proper e-mail content

object (Options)

E-mail configuration

Responses

Request samples

Content type
application/json
{
  • "MergeFile": {
    },
  • "Content": {
    },
  • "Options": {
    }
}

Response samples

Content type
application/json
{
  • "TransactionID": "TransactionID",
  • "MessageID": "-HHGPM_9RPhSMiaJq_ab4g3"
}

Send Transactional Email

Send transactional emails (recipients will be known to each other). Required Access Level: SendHttp

Authorizations:
apikey
Request Body schema: application/json
required

Email data

required
object (TransactionalRecipient)

List of transactional recipients

required
object (EmailContent)

Proper e-mail content

object (Options)

E-mail configuration

Responses

Request samples

Content type
application/json
{
  • "Recipients": {
    },
  • "Content": {
    },
  • "Options": {
    }
}

Response samples

Content type
application/json
{
  • "TransactionID": "TransactionID",
  • "MessageID": "-HHGPM_9RPhSMiaJq_ab4g3"
}

Events

Methods to check logs of your campaigns

Load Events

Returns a log of delivery events filtered by specified parameters. Required Access Level: ViewReports

Authorizations:
apikey
query Parameters
eventTypes
Array of strings (EventType)
Items Enum: "Submission" "FailedAttempt" "Bounce" "Sent" "Open" "Click" "Unsubscribe" "Complaint"

Types of Events to return

from
string or null <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

orderBy
string (EventsOrderBy)
Default: "DateDescending"
Enum: "DateDescending" "DateAscending"
limit
integer <int32>
Default: "0"

How many items to load. Maximum for this request is 1000 items

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Load Email Events

Returns a log of delivery events for the specific transaction ID. Required Access Level: ViewReports

Authorizations:
apikey
path Parameters
transactionid
required
string <string>
Example: TransactionID

ID number of transaction

query Parameters
from
string or null <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

orderBy
string (EventsOrderBy)
Default: "DateDescending"
Enum: "DateDescending" "DateAscending"
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Load Channel Events

Returns a log of delivery events filtered by specified parameters. Required Access Level: ViewReports

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: Channel01

Name of selected channel.

query Parameters
eventTypes
Array of strings (EventType)
Items Enum: "Submission" "FailedAttempt" "Bounce" "Sent" "Open" "Click" "Unsubscribe" "Complaint"

Types of Events to return

from
string or null <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

orderBy
string (EventsOrderBy)
Default: "DateDescending"
Enum: "DateDescending" "DateAscending"
limit
integer <int32>
Default: "0"

How many items to load. Maximum for this request is 1000 items

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Export Channel Events

Export delivery events log information to the specified file format. Required Access Level: Export

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: Channel01

Name of selected channel.

query Parameters
eventTypes
Array of strings (EventType)
Items Enum: "Submission" "FailedAttempt" "Bounce" "Sent" "Open" "Click" "Unsubscribe" "Complaint"

Types of Events to return

from
string or null <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

fileFormat
string (ExportFileFormats)
Default: "Csv"
Enum: "Csv" "Xml" "Json"

Format of the exported file

compressionFormat
string (CompressionFormat)
Default: "None"
Enum: "None" "Zip"

FileResponse compression format. None or Zip.

fileName
string <string>
Example: fileName=filename.txt

Name of your file including extension.

Responses

Response samples

Content type
application/json
{
  • "Link": "string",
  • "PublicExportID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F"
}

Check Channel Export Status

Check the current status of the channel export. Required Access Level: Export

Authorizations:
apikey
path Parameters
id
required
string <guid>
Example: E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F

ID of the exported file

Responses

Response samples

Content type
application/json
"Error"

Export Events

Export delivery events log information to the specified file format. Required Access Level: Export

Authorizations:
apikey
query Parameters
eventTypes
Array of strings (EventType)
Items Enum: "Submission" "FailedAttempt" "Bounce" "Sent" "Open" "Click" "Unsubscribe" "Complaint"

Types of Events to return

from
string or null <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

fileFormat
string (ExportFileFormats)
Default: "Csv"
Enum: "Csv" "Xml" "Json"

Format of the exported file

compressionFormat
string (CompressionFormat)
Default: "None"
Enum: "None" "Zip"

FileResponse compression format. None or Zip.

fileName
string <string>
Example: fileName=filename.txt

Name of your file including extension.

Responses

Response samples

Content type
application/json
{
  • "Link": "string",
  • "PublicExportID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F"
}

Check Export Status

Check the current status of the export. Required Access Level: Export

Authorizations:
apikey
path Parameters
id
required
string <guid>
Example: E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F

ID of the exported file

Responses

Response samples

Content type
application/json
"Error"

Files

Manage the files on your account to be used as attachments in your email, templates, etc.

List Files

Returns a list of all your available files. Required Access Level: ViewFiles

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload File

Uploads selected file to the server. Required Access Level: ModifyFiles

Authorizations:
apikey
query Parameters
expiresAfterDays
integer or null <int32>
Default: "35"
Example:

After how many days should the file be deleted.

Request Body schema: application/json
required
BinaryContent
required
string <byte>

Content of the file sent as binary data

Name
string <string>

Filename

ContentType
string <string>

Type of file's content (e.g. image/jpeg)

Responses

Request samples

Content type
application/json
{
  • "BinaryContent": "string",
  • "Name": "attachment.txt",
  • "ContentType": "string"
}

Response samples

Content type
application/json
{
  • "FileName": "filename.txt",
  • "Size": "100",
  • "DateAdded": "2001-01-01T12:00:00",
  • "ExpirationDate": null,
  • "ContentType": "image/jpeg"
}

Download File

Gets content of the specified File. Required Access Level: ViewFiles

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: filename.txt

Name of your file including extension.

Responses

Delete File

Permanently deletes the file from your Account. Required Access Level: ModifyFiles

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: filename.txt

Name of your file including extension.

Responses

Load File Details

Returns the specified File's details. Required Access Level: ViewFiles

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: filename.txt

Name of your file including extension.

Responses

Response samples

Content type
application/json
{
  • "FileName": "filename.txt",
  • "Size": "100",
  • "DateAdded": "2001-01-01T12:00:00",
  • "ExpirationDate": null,
  • "ContentType": "image/jpeg"
}

InboundRoute

Inbounds operations

Get Routes

Get all your Inbound Routes. Required Access Level: ViewSettings

Authorizations:
apikey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Route

Create new Inbound Route. Required Access Level: ModifySettings

Authorizations:
apikey
Request Body schema: application/json
required
Filter
required
string <string>

Filter of the inbound data

Name
required
string <string>

Name of this route

FilterType
required
string (InboundRouteFilterType)
Default: "EmailAddress"
Enum: "EmailAddress" "Subject"
ActionType
required
string (InboundRouteActionType)
Default: "ForwardToEmail"
Enum: "ForwardToEmail" "NotifyViaHttp" "Stop"
EmailAddress
string <string>

Email to forward the inbound to

HttpAddress
string <string>

Address to notify about the inbound

Responses

Request samples

Content type
application/json
{
  • "Filter": "string",
  • "Name": "string",
  • "FilterType": "EmailAddress",
  • "ActionType": "ForwardToEmail",
  • "EmailAddress": "string",
  • "HttpAddress": "string"
}

Response samples

Content type
application/json
{
  • "PublicId": "string",
  • "Name": "string",
  • "FilterType": "EmailAddress",
  • "Filter": "string",
  • "ActionType": "ForwardToEmail",
  • "ActionParameter": "string",
  • "SortOrder": 0
}

Get Route

Load an Inbound Route. Required Access Level: ViewSettings

Authorizations:
apikey
path Parameters
id
required
string <guid>
Example: 123456

ID number of your attachment

Responses

Response samples

Content type
application/json
{
  • "PublicId": "string",
  • "Name": "string",
  • "FilterType": "EmailAddress",
  • "Filter": "string",
  • "ActionType": "ForwardToEmail",
  • "ActionParameter": "string",
  • "SortOrder": 0
}

Update Route

Update the Inbound Route. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
id
required
string <guid>

string

Request Body schema: application/json
required
Filter
required
string <string>

Filter of the inbound data

Name
required
string <string>

Name of this route

FilterType
required
string (InboundRouteFilterType)
Default: "EmailAddress"
Enum: "EmailAddress" "Subject"
ActionType
required
string (InboundRouteActionType)
Default: "ForwardToEmail"
Enum: "ForwardToEmail" "NotifyViaHttp" "Stop"
EmailAddress
string <string>

Email to forward the inbound to

HttpAddress
string <string>

Address to notify about the inbound

Responses

Request samples

Content type
application/json
{
  • "Filter": "string",
  • "Name": "string",
  • "FilterType": "EmailAddress",
  • "ActionType": "ForwardToEmail",
  • "EmailAddress": "string",
  • "HttpAddress": "string"
}

Response samples

Content type
application/json
{
  • "PublicId": "string",
  • "Name": "string",
  • "FilterType": "EmailAddress",
  • "Filter": "string",
  • "ActionType": "ForwardToEmail",
  • "ActionParameter": "string",
  • "SortOrder": 0
}

Delete Route

Deletes the Inbound Route. Required Access Level: ModifySettings

Authorizations:
apikey
path Parameters
id
required
string <guid>

string

Responses

Update Sorting

Required Access Level: ViewSettings

Authorizations:
apikey
Request Body schema: application/json
required

Change the ordering of inbound routes for when matching the inbound

Array
PublicInboundId
required
string <guid>

ID of the route to change the order of

SortOrder
required
integer <int32>

1 - route will be used first

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Lists

API methods for managing your Lists

Load Lists

Returns all your existing lists. Required Access Level: ViewContacts

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add List

Add a new list. Required Access Level: ModifyContacts

Authorizations:
apikey
Request Body schema: application/json
required
ListName
required
string <string>

Name of your list.

AllowUnsubscribe
boolean <boolean>

True: Allow unsubscribing from this list. Otherwise, false

Emails
Array of strings <string> [ items <string > ]

Comma delimited list of existing contact emails that should be added to this list. Leave empty for all contacts

Responses

Request samples

Content type
application/json
{
  • "ListName": "My List 1",
  • "AllowUnsubscribe": "true/false",
  • "Emails": [
    ]
}

Response samples

Content type
application/json
{
  • "ListName": "My List 1",
  • "PublicListID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F",
  • "DateAdded": "2001-01-01T12:00:00",
  • "AllowUnsubscribe": "true/false"
}

Load Contacts in List

Returns a list of contacts. Required Access Level: ViewContacts

Authorizations:
apikey
path Parameters
listname
required
string <string>
Example: My List 1

Name of your list.

query Parameters
limit
integer <int32>
Default: "20"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Load List

Returns detailed information about specified list. Required Access Level: ViewContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My List 1

Name of your list.

Responses

Response samples

Content type
application/json
{
  • "ListName": "My List 1",
  • "PublicListID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F",
  • "DateAdded": "2001-01-01T12:00:00",
  • "AllowUnsubscribe": "true/false"
}

Update List

Update existing list. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My List 1

Name of your list.

Request Body schema: application/json
required
NewListName
string <string>

Name of your list if you want to change it.

AllowUnsubscribe
boolean <boolean>

True: Allow unsubscribing from this list. Otherwise, false

Responses

Request samples

Content type
application/json
{
  • "NewListName": "My List 2",
  • "AllowUnsubscribe": "true/false"
}

Response samples

Content type
application/json
{
  • "ListName": "My List 1",
  • "PublicListID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F",
  • "DateAdded": "2001-01-01T12:00:00",
  • "AllowUnsubscribe": "true/false"
}

Delete List

Deletes List and removes all the Contacts from it (does not delete Contacts). Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My List 1

Name of your list.

Responses

Add Contacts to List

Add existing Contacts to specified list. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My List 1

Name of your list.

Request Body schema: application/json
required

Provide either rule or a list of emails, not both.

Rule
string <string>

SQL-like rule. Sending 'All' as a value loads all resources of the given type. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Emails
Array of strings <string> [ items <string > ]

Comma delimited list of contact emails

Responses

Request samples

Content type
application/json
{
  • "Rule": "string",
  • "Emails": [
    ]
}

Response samples

Content type
application/json
{
  • "ListName": "My List 1",
  • "PublicListID": "E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F",
  • "DateAdded": "2001-01-01T12:00:00",
  • "AllowUnsubscribe": "true/false"
}

Remove Contacts from List

Remove specified Contacts from your list. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My List 1

Name of your list.

Request Body schema: application/json
required

Provide either rule or a list of emails, not both.

Rule
string <string>

SQL-like rule. Sending 'All' as a value loads all resources of the given type. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Emails
Array of strings <string> [ items <string > ]

Comma delimited list of contact emails

Responses

Request samples

Content type
application/json
{
  • "Rule": "string",
  • "Emails": [
    ]
}

Security

Security methods

List ApiKeys

List all your existing ApiKeys. Required Access Level: ViewAccessTokens

Authorizations:
apikey
query Parameters
subaccount
string <string>

Email of the subaccount of which ApiKeys should be loaded

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add ApiKey

Add a new ApiKey. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
Request Body schema: application/json
required
Name
required
string <string>

Name of the ApiKey for ease of reference.

AccessLevel
required
Array of strings (AccessLevel)
Items Enum: "None" "ViewAccount" "ViewContacts" "ViewForms" "ViewTemplates" "ViewCampaigns" "ViewChannels" "ViewAutomations" "ViewSurveys" "ViewSettings" "ViewBilling" "ViewSubAccounts" "ViewUsers" "ViewFiles" "ViewReports" "ModifyAccount" "ModifyContacts" "ModifyForms" "ModifyTemplates" "ModifyCampaigns" "ModifyChannels" "ModifyAutomations" "ModifySurveys" "ModifyFiles" "Export" "SendSmtp" "SendSMS" "ModifySettings" "ModifyBilling" "ModifyProfile" "ModifySubAccounts" "ModifyUsers" "Security" "ModifyLanguage" "ViewSupport" "SendHttp" "Modify2FAEmail" "ModifySupport" "ViewCustomFields" "ModifyCustomFields" "ModifyWebNotifications" "ExtendedLogs" "VerifyEmails" "Modify2FASms" "ViewVerifyEmails" "ViewAccessTokens" "ViewWebNotifications" "ModifyLandingPages" "ViewLandingPages" "ModifySuppressions" "ViewSuppressions" "ViewDragDropEditor" "ViewTemplateEditor" "ViewAITools" "ModifySubscriptionAntiSpam" "ViewLandingPagesCheckout" "ModifyLandingPagesCheckout" "ViewHTMLEditor" "ModifyAccessTokens" "ViewPaidNewsletters" "ModifyPaidNewsletters"

Access level or permission to be assigned to this ApiKey.

Expires
string or null <date-time>

Date this ApiKey expires.

RestrictAccessToIPRange
Array of strings <string> [ items <string > ]

Which IPs can use this ApiKey

Subaccount
string <string>

Email of the subaccount for which this ApiKey should be created

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "AccessLevel": [
    ],
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ],
  • "Subaccount": "string"
}

Response samples

Content type
application/json
{
  • "Token": "string",
  • "AccessLevel": [
    ],
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Load ApiKey

Load your existing ApiKey info. Required Access Level: ViewAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the ApiKey

query Parameters
subaccount
string <string>

Email of the subaccount of which ApiKey should be loaded

Responses

Response samples

Content type
application/json
{
  • "AccessLevel": [
    ],
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Update ApiKey

Update your existing ApiKey. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the ApiKey

Request Body schema: application/json
required
Name
required
string <string>

Name of the ApiKey for ease of reference.

AccessLevel
required
Array of strings (AccessLevel)
Items Enum: "None" "ViewAccount" "ViewContacts" "ViewForms" "ViewTemplates" "ViewCampaigns" "ViewChannels" "ViewAutomations" "ViewSurveys" "ViewSettings" "ViewBilling" "ViewSubAccounts" "ViewUsers" "ViewFiles" "ViewReports" "ModifyAccount" "ModifyContacts" "ModifyForms" "ModifyTemplates" "ModifyCampaigns" "ModifyChannels" "ModifyAutomations" "ModifySurveys" "ModifyFiles" "Export" "SendSmtp" "SendSMS" "ModifySettings" "ModifyBilling" "ModifyProfile" "ModifySubAccounts" "ModifyUsers" "Security" "ModifyLanguage" "ViewSupport" "SendHttp" "Modify2FAEmail" "ModifySupport" "ViewCustomFields" "ModifyCustomFields" "ModifyWebNotifications" "ExtendedLogs" "VerifyEmails" "Modify2FASms" "ViewVerifyEmails" "ViewAccessTokens" "ViewWebNotifications" "ModifyLandingPages" "ViewLandingPages" "ModifySuppressions" "ViewSuppressions" "ViewDragDropEditor" "ViewTemplateEditor" "ViewAITools" "ModifySubscriptionAntiSpam" "ViewLandingPagesCheckout" "ModifyLandingPagesCheckout" "ViewHTMLEditor" "ModifyAccessTokens" "ViewPaidNewsletters" "ModifyPaidNewsletters"

Access level or permission to be assigned to this ApiKey.

Expires
string or null <date-time>

Date this ApiKey expires.

RestrictAccessToIPRange
Array of strings <string> [ items <string > ]

Which IPs can use this ApiKey

Subaccount
string <string>

Email of the subaccount for which this ApiKey should be created

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "AccessLevel": [
    ],
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ],
  • "Subaccount": "string"
}

Response samples

Content type
application/json
{
  • "AccessLevel": [
    ],
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Delete ApiKey

Delete your existing ApiKey. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the ApiKey

query Parameters
subaccount
string <string>

Email of the subaccount of which ApiKey should be deleted

Responses

List SMTP Credentials

List all your existing SMTP Credentials. Required Access Level: ViewAccessTokens

Authorizations:
apikey
query Parameters
subaccount
string <string>

Email of the subaccount of which credentials should be listed

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add SMTP Credential

Add new SMTP Credential. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
Request Body schema: application/json
required
Name
required
string <string>

Name of the Credential for ease of reference. It must be a valid email address.

Expires
string or null <date-time>

Date this SmtpCredential expires.

RestrictAccessToIPRange
Array of strings <string> [ items <string > ]

Which IPs can use this SmtpCredential

Subaccount
string <string>

Email of the subaccount for which this SmtpCredential should be created

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ],
  • "Subaccount": "string"
}

Response samples

Content type
application/json
{
  • "Token": "string",
  • "AccessLevel": "None",
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Load SMTP Credential

Load your existing SMTP Credential info. Required Access Level: ViewAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the SMTP Credential

query Parameters
subaccount
string <string>

Email of the subaccount of which credential should be loaded

Responses

Response samples

Content type
application/json
{
  • "AccessLevel": "None",
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Update SMTP Credential

Update your existing SMTP Credentials. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the SMTP Credential

Request Body schema: application/json
required
Name
required
string <string>

Name of the Credential for ease of reference. It must be a valid email address.

Expires
string or null <date-time>

Date this SmtpCredential expires.

RestrictAccessToIPRange
Array of strings <string> [ items <string > ]

Which IPs can use this SmtpCredential

Subaccount
string <string>

Email of the subaccount for which this SmtpCredential should be created

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ],
  • "Subaccount": "string"
}

Response samples

Content type
application/json
{
  • "AccessLevel": "None",
  • "Name": "string",
  • "DateCreated": "2019-08-24T14:15:22Z",
  • "LastUse": null,
  • "Expires": null,
  • "RestrictAccessToIPRange": [
    ]
}

Delete SMTP Credential

Delete your existing SMTP Credentials. Required Access Level: ModifyAccessTokens

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the SMTP Credential

query Parameters
subaccount
string <string>

Email of the subaccount of which credential should be deleted

Responses

Segments

Manages your segments - dynamically created lists of contacts. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Load Segments

Returns a list of all your available Segments. Required Access Level: ViewContacts

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Segment

Add a new segment, based on specified RULE. Required Access Level: ModifyContacts

Authorizations:
apikey
Request Body schema: application/json
required
Name
required
string <string>

Segment name

Rule
required
string <string>

SQL-like rule to determine which Contacts belong to this Segment. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Rule": "string"
}

Response samples

Content type
application/json
{
  • "Name": "string",
  • "Rule": "string"
}

Load Segment

Returns details for the specified segment. Required Access Level: ViewContacts

Authorizations:
apikey
path Parameters
name
required
string <string>

Name of the segment you want to load. Will load all contacts if the 'All Contacts' name has been provided

Responses

Response samples

Content type
application/json
{
  • "Name": "string",
  • "Rule": "string"
}

Update Segment

Rename or change RULE for your segment. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My Segment 1

Name of your segment.

Request Body schema: application/json
required
Name
required
string <string>

Segment name

Rule
required
string <string>

SQL-like rule to determine which Contacts belong to this Segment. Help for building a segment rule can be found here: https://help.elasticemail.com/en/articles/5162182-segment-rules

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Rule": "string"
}

Response samples

Content type
application/json
{
  • "Name": "string",
  • "Rule": "string"
}

Delete Segment

Delete an existing segment. Required Access Level: ModifyContacts

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: My Segment 1

Name of your segment.

Responses

Statistics

Methods to check logs of your campaigns

Load Statistics

Returns basic statistics. Required Access Level: ViewReports

Authorizations:
apikey
query Parameters
from
required
string <date-time>
Example: from=2001-01-01T01:01:01

Starting date for search in YYYY-MM-DDThh:mm:ss format.

to
string or null <date-time>
Example: to=2001-01-01T01:01:01

Ending date for search in YYYY-MM-DDThh:mm:ss format.

Responses

Response samples

Content type
application/json
{
  • "Recipients": "1234",
  • "EmailTotal": "1234",
  • "SmsTotal": "12",
  • "Delivered": "1000",
  • "Bounced": "1000",
  • "InProgress": "1234",
  • "Opened": "1000",
  • "Clicked": "1000",
  • "Unsubscribed": "1000",
  • "Complaints": "1000",
  • "Inbound": "1000",
  • "ManualCancel": "1000",
  • "NotDelivered": "0"
}

Load Campaigns Stats

Returns a list of your Campaigns' stats. Required Access Level: ViewChannels

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Load Campaign Stats

Retrieve stats of an existing campaign. Required Access Level: ViewChannels

Authorizations:
apikey
path Parameters
name
required
string <string>

The name of the campaign to get.

Responses

Response samples

Content type
application/json
{
  • "ChannelName": "string",
  • "Recipients": "1234",
  • "EmailTotal": "1234",
  • "SmsTotal": "12",
  • "Delivered": "1000",
  • "Bounced": "1000",
  • "InProgress": "1234",
  • "Opened": "1000",
  • "Clicked": "1000",
  • "Unsubscribed": "1000",
  • "Complaints": "1000",
  • "Inbound": "1000",
  • "ManualCancel": "1000",
  • "NotDelivered": "0"
}

Load Channels Stats

Returns a list of your Channels' stats. Required Access Level: ViewChannels

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Load Channel Stats

Retrieve an existing channel stats. Required Access Level: ViewChannels

Authorizations:
apikey
path Parameters
name
required
string <string>

The name of the channel to get.

Responses

Response samples

Content type
application/json
{
  • "ChannelName": "string",
  • "Recipients": "1234",
  • "EmailTotal": "1234",
  • "SmsTotal": "12",
  • "Delivered": "1000",
  • "Bounced": "1000",
  • "InProgress": "1234",
  • "Opened": "1000",
  • "Clicked": "1000",
  • "Unsubscribed": "1000",
  • "Complaints": "1000",
  • "Inbound": "1000",
  • "ManualCancel": "1000",
  • "NotDelivered": "0"
}

SubAccounts

Manage your subaccounts

Load SubAccounts

Returns a list of all your SubAccounts. Required Access Level: ViewSubAccounts

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add SubAccount

Add a new SubAccount to your Account. To receive an access token for this SubAccount, make a POST security/apikeys request using the 'subaccount' parameter. Required Access Level: ModifySubAccounts

Authorizations:
apikey
Request Body schema: application/json
required
Email
required
string <string>

Proper email address.

Password
required
string <string>

Current password.

SendActivation
boolean <boolean>

True, if you want to send activation email to this Account to confirm the creation of a new SubAccount. Otherwise, false (SubAccount will immediately be Active).

object (SubaccountSettingsInfoPayload)

SubAccount settings

Responses

Request samples

Content type
application/json
{
  • "Email": "mail@example.com",
  • "Password": "********",
  • "SendActivation": true,
  • "Settings": {
    }
}

Response samples

Content type
application/json
{
  • "PublicAccountID": "EB3EBB7A-C20D-4D39-8F2F-5E6842F58E6F",
  • "Email": "mail@example.com",
  • "Settings": {
    },
  • "LastActivity": "2001-01-01T12:00:00",
  • "EmailCredits": "1000",
  • "TotalEmailsSent": "1000",
  • "Reputation": "100",
  • "Status": "Disabled",
  • "ContactsCount": 0
}

Load SubAccount

Returns details for the specified SubAccount. Required Access Level: ViewSubAccounts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Email address of Sub-Account

Responses

Response samples

Content type
application/json
{
  • "PublicAccountID": "EB3EBB7A-C20D-4D39-8F2F-5E6842F58E6F",
  • "Email": "mail@example.com",
  • "Settings": {
    },
  • "LastActivity": "2001-01-01T12:00:00",
  • "EmailCredits": "1000",
  • "TotalEmailsSent": "1000",
  • "Reputation": "100",
  • "Status": "Disabled",
  • "ContactsCount": 0
}

Delete SubAccount

Deletes specified SubAccount. An email will be sent to confirm this change. Required Access Level: ModifySubAccounts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Email address of Sub-Account

Responses

Get SubAccount ApiKey

Returns API key token for the specified SubAccount. Required Access Level: ModifySubAccounts

Authorizations:
None

Responses

Response samples

Content type
application/json
"string"

Add, Subtract Email Credits

Update email credits of a subaccount by the given amount. Required Access Level: ModifySubAccounts

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Email address of Sub-Account

Request Body schema: application/json
required

Amount of email credits to add or subtract from the current SubAccount email credits pool (positive or negative value)

Credits
required
integer <int32>

Positive or negative value; this will be added or subtracted from Subaccount's current email Credits pool.

Notes
string <string>

Note to append to this credits change, for history.

Responses

Request samples

Content type
application/json
{
  • "Credits": 0,
  • "Notes": "string"
}

Update SubAccount Email Settings

Update SubAccount email settings. Required Access Level: ModifySubAccounts

Authorizations:
apikey
path Parameters
email
required
string <string>

string

Request Body schema: application/json
required

Updated Email Settings

MonthlyRefillCredits
integer <int32>

Amount of credits added to Account automatically

RequiresEmailCredits
boolean <boolean>

True, if Account needs credits to send emails. Otherwise, false

EmailSizeLimit
integer <int32>

Maximum size of email including attachments in MB's

DailySendLimit
integer <int32>

Amount of emails Account can send daily

MaxContacts
integer <int32>

Maximum number of contacts the Account can have. 0 means that parent account's limit is used.

EnablePrivateIPPurchase
boolean <boolean>

Can the SubAccount purchase Private IP for themselves

PoolName
string <string>

Name of your custom IP Pool to be used in the sending process

ValidSenderDomainOnly
boolean or null <boolean>

Responses

Request samples

Content type
application/json
{
  • "MonthlyRefillCredits": "1000",
  • "RequiresEmailCredits": "true",
  • "EmailSizeLimit": "10",
  • "DailySendLimit": "100000",
  • "MaxContacts": 0,
  • "EnablePrivateIPPurchase": true,
  • "PoolName": "My Custom Pool",
  • "ValidSenderDomainOnly": null
}

Response samples

Content type
application/json
{
  • "MonthlyRefillCredits": "1000",
  • "RequiresEmailCredits": "true",
  • "EmailSizeLimit": "10",
  • "DailySendLimit": "100000",
  • "MaxContacts": 0,
  • "EnablePrivateIPPurchase": true,
  • "PoolName": "My Custom Pool",
  • "ValidSenderDomainOnly": null
}

Suppressions

Methods used to manage your Suppressions.

Get Suppressions

Retrieve your suppressions. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Suppression

Retrieve your suppression. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Proper email address.

Responses

Response samples

Content type
application/json
{
  • "Email": "mail@example.com",
  • "FriendlyErrorMessage": "Mailbox not found",
  • "ErrorCode": null,
  • "DateUpdated": "2001-01-01T12:00:00"
}

Delete Suppression

Delete Suppression. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
path Parameters
email
required
string <string>
Example: mail@example.com

Proper email address.

Responses

Get Bounce List

Retrieve your list of bounced emails. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
query Parameters
search
string <string>
Example: search=text

Text fragment used for searching.

limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Bounces

Add Bounced. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: application/json
required

Emails to add as bounces. Limited to 1000 per request

Array
string <string>

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Add Bounces Async

Add Bounced. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: multipart/form-data
required

Emails to add as bounces.

file
string <binary>

Responses

Get Complaints List

Retrieve your list of complaints. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
query Parameters
search
string <string>
Example: search=text

Text fragment used for searching.

limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Complaints

Add Complaints. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: application/json
required

Emails to add as complaints. Limited to 1000 per request

Array
string <string>

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Add Complaints Async

Add Complaints. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: multipart/form-data
required

Emails to add as complaints.

file
string <binary>

Responses

Get Unsubscribes List

Retrieve your list of unsubscribes. Required Access Level: ViewContacts, ViewSuppressions

Authorizations:
apikey
query Parameters
search
string <string>
Example: search=text

Text fragment used for searching.

limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Unsubscribes

Add Unsubscribes. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: application/json
required

Emails to add as unsubscribes. Limited to 1000 per request

Array
string <string>

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Add Unsubscribes Async

Add Unsubscribes. Required Access Level: ModifyContacts, ModifySuppressions

Authorizations:
apikey
Request Body schema: multipart/form-data
required

Emails to add as unsubscribes.

file
string <binary>

Responses

Templates

Managing and editing templates of your emails

Load Templates

Returns a list of templates for the specified type. Required Access Level: ViewTemplates

Authorizations:
apikey
query Parameters
scopeType
required
Array of strings (TemplateScope)
Items Enum: "Personal" "Global"

Return templates with specified scope only

templateTypes
Array of strings (TemplateType)
Items Enum: "RawHTML" "DragDropEditor" "LandingPageEditor" "TemplateEditor" "FormTemplate" "LandingPageTemplate" "PaymentConfirmationTemplate" "LandingPageProductTemplate" "LandingPageCheckoutTemplate" "LandingPagePaymentConfirmationTemplate" "LandingPageNewsletterProductTemplate" "LandingPageNewsletterPaymentConfirmationTemplate" "NewsletterSubscriptionCancellationTemplate"

Return templates with specified type only

limit
integer <int32>
Default: "500"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Template

Add a new Template. Required Access Level: ModifyTemplates

Authorizations:
apikey
Request Body schema: application/json
required
Name
required
string <string>

Template name

Subject
string <string>

Default subject of email.

Array of objects (BodyPart)

Email content of this template

TemplateScope
string (TemplateScope)
Default: "Personal"
Enum: "Personal" "Global"

Visibility of a template

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Subject": "Hello!",
  • "Body": [
    ],
  • "TemplateScope": "Personal"
}

Response samples

Content type
application/json
{
  • "TemplateType": "RawHTML",
  • "Name": "string",
  • "DateAdded": "2001-01-01T12:00:00",
  • "Subject": "Hello!",
  • "Body": [
    ],
  • "TemplateScope": "Personal"
}

Load Template

Load detailed information of the specified template. Required Access Level: ViewTemplates

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: Template01

Name of template.

Responses

Response samples

Content type
application/json
{
  • "TemplateType": "RawHTML",
  • "Name": "string",
  • "DateAdded": "2001-01-01T12:00:00",
  • "Subject": "Hello!",
  • "Body": [
    ],
  • "TemplateScope": "Personal"
}

Update Template

Update existing template, overwriting existing data. Required Access Level: ModifyTemplates

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: Template01

Name of template.

Request Body schema: application/json
required
Name
required
string <string>

Template name

Subject
string <string>

Default subject of email.

Array of objects (BodyPart)

Email content of this template

TemplateScope
string (TemplateScope)
Default: "Personal"
Enum: "Personal" "Global"

Visibility of a template

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Subject": "Hello!",
  • "Body": [
    ],
  • "TemplateScope": "Personal"
}

Response samples

Content type
application/json
{
  • "TemplateType": "RawHTML",
  • "Name": "string",
  • "DateAdded": "2001-01-01T12:00:00",
  • "Subject": "Hello!",
  • "Body": [
    ],
  • "TemplateScope": "Personal"
}

Delete Template

Delete template with the specified name. Required Access Level: ModifyTemplates

Authorizations:
apikey
path Parameters
name
required
string <string>
Example: Template01

Name of template.

Responses

Verifications

Verify emails and read the results

Get Emails Verification Results

Returns a results of all verified single emails. Required Access Level: ViewVerifyEmails

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Email Verification Result

Returns a result of verified email. Required Access Level: ViewVerifyEmails

Authorizations:
apikey
path Parameters
email
required
string <string>

Email address to view verification result of

Responses

Response samples

Content type
application/json
{
  • "Account": "string",
  • "Domain": "example.com",
  • "Email": "string",
  • "SuggestedSpelling": "string",
  • "Disposable": true,
  • "Role": true,
  • "Reason": "string",
  • "DateAdded": "2019-08-24T14:15:22Z",
  • "Result": "None",
  • "PredictedScore": 0,
  • "PredictedStatus": "None"
}

Verify Email

Verify single email address and returns result of verification. Required Access Level: VerifyEmails

Authorizations:
apikey
path Parameters
email
required
string <string>

Email address to verify

Responses

Response samples

Content type
application/json
{
  • "Account": "string",
  • "Domain": "example.com",
  • "Email": "string",
  • "SuggestedSpelling": "string",
  • "Disposable": true,
  • "Role": true,
  • "Reason": "string",
  • "DateAdded": "2019-08-24T14:15:22Z",
  • "Result": "None",
  • "PredictedScore": 0,
  • "PredictedStatus": "None"
}

Delete Email Verification Result

Delete a result with given email if exists. Required Access Level: VerifyEmails

Authorizations:
apikey
path Parameters
email
required
string <string>

Email address to verification

Responses

Upload File with Emails

Uploads a CSV file with list of emails that can then be triggered for verification. An 'email' column is required. Required Access Level: VerifyEmails

Authorizations:
apikey
Request Body schema: multipart/form-data
required

Uploaded file

file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "VerificationID": "string",
  • "Filename": "string",
  • "VerificationStatus": "Processing",
  • "FileUploadResult": {
    },
  • "DateAdded": "2001-01-01T12:00:00",
  • "Source": "string"
}

Delete File Verification Result

Delete Verification Results if they exist. Required Access Level: VerifyEmails

Authorizations:
apikey
path Parameters
id
required
string <string>
Example: E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F

ID of the exported file

Responses

Get Detailed File Verification Result

Returns status and results (if verified) of file with given ID. Required Access Level: ViewVerifyEmails

Authorizations:
apikey
path Parameters
id
required
string <string>

ID of the Verification to display status of

query Parameters
limit
integer <int32>
Default: "0"

Maximum number of returned email verification results

offset
integer <int32>
Default: "0"

How many result items should be returned ahead

Responses

Response samples

Content type
application/json
{
  • "VerificationResult": [
    ],
  • "VerificationID": "string",
  • "Filename": "string",
  • "VerificationStatus": "Processing",
  • "FileUploadResult": {
    },
  • "DateAdded": "2001-01-01T12:00:00",
  • "Source": "string"
}

Download File Verification Result

Download verification results as a ZIP file. Required Access Level: ViewVerifyEmails

Authorizations:
apikey
path Parameters
id
required
string <string>

Verification ID to download

Responses

Start verification

Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails

Authorizations:
apikey
path Parameters
id
required
string <string>

File ID to start verification

Responses

Get Files Verification Results

Returns a list of uploaded files, their statuses and results. Required Access Level: ViewVerifyEmails

Authorizations:
apikey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Webhook

Manage your webhooks

Load Webhooks

Returns a list of notification webhooks. Required Access Level: ViewWebNotifications

Authorizations:
apikey
query Parameters
limit
integer <int32>
Default: "0"
Example: limit=100

Maximum number of returned items.

offset
integer <int32>
Default: "0"
Example: offset=20

How many items should be returned ahead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Webhook

Add a notification webhook. Required Access Level: ModifyWebNotifications

Authorizations:
apikey
Request Body schema: application/json
required
Name
required
string <string>

Filename

URL
required
string <string>

URL of notification.

NotifyOncePerEmail
boolean <boolean>
NotificationForSent
boolean <boolean>
NotificationForOpened
boolean <boolean>
NotificationForClicked
boolean <boolean>
NotificationForUnsubscribed
boolean <boolean>
NotificationForAbuseReport
boolean <boolean>
NotificationForError
boolean <boolean>

Responses

Request samples

Content type
application/json
{
  • "Name": "attachment.txt",
  • "NotifyOncePerEmail": true,
  • "NotificationForSent": true,
  • "NotificationForOpened": true,
  • "NotificationForClicked": true,
  • "NotificationForUnsubscribed": true,
  • "NotificationForAbuseReport": true,
  • "NotificationForError": true
}

Response samples

Content type
application/json
{
  • "WebhookID": "string",
  • "Name": "attachment.txt",
  • "DateCreated": "2001-01-01T12:00:00",
  • "DateUpdated": "2001-01-01T12:00:00",
  • "NotifyOncePerEmail": true,
  • "NotificationForSent": true,
  • "NotificationForOpened": true,
  • "NotificationForClicked": true,
  • "NotificationForUnsubscribed": true,
  • "NotificationForAbuseReport": true,
  • "NotificationForError": true,
  • "IsEnabled": true
}

Load Webhook

Load notifications webhook details. Required Access Level: ViewWebNotifications

Authorizations:
apikey
path Parameters
publicid
required
string <string>

string

Responses

Response samples

Content type
application/json
{
  • "WebhookID": "string",
  • "Name": "attachment.txt",
  • "DateCreated": "2001-01-01T12:00:00",
  • "DateUpdated": "2001-01-01T12:00:00",
  • "NotifyOncePerEmail": true,
  • "NotificationForSent": true,
  • "NotificationForOpened": true,
  • "NotificationForClicked": true,
  • "NotificationForUnsubscribed": true,
  • "NotificationForAbuseReport": true,
  • "NotificationForError": true,
  • "IsEnabled": true
}

Update Webhook

Update notification webhook. Required Access Level: ModifyWebNotifications

Authorizations:
apikey
path Parameters
publicid
required
string <string>

string

Request Body schema: application/json
required
Name
string <string>

Filename

URL
string <string>

URL of notification.

NotifyOncePerEmail
boolean or null <boolean>
NotificationForSent
boolean or null <boolean>
NotificationForOpened
boolean or null <boolean>
NotificationForClicked
boolean or null <boolean>
NotificationForUnsubscribed
boolean or null <boolean>
NotificationForAbuseReport
boolean or null <boolean>
NotificationForError
boolean or null <boolean>
IsEnabled
boolean or null <boolean>

Responses

Request samples

Content type
application/json
{
  • "Name": "attachment.txt",
  • "NotifyOncePerEmail": null,
  • "NotificationForSent": null,
  • "NotificationForOpened": null,
  • "NotificationForClicked": null,
  • "NotificationForUnsubscribed": null,
  • "NotificationForAbuseReport": null,
  • "NotificationForError": null,
  • "IsEnabled": null
}

Response samples

Content type
application/json
{
  • "WebhookID": "string",
  • "Name": "attachment.txt",
  • "DateCreated": "2001-01-01T12:00:00",
  • "DateUpdated": "2001-01-01T12:00:00",
  • "NotifyOncePerEmail": true,
  • "NotificationForSent": true,
  • "NotificationForOpened": true,
  • "NotificationForClicked": true,
  • "NotificationForUnsubscribed": true,
  • "NotificationForAbuseReport": true,
  • "NotificationForError": true,
  • "IsEnabled": true
}

Delete Webhook

Delete the specified notifications webhook. Required Access Level: ModifyWebNotifications

Authorizations:
apikey
path Parameters
publicid
required
string <string>

string

Responses