---
schema_version: "1"
id: bbb9aa0cdcae4e16da1a7e51932094daa93582f52003c4cf84fa0e1ed9de5978
title: Transactional Messaging - Email
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/references/generated-api-specs/mc_rest_transactional_messaging_email.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email
source_site: developer.salesforce.com
content_type: documentation
content_hash: cc5dd0984bbc8f621461acba0834374002e739e4aed72a227ac26ad89245cc56
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
Transactional Messaging - Email

# Transactional Messaging - Email

Send email messages to your customers when an event occurs. For example, use this API to send an email to a customer when they place an order, request a password reset, or request a financial account inquiry.

This table lists the use cases that the API supports.

| Supported Use Case | HTTP Method | Endpoint |
| --- | --- | --- |
| [Get all send definitions](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Retrieve%2Ball%2Bemail%2Bsend%2Bdefinitions) | GET | /messaging/v1/email/definitions |
| [Create a send definition](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Create%2Bemail%2Bsend%2Bdefinition) | POST | /messaging/v1/email/definitions |
| [Get a send definition by key](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Retrieve%2Bemail%2Bsend%2Bdefinition%2Bby%2Bkey) | GET | /messaging/v1/email/definitions/{definitionKey} |
| [Delete a send definition](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Delete%2Bemail%2Bsend%2Bdefinition%2Bby%2Bkey) | DELETE | /messaging/v1/email/definitions/{definitionKey} |
| [Update a send definition](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Update%2Bemail%2Bsend%2Bdefinition) | PATCH | /messaging/v1/email/definitions/{definitionKey} |
| [Delete queue metrics](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Delete%2Bqueue%2Bmetrics) | DELETE | /messaging/v1/email/definitions/{definitionKey}/queue |
| [Retrieve queue metrics](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Retrieve%2Bqueue%2Bmetrics) | GET | /messaging/v1/email/definitions/{definitionKey}/queue |
| [Retrieve unsent messages](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Retrieve%2Bunsent%2Bmessages) | GET | /messaging/v1/email/messages |
| [Send email message to multiple recipients](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Send%2Bemail%2Bmessage%2Bto%2Bmultiple%2Brecipients) | POST | /messaging/v1/email/messages |
| [Retrieve status of an email message](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Retrieve%2Bstatus%2Bof%2Ban%2Bemail%2Bmessage) | GET | /messaging/v1/email/messages/{messageKey} |
| [Send email message to a single recipient](/docs/marketing/marketing-cloud/references/mc_rest_transactional_messaging_email?meta=Send%2Bemail%2Bmessage%2Bto%2Ba%2Bsingle%2Brecipient) | POST | /messaging/v1/email/messages/{messageKey} |

Append the operation endpoint addresses to this base URL, replacing `{subdomain}` with the unique subdomain for your Marketing Cloud Engagement tenant:

**Version:** 1.0

## Servers

*   `https://{subdomain}.rest.marketingcloudapis.com`
    *   `subdomain (default N/A) The unique API subdomain for your Marketing Cloud Engagement tenant. Find this value in the Installed Packages section of Marketing Cloud Engagement Setup.`

## Operations

### GET Get a list of all email send definitions. You can filter and sort the results by including query parameters.

`GET /messaging/v1/email/definitions`

Operation ID: `Retrieve all email send definitions`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `$page` (query, integer) The page of results to retrieve. Each page includes the number of records specified by the `$pagesize` parameter. You can retrieve additional pages by incrementing this number in subsequent calls. Don’t specify this parameter if the `$offset` parameter is specified.  
    Default: `1`.
*   `$pagesize` (query, integer) The number of records to return on each page of results.  
    Default: `2500`.
*   `$filter` (query, string) A string that describes the filter to apply to the response. The filter must be URL encoded. Use single quotes for field values. Filters can include the `eq` and `neq` operators.
*   `$orderBy` (query, string) The field and sort method to use to sort the results, such as `$orderBy=memberID ASC` to sort the results in ascending order by the value of the memberID field.

#### Responses

