---
schema_version: "1"
id: 9149606825658c9afdee81c28c5af5e1fc78cbc4d0e9c9f655c97afa90bd3a25
title: Transactional Messaging API
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-apis/transactional-messaging-api.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/transactional-messaging-api.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 32f0fc329dc7e023a40a37315e1aede770f419c30c53589d065b6a995c0f4c35
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# Transactional Messaging API

Transactional messages are messages that are sent as a result of an activity occurring. Transactional messages are sent immediately and in an automated fashion. For example, you can use transactional messages to send order confirmation messages, password reset emails, and bank balance inquiry messages.

The transactional messaging API uses send definitions to send messages. A send definition contains references to the email template, recipients, sending options, journey, and metadata for the message. To create a send definition, use the [Transactional Send Journeys](https://help.salesforce.com/articleView?id=mktg.mc_jb_transactional_send_journeys.htm) feature in Journey Builder. You can also use the transactional messaging API to create a send definition. See [createSendDefinition](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email).

Like other features that use send definitions, the transactional messaging API requires content to exist as a message in the appropriate channel, such as email, SMS, or push. You can specify additional components of the send definition.

## Considerations

Consider these factors when you use the transactional messaging API.

- Single-send requests, which use the `recipient` object attribute rather than the `recipients` array attribute, must provide a unique `messageKey` value as an ID.
- The API doesn’t support suppression lists or exclusion scripts.
- The API supports send logging only if your account is configured for automatic send logging. To maintain maximum performance, ensure that your send log is configured with a data-retention policy.
- To deduplicate at send time, use `messageKey`. Don’t use a primary key on the triggered send data extension.
- You can create up to a total of 500 transactional send definitions and triggered send definitions for email in a 7-day period in each business unit. This limit applies to send definitions that you create in the Marketing Cloud Engagement web interface and using the API. It doesn’t apply to Journey Builder email activity triggered send definitions.

## See Also

- [Event Notification Service](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/ens.md)
- _Salesforce Help_: [Transactional Send Journeys](https://help.salesforce.com/s/articleView?id=mktg.mc_jb_transactional_send_journeys.htm)
