Skip to main content
Versionv1

Email Gateway API (1.0)

Download OpenAPI specification:Download

Send transactional and marketing emails, manage domains, suppressions, webhooks, and more.

Send Email

Send marketing email

Authorizations:
ProductToken
header Parameters
X-CM-PRODUCTTOKEN
string
Sandbox-Mode
boolean
Default: false
Request Body schema:
object (Gateway_EmailAddress)
object (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
subject
required
string or null
html
string or null
text
string or null
Array of objects or null (Gateway_EmailAttachment)
customerReference
string or null
scheduledAt
string or null
inReplyTo
string or null
references
string or null
object or null

Responses

Request samples

Content type
{
  • "from": {
    },
  • "replyTo": {
    },
  • "to": [
    ],
  • "cc": [
    ],
  • "bcc": [
    ],
  • "subject": "string",
  • "html": "string",
  • "text": "string",
  • "attachments": [
    ],
  • "customerReference": "string",
  • "scheduledAt": "string",
  • "inReplyTo": "string",
  • "references": "string",
  • "headers": {
    }
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "messageId": "string",
  • "batchId": "string"
}

Send transactional email

Authorizations:
ProductToken
query Parameters
priority
required
string
header Parameters
X-CM-PRODUCTTOKEN
string
Sandbox-Mode
boolean
Default: false
Request Body schema:
object (Gateway_EmailAddress)
object (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
Array of objects or null (Gateway_EmailAddress)
subject
required
string or null
html
string or null
text
string or null
Array of objects or null (Gateway_EmailAttachment)
customerReference
string or null
scheduledAt
string or null
inReplyTo
string or null
references
string or null
object or null

Responses

Request samples

Content type
{
  • "from": {
    },
  • "replyTo": {
    },
  • "to": [
    ],
  • "cc": [
    ],
  • "bcc": [
    ],
  • "subject": "string",
  • "html": "string",
  • "text": "string",
  • "attachments": [
    ],
  • "customerReference": "string",
  • "scheduledAt": "string",
  • "inReplyTo": "string",
  • "references": "string",
  • "headers": {
    }
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "messageId": "string",
  • "batchId": "string"
}

DnsVerify

Verify DNS records

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
domain
string

Responses

Response samples

Content type
No sample

Verify DNS capability

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
capability
required
string
Enum: "sending" "receiving" "all"
query Parameters
domain
string

Responses

Response samples

Content type
No sample

EmailAlerts

List usage alerts

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>

Responses

Response samples

Content type
No sample

Create usage alert

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
Request Body schema:
alertName
string or null
metric
string or null
threshold
string or null
recipient
string or null

Responses

Request samples

Content type
{
  • "alertName": "string",
  • "metric": "string",
  • "threshold": "string",
  • "recipient": "string"
}

Response samples

Content type
No sample

Update usage alert

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
id
required
integer <int32>
Request Body schema:
alertName
string or null
metric
string or null
threshold
string or null
recipient
string or null

Responses

Request samples

Content type
{
  • "alertName": "string",
  • "metric": "string",
  • "threshold": "string",
  • "recipient": "string"
}

Response samples

Content type
No sample

Delete usage alert

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
id
required
integer <int32>

Responses

Response samples

Content type
No sample

Domains

Add domain

Authorizations:
ProductToken
Request Body schema:
accountId
string <uuid>
domain
string or null
clickTracking
boolean
openTracking
boolean

Responses

Request samples

Content type
{
  • "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  • "domain": "string",
  • "clickTracking": true,
  • "openTracking": true
}

Response samples

Content type
application/json
{
  • "domainConfig": {
    },
  • "status": 200,
  • "message": "string",
  • "success": true
}

List account domains

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "domains": [
    ],
  • "status": 200,
  • "message": "string",
  • "success": true
}

Get domain

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
domainId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "dnsRecords": [
    ],
  • "status": 200,
  • "message": "string",
  • "success": true
}

Delete domain

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
domainId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "message": "string",
  • "success": true
}

Enable or disable sending

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
domain
required
string
query Parameters
enabled
required
boolean

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": [
    ]
}

Enable or disable receiving

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
domain
required
string
query Parameters
enabled
required
boolean

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": [
    ]
}

Receive Emails

List received emails

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
LogTimeRangeType
integer <int32> (Configuration_TimeRangePickerOptions)
Enum: 1 2 3 4 5 6 7 8
Direction
string

Filter by direction.

SearchText
string

Free-text search.

StartDate
string <date-time>

Required with EndDate when LogTimeRangeType is a custom range.