*   **200** The response includes the email send definitions.
    
    Media type: `application/json`. Schema: `getEmailSendDefinitionsResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "c5e689cb-9b2c-4480-8178-7be710cc2713",
      "definitions": [
        {
          "definitionKey": "password_recovery",
          "status": "Active",
          "name": "Password Recovery Email",
          "createdDate": "2025-07-18T19:52:00",
          "modifiedDate": "2025-07-18T19:52:00"
        }
      ],
      "count": 1,
      "page": 1,
      "pageSize": 10
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    

### POST Create a long-living send definition object that references the email template, subscriber list, sending options, journey, and metadata.

`POST /messaging/v1/email/definitions`

Operation ID: `Create email send definition`.

A send definition is referenced in the transactional messaging API when you send a triggered message to recipients. We recommend that you create one definition for each email use-case. The transactional send definition remains synchronized to the transactional send journey (when `journey.interactionKey` is provided), whether you manage the send definition through this API or the Journey Builder canvas.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Request body

Media type: `application/json`. Schema: `createEmailSendDefinitionRequestBody`.

#### Responses

*   **201** The response includes the message that indicates whether the email send definition was created.
    
    Media type: `application/json`. Schema: `createEmailSendDefinitionResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "1f1e8755-819b-424d-a914-e066b5ba20f8",
      "name": "My Unique Definition Name",
      "definitionKey": "2FA_order_accounts",
      "definitionId": "c13a2f02-2e02-e911-80e9-1402ec6b9711",
      "description": "Created via REST",
      "classification": "Default Transactional",
      "status": "Active",
      "createdDate": "2025-12-17T13:00:00",
      "modifiedDate": "2025-12-31T09:52:00",
      "content": {
        "customerKey": "bebf8650-137a-494c-8727-cdeb32534961"
      },
      "subscriptions": {
        "dataExtension": "test-de",
        "list": "test-list",
        "autoAddSubscriber": true,
        "updateSubscriber": true
      },
      "options": {
        "trackLinks": true,
        "bcc": [
          "bcc_address@example.com"
        ],
        "cc": [
          "cc_address@example.com"
        ],
        "isReconcilable": true,
        "reconciliationExpiryHours": 1
      },
      "journey": {
        "interactionKey": "9995e819-728b-43ca-822a-f912070ab7cf"
      }
    }
    ```
    
*   **400** Indicates that the request is invalid. When you receive a 400 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Runtime_InvalidOperation: Definition status must be inactive to delete queue",
      "errorcode": 30001,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Get the content of an email send definition by specifying its key.

`GET /messaging/v1/email/definitions/{definitionKey}`

Operation ID: `Retrieve email send definition by key`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `definitionKey` (path, string, required) The key of the email send definition.

#### Responses

*   **200** The response includes the email send definition.
    
    Media type: `application/json`. Schema: `getEmailSendDefinitionResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "bc4fcabc-338c-41ff-bd58-543fd4854c4a",
      "name": "RMM Response Message",
      "definitionKey": "DocRMM",
      "definitionId": "df24973b-9c59-4fc7-a6c3-30d82eee4903",
      "description": "RMM Response Message",
      "classification": "353",
      "status": "Active",
      "createdDate": "2025-11-24T11:40:00",
      "modifiedDate": "2025-11-24T11:43:00",
      "content": {
        "customerKey": "18e33baf-938c-4041-9030-9d5a43cc8263"
      },
      "subscriptions": {
        "list": "Engaged Customers",
        "autoAddSubscriber": true,
        "updateSubscriber": false
      },
      "options": {
        "trackLinks": true
      },
      "journey": {}
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### DELETE Delete an email send definition by specifying its key.

`DELETE /messaging/v1/email/definitions/{definitionKey}`

Operation ID: `Delete email send definition by key`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `definitionKey` (path, string, required) The key of the email send definition.

#### Responses

