Subscriptioncenter 1 endpoints

GET /v1/subscription_topics

Returns a list of subscription topics in your workspace. If there are no topics, it returns an empty array.

operationId: SubscriptionCenter_listTopics

Responses

200

Returns an array of topics.

429

Your request is over the 10-per-second limit.

GET /v1/subscription_topics

Transactional 9 endpoints

GET /v1/transactional

Returns a list of your transactional messages—the transactional IDs that you use to trigger an individual transactional delivery. This endpoint does not return information about deliveries (instances of a message sent to a person) themselves.

operationId: Transactional_listMessages

Responses

200

Returns an array of transactional messages.

429

Your request is over the 10-per-second limit.

GET /v1/transactional
GET /v1/transactional/{transactional_id}

Returns information about an individual transactional message.

operationId: Transactional_getMessageInfo

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

Responses

200

Returns metadata for the transactional message ID in the path.

404

The transactional message does not exist.

429

Your request is over the 10-per-second limit.

GET /v1/transactional/{transactional_id}
PUT /v1/transactional/{transactional_id}/content/{content_id}

Update the body of a transactional email. This fully overwrites your existing transactional message. We’ll use your updated content for any future transactional requests (/v1/send/email), so make sure that you test your message before you update it.

operationId: Transactional_updateMessageContent

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

content_id path required integer

The content variant of your transactional message. You’ll find the id in the URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the content_id is 139.

Request Body

application/json
schema TransactionalUpdateMessageContentRequest
Property Type Required
id integer optional
bcc string optional
body string optional
from string optional
name string optional
type string optional
created integer optional
from_id integer optional
headers array optional
name string optional
value string optional
subject string optional
updated integer optional
body_amp string optional
fake_bcc boolean optional
language string optional
reply_to string optional
recipient string optional
reply_to_id integer optional
preprocessor string optional
preheader_text string optional

Responses

200

Returns the updated transactional message.

400

The request was malformed.

404

The transactional_id or content_id in your request do not exist

PUT /v1/transactional/{transactional_id}/content/{content_id}
GET /v1/transactional/{transactional_id}/contents

Returns the content variants of a transactional message, where each variant represents a different language.

operationId: Transactional_listContentVariants

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

Responses

200

Returns each variant of the transactional message.

400

The request was malformed.

404

The transactional_id or content_id in your request do not exist.

GET /v1/transactional/{transactional_id}/contents
GET /v1/transactional/{transactional_id}/language/{language}

Returns information about a translation of an individual transactional message, including the message content.

operationId: Transactional_getMessageTranslation

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

language path optional string

A language tag of a language variant. If you don’t provide a language, we target your default template. If the language variant does not exist, we throw an error.

Responses

200

Returns the specified variant of the transactional message.

400

The language in your request does not exist.

404

The transactional message does not exist.

429

Your request is over the 10-per-second limit.

GET /v1/transactional/{transactional_id}/language/{language}
PUT /v1/transactional/{transactional_id}/language/{language}

Update the body and other data of a specific language variant for a transactional message. This fully overwrites this specific translation of your existing transactional message.

operationId: Transactional_updateTranslation

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

language path optional string

A language tag of a language variant. If you don’t provide a language, we target your default template. If the language variant does not exist, we throw an error.

Request Body

application/json
schema TransactionalUpdateTranslationRequest
Property Type Required
id integer optional
bcc string optional
body string optional
from string optional
name string optional
type string optional
created integer optional
from_id integer optional
headers array optional
name string optional
value string optional
subject string optional
updated integer optional
body_amp string optional
fake_bcc boolean optional
language string optional
reply_to string optional
recipient string optional
reply_to_id integer optional
preprocessor string optional
preheader_text string optional

Responses

200

Returns the updated variant of the transactional message.

400

The language in your request does not exist.

PUT /v1/transactional/{transactional_id}/language/{language}
GET /v1/transactional/{transactional_id}/messages

Returns information about the deliveries (instances of messages sent to individual people) from a transactional message. Provide query parameters to refine the metrics you want to return.

Use the start_ts and end_ts to find messages within a time range. If your request doesn’t include start_ts and end_ts parameters, we’ll return the most recent 6 months of messages. If your start_ts and end_ts range is more than 12 months, we’ll return 12 months of data from the most recent timestamp in your request.

operationId: Transactional_getMessageDeliveries

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

start query optional string

The token for the page of results you want to return. Responses contain a next property. Use this property as the start value to return the next page of results.

limit query optional integer

The maximum number of results you want to retrieve per page.

metric query optional string

Determines the metric(s) you want to return.

state query optional string

The state of a broadcast.

start_ts query optional integer

The beginning timestamp for your query.

end_ts query optional integer

The ending timestamp for your query.

Responses

200

Returns an array of messages. Each object represents a different delivery originating from the transactional ID.

For transactional messages, the action, newsletter, campaign, content, and broadcast IDs are all null. All deliveries originate from the transactional ID in the path of your request.

404

The transactional message you requested does not exist.

429

Your request is over the 10-per-second limit.

GET /v1/transactional/{transactional_id}/messages
GET /v1/transactional/{transactional_id}/metrics

Returns a list of metrics for a transactional message in steps (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period).

You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, ?period=days&steps=1 means two days - the 48 hours before the API request was made. ?period=days&steps=0 returns the same as the maximum of the period - ?period=days&steps=45. See the steps parameter below for the maximum count of each period.

operationId: Transactional_getMessageMetrics

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

period query optional string

The unit of time for your report.

steps query optional integer

The number of periods you want to return. Defaults to the maximum available, or 12 if the period is in months. Maximums are 24 hours, 45 days, 12 weeks, or 120 months.

Responses

200

Returns transactional message metrics by series (with increments are based on the period and step in your request) for transactional message.

404

The transactional message you requested does not exist.

429

Your request is over the 10-per-second limit.

GET /v1/transactional/{transactional_id}/metrics
GET /v1/transactional/{transactional_id}/metrics/links

Returns metrics for clicked links from a transactional message, both in total and in series periods (days, weeks, etc). series metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period).

You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, ?period=days&steps=1 means two days - the 48 hours before the API request was made. ?period=days&steps=0 returns the same as the maximum of the period - ?period=days&steps=45. See the steps parameter below for the maximum count of each period.

operationId: Transactional_getMessageLinkMetrics

Parameters

Name In Required Type Description
transactional_id path required integer

The identifier of your transactional message. You’ll find this in the UI or URL of your transactional message. For example, if this is the path of a transactional message URL - /transactional/3/templates/139 - the transactional_id is 3.

period query optional string

The unit of time for your report.

steps query optional integer

The number of periods you want to return. Defaults to the maximum available, or 12 if the period is in months. Maximums are 24 hours, 45 days, 12 weeks, or 120 months.

unique query optional boolean

If true, the response contains only unique customer results, i.e. a customer who clicks a link twice is only counted once. If false, the response contains the total number of results without regard to uniqueness.

Responses

200

Returns an array of link objects. Each object represents a different link in your transactional message and contains independent metrics.

404

The transactional message you requested does not exist.

429

Your request is over the 10-per-second limit.

GET /v1/transactional/{transactional_id}/metrics/links

Workspaces 1 endpoints

GET /v1/workspaces

Returns a list of workspaces in your account.

operationId: Workspaces_listWorkspaces

Responses

200

Returns an array of workspaces.

GET /v1/workspaces