EndDate
string <date-time>
timezone
string
Default: "UTC"

IANA time zone used to render timestamps.

pageNumber
integer <int32>
Default: 1
itemsPerPage
integer <int32>
Default: 10

Responses

Response samples

Content type
application/json
{
  • "statusCode": 200,
  • "message": "string",
  • "totalCount": 0,
  • "emails": [
    ]
}

Get received email

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
emailId
required
string <uuid>
query Parameters
timezone
string
Default: "UTC"

IANA time zone used to render timestamps.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": {
    }
}

List received email attachments

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
emailId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": [
    ]
}

Receive Webhooks

List receiving webhooks

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
query Parameters
domain
string

Responses

Response samples

Content type
application/json
{
  • "webhookResponse": [
    ],
  • "status": 200,
  • "message": "string",
  • "success": true
}

Create receiving webhook

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
Request Body schema:
webhookUrl
string or null

HTTPS URL, port 443. Trailing slash is removed.

domain
string or null

Recipient domain. Stored lower-case.

usePresignedAttachments
boolean or null

Send attachments as download links instead of inline base64. Default false.

presignedUrlExpiryHours
integer or null <int32>

Lifetime of download links in hours. Default 24, effective maximum 168.

Responses

Request samples

Content type
{
  • "webhookUrl": "string",
  • "domain": "string",
  • "usePresignedAttachments": true,
  • "presignedUrlExpiryHours": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": {
    }
}

Update receiving webhook

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
Request Body schema:
id
integer <int64>

Must be greater than 0.

resetPresignedUrlExpiryHours
boolean

Sets the expiry back to 24. Wins over presignedUrlExpiryHours.

webhookUrl
string or null
domain
string or null
usePresignedAttachments
boolean or null

Send attachments as download links instead of inline base64. Default false.

presignedUrlExpiryHours
integer or null <int32>

Lifetime of download links in hours. Default 24, effective maximum 168.

Responses

Request samples

Content type
{
  • "id": 0,
  • "resetPresignedUrlExpiryHours": true,
  • "webhookUrl": "string",
  • "domain": "string",
  • "usePresignedAttachments": true,
  • "presignedUrlExpiryHours": 0
}

Response samples

Content type
application/json
{
  • "webhookResponse": [
    ],
  • "status": 200,
  • "message": "string",
  • "success": true
}

Delete receiving webhook

Authorizations:
ProductToken
path Parameters
logicalAccount
required
string <uuid>
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "status": 200,
  • "message": "string",
  • "data": 0
}

Webhooks

Create webhook

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
Request Body schema:
webhookType
string or null
webhookUrl
string or null

Responses

Request samples

Content type
{
  • "webhookType": "string",
  • "webhookUrl": "string"
}

Response samples

Content type
No sample

List webhooks

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
all
boolean
Default: false

Responses

Response samples

Content type
No sample

Delete webhook

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
webhookType
string

Responses

Response samples

Content type
No sample

Suppressions

Add manual suppression

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
Request Body schema:
Array
sender
string or null <email>
recipient
required
string or null <email>
unsubscribeType
integer <int32> (Suppression_UnsubscribeType)
Enum: 1 2 3 4 5 6 7
emailType
integer <int32> (Suppression_EmailKind)
Enum: 0 1 2 -1

Responses

Request samples

Content type
[]

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "status": 200,
  • "data": { }
}

Search unsubscribes

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
timezone
string
pageSize
integer <int32>
Default: 10
pageNumber
integer <int32>
Default: 1
Request Body schema:
logTimeRangeType
integer <int32> (Configuration_TimeRangePickerOptions)
Enum: 1 2 3 4 5 6 7 8
unsubscribeTypes
string or null
startDate
string or null <date-time>
endDate
string or null <date-time>
searchEmail
string or null

Responses

Request samples

Content type
{
  • "logTimeRangeType": 1,
  • "unsubscribeTypes": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "searchEmail": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "status": 200,
  • "data": {
    }
}

List suppressions

Authorizations:
ProductToken
path Parameters
logicalAccountId
required
string <uuid>
query Parameters
searchEmail
string
emailType
integer <int32>
Default: -1
pageSize
integer <int32>
Default: 10
pageNumber
integer <int32>
Default: 1

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "status": 200,
  • "data": {
    }
}

Update suppression

Authorizations:
ProductToken
path Parameters
uniqueKey
required
string <uuid>
Request Body schema:
unsubscribeReason
string or null

Responses

Request samples

Content type
{
  • "unsubscribeReason": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "status": 200,
  • "data": { }
}