*   **200** The response includes the message that indicates whether the email send definition was deleted.
    
    Media type: `application/json`. Schema: `deleteEmailSendDefinitionResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "Success",
      "requestId": "c5e689cb-9b2c-4480-8178-7be710cc2713",
      "deletedDefinitionKey": "password_recovery"
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### PATCH Update an email send definition by specifying its key.

`PATCH /messaging/v1/email/definitions/{definitionKey}`

Operation ID: `Update email send definition`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `definitionKey` (path, string, required) The key of the email send definition.

#### Request body

Media type: `application/json`. Schema: `updateEmailSendDefinitionRequestBody`.

#### Responses

*   **200** The response includes the message that indicates whether the email send definition was updated.
    
    Media type: `application/json`. Schema: `updateEmailSendDefinitionResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "1f1e8755-819b-424d-a914-e066b5ba20f8",
      "name": "My Unique Definition Name",
      "definitionKey": "2FA_order_accounts",
      "definitionId": "c13a2f02-2e02-e911-80e9-1402ec6b9711",
      "description": "My Updated Description",
      "classification": "Default Transactional",
      "status": "Active",
      "createdDate": "2025-12-17T13:00:00",
      "modifiedDate": "2025-12-31T09:52:00",
      "content": {
        "customerKey": "bebf8650-137a-494c-8727-cdeb32534961"
      },
      "subscriptions": {
        "dataExtension": "test-de",
        "list": "test-list",
        "autoAddSubscriber": true,
        "updateSubscriber": true
      },
      "options": {
        "trackLinks": true,
        "bcc": [
          "bcc_address@example.com"
        ],
        "cc": [
          "cc_address@example.com"
        ]
      },
      "journey": {
        "interactionKey": "81bcd4b9-10b0-47c2-be8e-fce576c8110c"
      }
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Get the queue metrics for an email send definition by specifying its key.

`GET /messaging/v1/email/definitions/{definitionKey}/queue`

Operation ID: `Retrieve queue metrics`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `definitionKey` (path, string, required) The key of the email send definition.

#### Responses

*   **200** The response includes the queue metrics for the email send definition.
    
    Media type: `application/json`. Schema: `getQueueMetricsResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "ba9633fa-5c8d-4c42-8efa-a16412ac0c53",
      "count": 22,
      "ageSeconds": 45
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### DELETE Deletes the queue for a send definition.

`DELETE /messaging/v1/email/definitions/{definitionKey}/queue`

Operation ID: `Delete queue metrics`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `definitionKey` (path, string, required) The key of the email send definition. The send definition must be in inactive status.

#### Responses

*   **200** The response includes the message that indicates whether the queue was deleted.
    
    Media type: `application/json`. Schema: `deleteQueueMetricsResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "78fc694e-3c13-406d-b9ee-d309aa38d77b",
      "message": "Queued"
    }
    ```
    
*   **400** Indicates that the request is invalid. When you receive a 400 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Runtime_InvalidOperation: Definition status must be inactive to delete queue",
      "errorcode": 30001,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Gets a paginated list of messages that weren’t sent, ordered from oldest to newest.

`GET /messaging/v1/email/messages`

Operation ID: `Retrieve unsent messages`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `$pagesize` (query, integer) The number of records to return on each page of results.  
    Default: `2500`.
*   `lastEventId` (query, string) The event ID to start from in the response. To obtain the initial event ID, submit a request without `lastEventId`. The events in the response are listed from oldest to newest.
*   `$type` (query, string, required) The type of message status to retrieve. The only accepted value is `notSent`.  
    Allowed values: `notSent`.

#### Responses

*   **200** The response includes the list of messages that weren’t sent.
    
    Media type: `application/json`. Schema: `getEmailUnsentMessagesResponseBody`.
    
    _Example_
    
    ```
    {
      "lastEventID": 35774,
      "messages": [
        {
          "statusCode": 24,
          "statusMessage": "ListDetectiveExclusion",
          "eventCategoryType": "TransactionalSendEvents.EmailNotSent",
          "timestamp": "2025-12-17T13:05:40.947",
          "definitionKey": "technical_deep_dive_1",
          "eventID": 35760,
          "info": {
            "messageKey": "2iQNfGHj2UqTalK9x2gPow"
          }
        }
      ],
      "count": 1
    }
    ```
    
*   **400** Indicates that the request is invalid. When you receive a 400 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Runtime_InvalidOperation: Definition status must be inactive to delete queue",
      "errorcode": 30001,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### POST Send an email to multiple recipients by specifying a send definition. You can send messages to up to 2,000 recipients per request. If you send attributes with the recipients, we recommend no more than 500 recipients per request.

`POST /messaging/v1/email/messages`

Operation ID: `Send email message to multiple recipients`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Request body

Media type: `application/json`. Schema: `sendEmailMessageRequestBody`.

#### Responses

*   **202** The response includes the message that indicates whether the email message was sent.
    
    Media type: `application/json`. Schema: `sendEmailMessageResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "ccdb94bf-fcac-4fef-b194-08f534a2079a",
      "errorcode": 0,
      "responses": [
        {
          "messageKey": "nFL4ULgheUeaGbPIMzJJSw"
        },
        {
          "messageKey": "GV1LhQ6NFkqFUAE1IsoQ9Q"
        }
      ]
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieves the send status for an email.

`GET /messaging/v1/email/messages/{messageKey}`

Operation ID: `Retrieve status of an email message`.

Requests to this endpoint are rate-limited. To monitor message statuses in real time, subscribe to transactional send events using [Event Notification Service](/docs/marketing/marketing-cloud/guide/ens.html).

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `messageKey` (path, string, required) The unique key of the message to retrieve the status for.

#### Responses

*   **200** The response includes the status of the email message.
    
    Media type: `application/json`. Schema: `getEmailMessageStatusResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "30486456-ed41-46ba-96eb-06c4ff3b95d9",
      "eventCategoryType": "TransactionalSendEvents.EmailNotSent",
      "timestamp": "2025-07-24T06:26:58.463",
      "compositeId": "56941A9F-3A8F-E811-80E0-1402EC6B9529.4647028.622338.1.318768528",
      "info": {
        "messageKey": "9a-zUvWf3UKxLpwwIrqTmQ",
        "contactKey": "ec25a8c8-6d4e-42f0-84c3-4ea23564cbe5",
        "to": "recipient2@example.com"
      },
      "statusCode": 16,
      "statusMessage": "InvalidAttributeValue"
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that the request refers to the correct email send definition key.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Definition_NotFound: The definition with key MySendDefinition was not found.",
      "errorcode": 30003,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### POST Send an email to a single recipient by specifying a message key.

`POST /messaging/v1/email/messages/{messageKey}`

Operation ID: `Send email message to a single recipient`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Request body

Media type: `application/json`. Schema: `sendEmailMessageToSingleRecipientRequestBody`.

#### Responses

*   **202** The response includes the message that indicates whether the email message was sent.
    
    Media type: `application/json`. Schema: `sendEmailMessageToSingleRecipientResponseBody`.
    
    _Example_
    
    ```
    {
      "requestId": "239a2bc3-bdcb-4f8a-9e08-28aff9f983b7",
      "errorcode": 0,
      "responses": [
        {
          "messageKey": "f4fe74b7-c3c0-4e5a-9f49-b63a641109a2"
        }
      ]
    }
    ```
    
*   **401** Indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Authorized"
    }
    ```
    
*   **403** This response indicates that the API accepted your request but couldn’t authorize it. When you receive a 403 response, make sure you have the necessary permission scope for the operation. You can modify permission scopes on the Installed Apps page in Marketing Cloud Engagement Setup.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "MCMS_UTM_Authorization_InsufficientPrivileges: Insufficient privileges to complete this action.",
      "errorcode": 20002,
      "documentation": ""
    }
    ```
    
*   **500** Indicates that the API encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

## Schemas

### getEmailSendDefinitionsResponseBody

*   `requestId` (_string_) The unique identifier for the request.
*   `definitions` (_array of object_)
    *   `definitionKey` (_string_) The key of the email send definition.
    *   `status` (_string_) The status of the email send definition. Possible values are `active`, `inactive`, and `deleted`.
    *   `name` (_string_) The name of the email send definition.
    *   `createdDate` (_string (date-time)_) The date and time when the email send definition was created.
    *   `modifiedDate` (_string (date-time)_) The date and time when the email send definition was last modified.
*   `count` (_integer_) The total number of email send definitions that match the filter parameters.
*   `page` (_integer_) The page number of the results.
*   `pageSize` (_integer_) The number of results returned in a page of results.

### httpErrorResponseBody

*   `documentation` (_string_) Contains a link to the [Marketing Cloud Engagement developer documentation page about handling REST API errors](https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm).
*   `errorcode` (_integer_) The error code. In some situations, this value can be 0.
*   `message` (_string_) The error message.

### mceErrorResponseBody

*   `documentation` (_string_) An empty string.
*   `errorcode` (_integer_) An internal error code. For a complete list of error codes, see [Handle Errors in REST API](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/error-handling.html).
*   `message` (_string_) The error message.

### createEmailSendDefinitionRequestBody

*   `classification` (_string_) The external key of the sending classification defined in Email Studio Administration. Only transactional classifications are allowed.
*   `content` (_object_)
    *   `customerKey` (_string_, required) The unique identifier of the content asset to use for the email send definition.
*   `definitionKey` (_string_, required) A unique key for the email send definition.
*   `description` (_string_) A description of the email send definition.
*   `name` (_string_, required) A unique name for the email send definition.
*   `status` (_string_) The status of the email send definition. Possible values are `active`, `inactive`, or `deleted`. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.  
    Allowed values: `active`, `inactive`, `deleted`.
*   `subscriptions` (_object_)
    *   `autoAddSubscriber` (_boolean_) Indicates whether the recipient’s email address and contact key are added as a subscriber key to `subscriptions.list`.
    *   `dataExtension` (_string_) The external key of the triggered send data extension. Each request inserts a new row in the data extension.
    *   `list` (_string_, required) The external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
    *   `updateSubscriber` (_boolean_) Indicates whether the recipient’s contact key is added as a subscriber key with the provided email address and profile attributes to `subscriptions.list`.
*   `options` (_object_)
    *   `bcc` (_array of string_)
        
        Each item: The email addresses of the BCC recipients to include in each send.
        
    *   `cc` (_array of string_)
        
        Each item: The email addresses of the CC recipients to include in each send.
        
    *   `createJourney` (_boolean_) Indicates whether to make the send definition available in Journey Builder as a Transactional Send Journey. After the definition is tied to a Transactional Send Journey, the definition remains part of Journey Builder. You can’t unlink a journey from a definition without recreating the transactional send definition. The default value is `false`.
    *   `trackLinks` (_boolean_) Indicates whether links in the email are tracked. The default value is `true`.

_Example_

```
{
  "definitionKey": "2FA_order_accounts",
  "status": "Active",
  "name": "My Unique Definition Name",
  "description": "Created via REST",
  "classification": "Default Transactional",
  "content": {
    "customerKey": "bebf8650-137a-494c-8727-cdeb32534961"
  },
  "subscriptions": {
    "list": "test-list",
    "dataExtension": "test-de",
    "autoAddSubscriber": true,
    "updateSubscriber": true
  },
  "options": {
    "trackLinks": true,
    "cc": [
      "cc_address@example.com"
    ],
    "bcc": [
      "bcc_address@example.com"
    ],
    "isReconcilable": true,
    "reconciliationExpiryHours": 1,
    "createJourney": true
  }
}
```

### createEmailSendDefinitionResponseBody

*   `requestId` (_string_) A unique identifier for the request.
*   `name` (_string_) The name of the email send definition.
*   `definitionKey` (_string_) The key of the email send definition.
*   `definitionId` (_string_) The ID of the email send definition.
*   `description` (_string_) The description of the email send definition.
*   `classification` (_string_) The classification of the email send definition.
*   `status` (_string_) The status of the email send definition.  
    Allowed values: `active`, `inactive`, `deleted`.
*   `createdDate` (_string (date-time)_) The date and time when the email send definition was created.
*   `modifiedDate` (_string (date-time)_) The date and time when the email send definition was last modified.
*   `content` (_object_) An object that defines the email content used in the email send definition.
    *   `customerKey` (_string_) The unique identifier of the email content asset used in the send definition.
*   `subscriptions` (_object_)
    *   `dataExtension` (_string_) The external key of the triggered send data extension. Each request inserts a new row in the data extension.
    *   `list` (_string_) The external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
*   `options` (_object_)
    *   `trackLinks` (_boolean_) Indicates whether links in the email are tracked.
    *   `bcc` (_array of string_)
        
        Each item: The email addresses of the BCC recipients included in each send.
        
    *   `cc` (_array of string_)
        
        Each item: The email addresses of the CC recipients included in each send.
        
    *   `isReconcilable` (_boolean_) Indicates whether the transactional email send definition should use Transactional Reconciliation. When set to true, Marketing Cloud Engagement monitors the message after the initial send to determine its final delivery outcome.
    *   `reconciliationExpiryHours` (_integer_) The duration, in hours, of the reconciliation window. The duration ranges from 1 to 72 hours.
    *   `createJourney` (_boolean_) Indicates whether the send definition is available in Journey Builder as a Transactional Send Journey.

### getEmailSendDefinitionResponseBody

*   `requestId` (_string_) The unique identifier for the request.
*   `name` (_string_) The name of the email send definition.
*   `definitionKey` (_string_) The key of the email send definition.
*   `definitionId` (_string_) The ID of the email send definition.
*   `description` (_string_) The description of the email send definition.
*   `classification` (_string_) The classification of the email send definition.
*   `status` (_string_) The status of the email send definition.
*   `createdDate` (_string (date-time)_) The date and time when the email send definition was created.
*   `modifiedDate` (_string (date-time)_) The date and time when the email send definition was last modified.
*   `content` (_object_)
    *   `customerKey` (_string_) The key of the customer.
*   `subscriptions` (_object_)
    *   `list` (_string_) The list to send the email to.
    *   `autoAddSubscriber` (_boolean_) Indicates whether the recipient’s email address and contact key are added as a subscriber key to `subscriptions.list`.
    *   `updateSubscriber` (_boolean_) Indicates whether the recipient’s contact key is added as a subscriber key with the provided email address and profile attributes to `subscriptions.list`.
*   `options` (_object_)
    *   `trackLinks` (_boolean_) Indicates whether links in the email are tracked.
*   `journey` (_object_)
    *   `journeyName` (_string_) The name of the journey.
    *   `journeyId` (_string_) The ID of the journey.

### deleteEmailSendDefinitionResponseBody

*   `message` (_string_) The message that indicates that the email send definition was deleted.
*   `requestId` (_string_) A unique identifier for the request.
*   `deletedDefinitionKey` (_string_) The key of the email send definition that was deleted.

### updateEmailSendDefinitionRequestBody

*   `classification` (_string_) The external key of the sending classification defined in Email Studio Administration. Only transactional classifications are allowed.
*   `content` (_object_)
    *   `customerKey` (_string_, required) The unique identifier of the content asset.
*   `definitionKey` (_string_) The unique key of the email send definition.
*   `definitionId` (_string_) The ID of the email send definition.
*   `description` (_string_) The description of the email send definition.
*   `name` (_string_, required) The name of the email send definition. The name must be unique.
*   `options` (_object_)
    *   `bcc` (_array of string_)
        
        Each item: The email addresses of the BCC recipients to include in each send.
        
    *   `cc` (_array of string_)
        
        Each item: The email addresses of the CC recipients to include in each send.
        
    *   `trackLinks` (_boolean_) Indicates whether links in the email are tracked. The default value is `true`.
    *   `createJourney` (_boolean_) Indicates whether to make the send definition available in Journey Builder as a Transactional Send Journey. After the definition is tied to a Transactional Send Journey, the definition remains part of Journey Builder. You can’t unlink a journey from a definition without recreating the transactional send definition. The default value is `false`.
*   `status` (_string_) The status of the email send definition. Possible values are `active`, `inactive`, or `deleted`. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for up to three days.
*   `subscriptions` (_object_)
    *   `autoAddSubscriber` (_boolean_) Indicates whether the recipient’s email address and contact key are added as a subscriber key to `subscriptions.list`.
    *   `dataExtension` (_string_) The external key of the triggered send data extension. Each request inserts a new row in the data extension.
    *   `list` (_string_) The external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
    *   `updateSubscriber` (_boolean_) Indicates whether the recipient’s contact key is added as a subscriber key with the provided email address and profile attributes to `subscriptions.list`.

_Example_

```
{
  "status": "Active",
  "description": "My Updated Description",
  "options": {
    "cc": [
      "cc_address1@example.com"
    ],
    "bcc": [
      "bcc_address1@example.com"
    ],
    "createJourney": true
  }
}
```

### updateEmailSendDefinitionResponseBody

*   `requestId` (_string_) The unique identifier for the request.
*   `name` (_string_) The name of the email send definition.
*   `definitionKey` (_string_) The unique key of the email send definition.
*   `definitionId` (_string_) The ID of the email send definition.
*   `description` (_string_) The description of the email send definition.
*   `classification` (_string_) The external key of the sending classification defined in Email Studio Administration.
*   `status` (_string_) The status of the email send definition. Possible values are `active`, `inactive`, or `deleted`. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for up to three days.
*   `createdDate` (_string (date-time)_) The date and time when the email send definition was created.
*   `modifiedDate` (_string (date-time)_) The date and time when the email send definition was last modified.
*   `content` (_object_)
    *   `customerKey` (_string_) The unique identifier of the content asset.
*   `subscriptions` (_object_)
    *   `dataExtension` (_string_) The external key of the triggered send data extension. Each request inserts a new row in the data extension.
    *   `list` (_string_) The external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
    *   `autoAddSubscriber` (_boolean_) Indicates whether the recipient’s email address and contact key are added as a subscriber key to `subscriptions.list`.
    *   `updateSubscriber` (_boolean_) Indicates whether the recipient’s contact key is added as a subscriber key with the provided email address and profile attributes to `subscriptions.list`.
*   `options` (_object_)
    *   `trackLinks` (_boolean_) Indicates whether links in the email are tracked.

### getQueueMetricsResponseBody

*   `requestId` (_string_) A unique identifier for the request.
*   `count` (_integer_) The number of unprocessed records in the queue.
*   `ageSeconds` (_integer_) The age in seconds of the oldest unprocessed record in the queue.

### deleteQueueMetricsResponseBody

*   `requestId` (_string_) A unique identifier for the request.
*   `message` (_string_) The message that indicates the status of the request.

### getEmailUnsentMessagesResponseBody

*   `lastEventID` (_integer_) The event ID to begin from in a subsequent request.
*   `messages` (_array of object_)
    *   `statusCode` (_integer_) A numeric code related to the disposition of the message. See the `statusMessage` property for a description of the status.
    *   `statusMessage` (_string_) A description of the status of the message.
    *   `eventCategoryType` (_string_) The type of event that occurred.
    *   `timestamp` (_string (date-time)_) The date and time when the event occurred.
    *   `definitionKey` (_string_) The key of the email send definition.
    *   `eventID` (_integer_) The event ID.
    *   `info` (_object_)
        *   `messageKey` (_string_) The unique key of the message.
*   `count` (_integer_) The total number of messages that match the filter parameters.

### sendEmailMessageRequestBody

*   `attributes` (_object_) Information used to personalize the message for the request, written as key-value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
*   `definitionKey` (_string_, required) The key of the email send definition.
*   `recipients` (_array of object_) An array of objects that contain parameters and metadata for the recipients, such as send tracking and personalization attributes.
    *   `attributes` (_object_) Personalization information for the recipient. Written as key-value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
    *   `contactKey` (_string_, required) A unique identifier for the subscriber. You can create a contact key at send time if the contact isn’t already in Marketing Cloud Engagement.
    *   `messageKey` (_string_) A unique identifier that you can use to track the status of the message. You can provide this key as part of the request. If you don’t provide a key, the system generates one for you. The key can contain up to 100 characters. There are no character restrictions. The message key that you provide must be unique among all of the keys that have been used in your business unit over the prior 72 hours. If you specify a duplicate `messageKey` in the same send request, the message is rejected.
    *   `to` (_string_) The email address of the recipient.

_Example_

```
{
  "definitionKey": "2FA_order_accounts",
  "recipients": [
    {
      "contactKey": "recipient1",
      "to": "recipient1@example.com",
      "messageKey": "nFL4ULgheUeaGbPIexAMple",
      "attributes": {
        "RequestAttribute_1": "value_1",
        "RequestAttribute_2": "value_2",
        "Attribute1": "This is one for recipient1",
        "Attribute2": "This is two for recipient1"
      }
    },
    {
      "contactKey": "recipient2",
      "to": "recipient2@example.com",
      "messageKey": "GV1LhQ6NFkqFUAE1IsoQ9Q",
      "attributes": {
        "UserAttribute_3": "value_3",
        "UserAttribute_4": "value_4"
      }
    }
  ],
  "attributes": {
    "UserAttribute_a": "value_a",
    "UserAttribute_b": "value_b"
  }
}
```

### sendEmailMessageResponseBody

The response includes a request ID for the entire request. The responses array contains a `messageKey` value for each message that you attempted to send. If a message was sent successfully, the object doesn’t contain any additional information. If a message was wasn’t sent, the object contains an error code and a message that describes the error.

*   `requestId` (_string_) A unique identifier for the request.
*   `errorcode` (_integer_) The error code. If no errors occurred, the value is `0`. See [Transactional API Subscriber Error Codes](/docs/marketing/marketing-cloud/guide/transactional-send-subscriber.html) and [Transactional API Response Level Error Codes](/docs/marketing/marketing-cloud/guide/transactional-send-response.html).
*   `responses` (_array of object_)
    *   `messageKey` (_string_) A unique identifier for the message send.

### getEmailMessageStatusResponseBody

*   `requestId` (_string_) A unique identifier for the request.
*   `eventCategoryType` (_string_) The type of event that occurred.
*   `timestamp` (_string (date-time)_) The date and time when the event occurred.
*   `compositeId` (_string_) The composite ID of the message.
*   `info` (_object_)
    *   `messageKey` (_string_) The unique key of the message.
    *   `contactKey` (_string_) The unique key of the contact.
    *   `to` (_string_) The email address of the recipient.
*   `statusCode` (_integer_) A numeric code related to the disposition of the message. See the `statusMessage` property for a description of the status.
*   `statusMessage` (_string_) A description of the status of the message.

### sendEmailMessageToSingleRecipientRequestBody

*   `definitionKey` (_string_, required) The key of the email send definition.
*   `recipient` (_object_) An object that contains parameters and metadata for the recipient, such as send tracking and personalization attributes.
    *   `attributes` (_object_) Personalization information for the recipient. Written as key-value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
    *   `contactKey` (_string_, required) A unique identifier for the subscriber. You can create a contact key at send time if the contact isn’t already in Marketing Cloud Engagement.
    *   `to` (_string_) The email address of the recipient.

_Example_

```
{
  "definitionKey": "2FA_order_accounts",
  "recipient": {
    "contactKey": "recipient1",
    "to": "recipient1@example.com",
    "attributes": {
      "RequestAttribute_1": "value_1",
      "RequestAttribute_2": "value_2"
    }
  }
}
```

### sendEmailMessageToSingleRecipientResponseBody

*   `requestId` (_string_) A unique identifier for the request.
*   `errorcode` (_integer_) The error code. If no errors occurred, the value is `0`.
*   `responses` (_array of object_)
    *   `messageKey` (_string_) A unique identifier for the message send.