> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# customerio-messaging

> Messaging & Newsletters

**Server path:** `/customerio-messaging` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                            | Description                                                   |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [`customerio_messaging_create_newsletter`](#customerio_messaging_create_newsletter)                                             | Create and send a newsletter                                  |
| [`customerio_messaging_create_newsletter_language_variant`](#customerio_messaging_create_newsletter_language_variant)           | Add a translation to a newsletter                             |
| [`customerio_messaging_create_newsletter_test_group`](#customerio_messaging_create_newsletter_test_group)                       | Create an A/B test group for a newsletter                     |
| [`customerio_messaging_create_newsletter_test_language_variant`](#customerio_messaging_create_newsletter_test_language_variant) | Add a translation to a newsletter test group                  |
| [`customerio_messaging_delete_newsletter_language_variant`](#customerio_messaging_delete_newsletter_language_variant)           | Delete a translation of a newsletter                          |
| [`customerio_messaging_delete_newsletter_test_language_variant`](#customerio_messaging_delete_newsletter_test_language_variant) | Delete a translation in a newsletter test group               |
| [`customerio_messaging_delete_newsletters`](#customerio_messaging_delete_newsletters)                                           | Delete a newsletter                                           |
| [`customerio_messaging_get_archived_message`](#customerio_messaging_get_archived_message)                                       | Get an archived message                                       |
| [`customerio_messaging_get_message`](#customerio_messaging_get_message)                                                         | Get a message                                                 |
| [`customerio_messaging_get_newsletter_links`](#customerio_messaging_get_newsletter_links)                                       | Get click metrics for newsletter links                        |
| [`customerio_messaging_get_newsletter_metrics`](#customerio_messaging_get_newsletter_metrics)                                   | Get newsletter metrics                                        |
| [`customerio_messaging_get_newsletter_msg_meta`](#customerio_messaging_get_newsletter_msg_meta)                                 | Get delivery data for a newsletter                            |
| [`customerio_messaging_get_newsletter_test_groups`](#customerio_messaging_get_newsletter_test_groups)                           | List a newsletter's A/B test groups                           |
| [`customerio_messaging_get_newsletter_variant`](#customerio_messaging_get_newsletter_variant)                                   | Get a newsletter variant                                      |
| [`customerio_messaging_get_newsletter_variant_translation`](#customerio_messaging_get_newsletter_variant_translation)           | Get a newsletter translation                                  |
| [`customerio_messaging_get_newsletter_variant_translation_test`](#customerio_messaging_get_newsletter_variant_translation_test) | Get a translation in a newsletter test group                  |
| [`customerio_messaging_get_newsletters`](#customerio_messaging_get_newsletters)                                                 | Get a newsletter                                              |
| [`customerio_messaging_get_transactional`](#customerio_messaging_get_transactional)                                             | Get a transactional message                                   |
| [`customerio_messaging_get_transactional_variant`](#customerio_messaging_get_transactional_variant)                             | Get a translation of a transactional message                  |
| [`customerio_messaging_get_variant_links`](#customerio_messaging_get_variant_links)                                             | Get click metrics for links in newsletter variants            |
| [`customerio_messaging_get_variant_metrics`](#customerio_messaging_get_variant_metrics)                                         | Get metrics for a test or translation variant of a newsletter |
| [`customerio_messaging_list_messages`](#customerio_messaging_list_messages)                                                     | List messages                                                 |
| [`customerio_messaging_list_newsletter_variants`](#customerio_messaging_list_newsletter_variants)                               | List newsletter variants                                      |
| [`customerio_messaging_list_newsletters`](#customerio_messaging_list_newsletters)                                               | List newsletters                                              |
| [`customerio_messaging_list_transactional`](#customerio_messaging_list_transactional)                                           | List transactional messages                                   |
| [`customerio_messaging_list_transactional_variants`](#customerio_messaging_list_transactional_variants)                         | List all variants of a transactional message                  |
| [`customerio_messaging_schedule_newsletter`](#customerio_messaging_schedule_newsletter)                                         | Schedule a newsletter                                         |
| [`customerio_messaging_send_email`](#customerio_messaging_send_email)                                                           | Send a transactional email                                    |
| [`customerio_messaging_send_in_app`](#customerio_messaging_send_in_app)                                                         | Send a transactional in-app message                           |
| [`customerio_messaging_send_inbox_message`](#customerio_messaging_send_inbox_message)                                           | Send a transactional inbox message                            |
| [`customerio_messaging_send_newsletter`](#customerio_messaging_send_newsletter)                                                 | Send a newsletter                                             |
| [`customerio_messaging_send_push`](#customerio_messaging_send_push)                                                             | Send a transactional push                                     |
| [`customerio_messaging_send_sms`](#customerio_messaging_send_sms)                                                               | Send a transactional SMS                                      |
| [`customerio_messaging_transactional_links`](#customerio_messaging_transactional_links)                                         | Get transactional message link metrics                        |
| [`customerio_messaging_transactional_messages`](#customerio_messaging_transactional_messages)                                   | Get transactional message deliveries                          |
| [`customerio_messaging_transactional_metrics`](#customerio_messaging_transactional_metrics)                                     | Get transactional message metrics                             |
| [`customerio_messaging_trigger_broadcast`](#customerio_messaging_trigger_broadcast)                                             | Send an API-triggered broadcast                               |
| [`customerio_messaging_update_newsletter_test_translation`](#customerio_messaging_update_newsletter_test_translation)           | Update a translation in a newsletter test group               |
| [`customerio_messaging_update_newsletter_variant`](#customerio_messaging_update_newsletter_variant)                             | Update a newsletter variant                                   |
| [`customerio_messaging_update_newsletter_variant_translation`](#customerio_messaging_update_newsletter_variant_translation)     | Update a translation of a newsletter                          |
| [`customerio_messaging_update_transactional`](#customerio_messaging_update_transactional)                                       | Update a transactional message                                |
| [`customerio_messaging_update_transactional_variant`](#customerio_messaging_update_transactional_variant)                       | Update a translation of a transactional message               |

***

## customerio\_messaging\_create\_newsletter

Create and send a newsletter

**Parameters:**

| Parameter | Type   | Required | Default | Description  |
| --------- | ------ | -------- | ------- | ------------ |
| `body`    | object | Yes      | —       | Request body |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "body"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_create\_newsletter\_language\_variant

Add a translation to a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                               |
| --------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                           |
| `body`          | object  | Yes      | —       | Add a language variant to a newsletter. The payload the endpoint accepts depends on the parent newsletter's channel type. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "body": {
        "description": "Add a language variant to a newsletter. The payload the endpoint accepts depends on the parent newsletter's channel type."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "body"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_create\_newsletter\_test\_group

Create an A/B test group for a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                     |
| --------------- | ------- | -------- | ------- | ------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter. |
| `body`          | object  | No       | —       | No request body is required.    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "body": {
        "type": "object",
        "description": "No request body is required."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_create\_newsletter\_test\_language\_variant

Add a translation to a newsletter test group

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                               |
| --------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                           |
| `test_group_id` | string  | Yes      | —       | The ID of the A/B test group.                                                                                             |
| `body`          | object  | Yes      | —       | Add a language variant to a newsletter. The payload the endpoint accepts depends on the parent newsletter's channel type. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "test_group_id": {
        "type": "string",
        "description": "The ID of the A/B test group."
      },
      "body": {
        "description": "Add a language variant to a newsletter. The payload the endpoint accepts depends on the parent newsletter's channel type."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "test_group_id",
      "body"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_delete\_newsletter\_language\_variant

Delete a translation of a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_delete\_newsletter\_test\_language\_variant

Delete a translation in a newsletter test group

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `test_group_id` | string  | Yes      | —       | The ID of the A/B test group.                                                                                                                                                            |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "test_group_id": {
        "type": "string",
        "description": "The ID of the A/B test group."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "test_group_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_delete\_newsletters

Delete a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                     |
| --------------- | ------- | -------- | ------- | ------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_archived\_message

Get an archived message

**Parameters:**

| Parameter    | Type   | Required | Default | Description                  |
| ------------ | ------ | -------- | ------- | ---------------------------- |
| `message_id` | string | Yes      | —       | The identifier of a message. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "message_id": {
        "type": "string",
        "description": "The identifier of a message."
      }
    },
    "required": [
      "PCID",
      "message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_message

Get a message

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                                                                                         |
| ----------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `message_id`            | string  | Yes      | —       | The identifier of a message.                                                                                                                        |
| `get_tracked_responses` | boolean | No       | —       | If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "message_id": {
        "type": "string",
        "description": "The identifier of a message."
      },
      "get_tracked_responses": {
        "type": "boolean",
        "description": "If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses."
      }
    },
    "required": [
      "PCID",
      "message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_links

Get click metrics for newsletter links

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| --------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                             |
| `period`        | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                           |
| `steps`         | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month. |
| `unique`        | boolean | No       | —       | 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.                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "period": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      },
      "unique": {
        "type": "boolean",
        "description": "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."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_metrics

Get newsletter metrics

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| --------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                             |
| `period`        | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                           |
| `steps`         | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month. |
| `type`          | string  | No       | —       | The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.                                                                                                                                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "period": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      },
      "type": {
        "type": "string",
        "description": "The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.",
        "enum": [
          "email",
          "webhook",
          "twilio",
          "push",
          "in_app",
          "inbox"
        ]
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_msg\_meta

Get delivery data for a newsletter

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                                                                                                           |
| ----------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id`         | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                       |
| `start`                 | string  | No       | —       | 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`                 | integer | No       | —       | The maximum number of results you want to retrieve per page.                                                                                                          |
| `metric`                | string  | No       | —       | Determines the metric(s) you want to return.                                                                                                                          |
| `start_ts`              | integer | No       | —       | The beginning timestamp for your query.                                                                                                                               |
| `end_ts`                | integer | No       | —       | The ending timestamp for your query.                                                                                                                                  |
| `get_tracked_responses` | boolean | No       | —       | If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses.                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "start": {
        "type": "string",
        "description": "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": {
        "type": "integer",
        "description": "The maximum number of results you want to retrieve per page."
      },
      "metric": {
        "type": "string",
        "description": "Determines the metric(s) you want to return.",
        "enum": [
          "attempted",
          "sent",
          "delivered",
          "opened",
          "clicked",
          "converted",
          "bounced",
          "spammed",
          "unsubscribed",
          "dropped",
          "failed",
          "undeliverable"
        ]
      },
      "start_ts": {
        "type": "integer",
        "description": "The beginning timestamp for your query."
      },
      "end_ts": {
        "type": "integer",
        "description": "The ending timestamp for your query."
      },
      "get_tracked_responses": {
        "type": "boolean",
        "description": "If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_test\_groups

List a newsletter's A/B test groups

**Parameters:**

| Parameter       | Type    | Required | Default | Description                     |
| --------------- | ------- | -------- | ------- | ------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_variant

Get a newsletter variant

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                    |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                                |
| `content_id`    | integer | Yes      | —       | The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use List variants of a newsletter to find the `content_id` associated with the right variant. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "content_id": {
        "type": "integer",
        "description": "The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use [List variants of a newsletter](#tag/newsletter-variants/listNewsletterVariants) to find the `content_id` associated with the right variant."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "content_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_variant\_translation

Get a newsletter translation

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletter\_variant\_translation\_test

Get a translation in a newsletter test group

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `test_group_id` | string  | Yes      | —       | The ID of the A/B test group.                                                                                                                                                            |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "test_group_id": {
        "type": "string",
        "description": "The ID of the A/B test group."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "test_group_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_newsletters

Get a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                     |
| --------------- | ------- | -------- | ------- | ------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_transactional

Get a transactional message

**Parameters:**

| Parameter          | Type    | Required | Default | Description                                                                                                                                                                                                                                      |
| ------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `transactional_id` | integer | Yes      | —       | 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. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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."
      }
    },
    "required": [
      "PCID",
      "transactional_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_transactional\_variant

Get a translation of a transactional message

**Parameters:**

| Parameter          | Type    | Required | Default | Description                                                                                                                                                                                                                                      |
| ------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `transactional_id` | integer | Yes      | —       | 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`         | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error.                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      }
    },
    "required": [
      "PCID",
      "transactional_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_variant\_links

Get click metrics for links in newsletter variants

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                    |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                                |
| `content_id`    | integer | Yes      | —       | The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use List variants of a newsletter to find the `content_id` associated with the right variant. |
| `period`        | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                              |
| `steps`         | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month.    |
| `type`          | string  | No       | —       | The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.                                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "content_id": {
        "type": "integer",
        "description": "The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use [List variants of a newsletter](#tag/newsletter-variants/listNewsletterVariants) to find the `content_id` associated with the right variant."
      },
      "period": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      },
      "type": {
        "type": "string",
        "description": "The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.",
        "enum": [
          "email",
          "webhook",
          "twilio",
          "push",
          "in_app",
          "inbox"
        ]
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "content_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_get\_variant\_metrics

Get metrics for a test or translation variant of a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                    |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                                |
| `content_id`    | integer | Yes      | —       | The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use List variants of a newsletter to find the `content_id` associated with the right variant. |
| `period`        | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                              |
| `steps`         | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month.    |
| `type`          | string  | No       | —       | The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.                                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "content_id": {
        "type": "integer",
        "description": "The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use [List variants of a newsletter](#tag/newsletter-variants/listNewsletterVariants) to find the `content_id` associated with the right variant."
      },
      "period": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      },
      "type": {
        "type": "string",
        "description": "The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.",
        "enum": [
          "email",
          "webhook",
          "twilio",
          "push",
          "in_app",
          "inbox"
        ]
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "content_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_list\_messages

List messages

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                                                                                                           |
| ----------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `start`                 | string  | No       | —       | 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`                 | integer | No       | —       | The maximum number of results you want to retrieve per page.                                                                                                          |
| `type`                  | string  | No       | —       | The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.                                                    |
| `metric`                | string  | No       | —       | Determines the metric(s) you want to return.                                                                                                                          |
| `drafts`                | boolean | No       | —       | If true, your request returns drafts rather than active/sent messages.                                                                                                |
| `campaign_id`           | integer | No       | —       | The campaign you want to filter for.                                                                                                                                  |
| `newsletter_id`         | integer | No       | —       | The newsletter you want to filter for.                                                                                                                                |
| `action_id`             | integer | No       | —       | The action you want to filter for.                                                                                                                                    |
| `start_ts`              | integer | No       | —       | The beginning timestamp for your query.                                                                                                                               |
| `end_ts`                | integer | No       | —       | The ending timestamp for your query.                                                                                                                                  |
| `get_tracked_responses` | boolean | No       | —       | If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses.                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "start": {
        "type": "string",
        "description": "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": {
        "type": "integer",
        "description": "The maximum number of results you want to retrieve per page."
      },
      "type": {
        "type": "string",
        "description": "The type of item you want to return metrics for. When empty, the response contains metrics for all possible types.",
        "enum": [
          "email",
          "webhook",
          "twilio",
          "whatsapp",
          "slack",
          "push",
          "in_app"
        ]
      },
      "metric": {
        "type": "string",
        "description": "Determines the metric(s) you want to return.",
        "enum": [
          "attempted",
          "sent",
          "delivered",
          "opened",
          "clicked",
          "converted",
          "bounced",
          "spammed",
          "unsubscribed",
          "dropped",
          "failed",
          "undeliverable"
        ]
      },
      "drafts": {
        "type": "boolean",
        "description": "If true, your request returns drafts rather than active/sent messages."
      },
      "campaign_id": {
        "type": "integer",
        "description": "The campaign you want to filter for."
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The newsletter you want to filter for."
      },
      "action_id": {
        "type": "integer",
        "description": "The action you want to filter for."
      },
      "start_ts": {
        "type": "integer",
        "description": "The beginning timestamp for your query."
      },
      "end_ts": {
        "type": "integer",
        "description": "The ending timestamp for your query."
      },
      "get_tracked_responses": {
        "type": "boolean",
        "description": "If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_list\_newsletter\_variants

List newsletter variants

**Parameters:**

| Parameter       | Type    | Required | Default | Description                     |
| --------------- | ------- | -------- | ------- | ------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_list\_newsletters

List newsletters

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                           |
| --------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`   | integer | No       | —       | The maximum number of results you want to retrieve per page.                                                                                                          |
| `sort`    | string  | No       | —       | Determine how you want to sort results, `asc` for chronological order and `desc` for reverse chronological order.                                                     |
| `start`   | string  | No       | —       | 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. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results you want to retrieve per page."
      },
      "sort": {
        "type": "string",
        "description": "Determine how you want to sort results, `asc` for chronological order and `desc` for reverse chronological order.",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "start": {
        "type": "string",
        "description": "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."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_list\_transactional

List transactional messages

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_list\_transactional\_variants

List all variants of a transactional message

**Parameters:**

| Parameter          | Type    | Required | Default | Description                                                                                                                                                                                                                                      |
| ------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `transactional_id` | integer | Yes      | —       | 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. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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."
      }
    },
    "required": [
      "PCID",
      "transactional_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_schedule\_newsletter

Schedule a newsletter

**Parameters:**

| Parameter                | Type    | Required | Default | Description                                                                                                                                                                                      |
| ------------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `newsletter_id`          | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                  |
| `rate_limit_email_rate`  | integer | No       | —       | Maximum number of messages per time period. **NOTE:** Though this states `email_rate`, you can use this for other message channels. Only fixed rate limits are supported, not daily ramp limits. |
| `rate_limit_spread`      | boolean | No       | —       | When `true`, spreads messages evenly across the time period. Otherwise, it sends as fast as possible up to the limit in each period.                                                             |
| `rate_limit_time_period` | integer | No       | —       | Time period in seconds for rate limiting. Must be one of 60 (minute), 3600 (hour), or 86400 (day).                                                                                               |
| `scheduled_at`           | integer | Yes      | —       | Unix timestamp for the send. Use `0` to deschedule. When greater than `0`, the time must be in the future and you must send `timezone` so the UI displays the time correctly.                    |
| `timezone`               | string  | No       | —       | IANA timezone name (for example, `America/New_York`). Required when `scheduled_at` is greater than `0`. Not required when descheduling (`scheduled_at` is `0`).                                  |
| `tz_match_enabled`       | boolean | No       | —       | When `true`, sends at the same local time in each recipient's timezone. If it's set to `true` and `rate_limit_time_period` is provided, then the period can't be greater than `3600` (1 hour).   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "rate_limit_email_rate": {
        "type": "integer",
        "description": "Maximum number of messages per time period. **NOTE:** Though this states `email_rate`, you can use this for other message channels. Only fixed rate limits are supported, not [daily ramp limits](/journeys/send/broadcasts/newsletters/#daily-ramp)."
      },
      "rate_limit_spread": {
        "type": "boolean",
        "description": "When `true`, spreads messages evenly across the time period. Otherwise, it sends as fast as possible up to the limit in each period."
      },
      "rate_limit_time_period": {
        "type": "integer",
        "description": "Time period in seconds for rate limiting. Must be one of 60 (minute), 3600 (hour), or 86400 (day).",
        "enum": [
          60,
          3600,
          86400
        ]
      },
      "scheduled_at": {
        "type": "integer",
        "description": "Unix timestamp for the send. Use `0` to deschedule. When greater than `0`, the time must be in the future and you must send `timezone` so the UI displays the time correctly."
      },
      "timezone": {
        "type": "string",
        "description": "[IANA timezone name](/journeys/send/timezones/example-timezones/#region-format) (for example, `America/New_York`). Required when `scheduled_at` is greater than `0`. Not required when descheduling (`scheduled_at` is `0`)."
      },
      "tz_match_enabled": {
        "type": "boolean",
        "description": "When `true`, sends at the same local time in each recipient's timezone. If it's set to `true` and `rate_limit_time_period` is provided, then the period can't be greater than `3600` (1 hour)."
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "scheduled_at"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_email

Send a transactional email

**Parameters:**

| Parameter                   | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Workspace-Id`            | integer | No       | —       | The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace. |
| `attachments`               | object  | No       | —       | A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The filename must include the extension (i.e. `name.csv`). The total size of all attachments must be less than 2 MB.                                                                                                                                                                             |
| `auto_create`               | boolean | No       | —       | If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See details.                                                                                               |
| `bcc`                       | string  | No       | —       | Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to`, `cc`, and `bcc` keys.                                                                                                                                                                                                                               |
| `body`                      | string  | No       | —       | The HTML body of your message. If you provide a `transactional_message_id`, this overrides the template's body. It's also the fallback when you send AMP email (`body_amp`) to a client that doesn't support AMP.                                                                                                                                                                                        |
| `body_amp`                  | string  | No       | —       | AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're set up to send AMP first.                                                                                                                                                                                                                              |
| `body_plain`                | string  | No       | —       | The plaintext body of your message. If you provide `transactional_message_id`, this overrides the template's plaintext body.                                                                                                                                                                                                                                                                             |
| `cc`                        | string  | No       | —       | Carbon copy message recipients, separated by commas. Unlike BCC recipients, CC recipients are visible to everyone who receives the message. Their opens, clicks, and bounces count toward your message metrics. CC recipients count toward the limit of 15 total recipients across the `to`, `cc`, and `bcc` keys.                                                                                       |
| `disable_css_preprocessing` | boolean | No       | —       | Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default.                                                                                                                                                                         |
| `disable_message_retention` | boolean | No       | —       | If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `fake_bcc`                  | boolean | No       | —       | If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).                                                                                                                                                                                                                                           |
| `from`                      | string  | No       | —       | The address your email is from. It must be a verified sender. Quote any display name, like `\"Person\" &lt;person@example.com&gt;`. This overrides the template's sender; omit it to use the template or your workspace default.                                                                                                                                                                         |
| `headers`                   | string  | No       | —       | A JSON string containing header objects with `name` and `value`. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers.                                                                                                                                                                                                                         |
| `identifiers`               | object  | No       | —       | Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`.                                                                                                                                                                                                                                                                                  |
| `language`                  | string  | No       | —       | Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.                                                                                                                                                                                                                                               |
| `message_data`              | object  | No       | —       | An object containing the key-value pairs referenced using liquid in your message.                                                                                                                                                                                                                                                                                                                        |
| `preheader`                 | string  | No       | —       | Also known as "preview text", this is the block block of text that users see next to, or underneath, the subject line in their inbox.                                                                                                                                                                                                                                                                    |
| `queue_draft`               | boolean | No       | —       | If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.                                                                                                                                                                                                                        |
| `reply_to`                  | string  | No       | —       | The address that recipients can reply to, if different from the `from` address.                                                                                                                                                                                                                                                                                                                          |
| `send_at`                   | integer | No       | —       | A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.                                                                                                                                                                                                      |
| `send_to_unsubscribed`      | boolean | No       | —       | If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `subject`                   | string  | No       | —       | The subject line for your message. If you provide `transactional_message_id`, this overrides the template's subject.                                                                                                                                                                                                                                                                                     |
| `to`                        | string  | Yes      | —       | The recipients you want to send to, separated by commas. You can include up to 15 total recipients across `to`, `cc`, and `bcc`, with optional display names in quotes.                                                                                                                                                                                                                                  |
| `tracked`                   | boolean | No       | —       | If true, Customer.io tracks opens and link clicks in your message.                                                                                                                                                                                                                                                                                                                                       |
| `transactional_message_id`  | object  | No       | —       | The transactional message template you want to use. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive).                                                                                                                                                                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "X-Workspace-Id": {
        "type": "integer",
        "description": "The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace."
      },
      "attachments": {
        "type": "object",
        "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The filename must include the extension (i.e. `name.csv`). The total size of all attachments must be less than 2 MB.",
        "properties": {
          "<file-name>": {
            "type": "string",
            "description": "The <file-name> value"
          }
        }
      },
      "auto_create": {
        "type": "boolean",
        "description": "If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See [details](/journeys/transactional-email/#auto-create-transactional-message-records)."
      },
      "bcc": {
        "type": "string",
        "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to`, `cc`, and `bcc` keys."
      },
      "body": {
        "type": "string",
        "description": "The HTML body of your message. If you provide a `transactional_message_id`, this overrides the template's body. It's also the fallback when you send AMP email (`body_amp`) to a client that doesn't support AMP."
      },
      "body_amp": {
        "type": "string",
        "description": "AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're [set up to send AMP](/journeys/channels/email/layouts/amp-for-email/) first."
      },
      "body_plain": {
        "type": "string",
        "description": "The plaintext body of your message. If you provide `transactional_message_id`, this overrides the template's plaintext body."
      },
      "cc": {
        "type": "string",
        "description": "Carbon copy message recipients, separated by commas. Unlike BCC recipients, CC recipients are visible to everyone who receives the message. Their opens, clicks, and bounces count toward your message metrics. CC recipients count toward the limit of 15 total recipients across the `to`, `cc`, and `bcc` keys."
      },
      "disable_css_preprocessing": {
        "type": "boolean",
        "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
      },
      "disable_message_retention": {
        "type": "boolean",
        "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "fake_bcc": {
        "type": "boolean",
        "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es)."
      },
      "from": {
        "type": "string",
        "description": "The address your email is from. It must be a [verified sender](/journeys/channels/email/deliverability/authentication/). Quote any display name, like `\\\"Person\\\" <person@example.com>`. This overrides the template's sender; omit it to use the template or your workspace default."
      },
      "headers": {
        "type": "string",
        "description": "A JSON string containing header objects with `name` and `value`. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers."
      },
      "identifiers": {
        "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
      },
      "language": {
        "type": "string",
        "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](/journeys/channels/localization/getting-started/#supported-languages)."
      },
      "message_data": {
        "type": "object",
        "description": "An object containing the key-value pairs referenced using liquid in your message."
      },
      "preheader": {
        "type": "string",
        "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
      },
      "queue_draft": {
        "type": "boolean",
        "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
      },
      "reply_to": {
        "type": "string",
        "description": "The address that recipients can reply to, if different from the `from` address."
      },
      "send_at": {
        "type": "integer",
        "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
      },
      "send_to_unsubscribed": {
        "type": "boolean",
        "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "subject": {
        "type": "string",
        "description": "The subject line for your message. If you provide `transactional_message_id`, this overrides the template's subject."
      },
      "to": {
        "type": "string",
        "description": "The recipients you want to send to, separated by commas. You can include up to 15 total recipients across `to`, `cc`, and `bcc`, with optional display names in quotes."
      },
      "tracked": {
        "type": "boolean",
        "description": "If true, Customer.io tracks opens and link clicks in your message."
      },
      "transactional_message_id": {
        "description": "The transactional message template you want to use. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive)."
      }
    },
    "required": [
      "PCID",
      "to"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_in\_app

Send a transactional in-app message

**Parameters:**

| Parameter                   | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Workspace-Id`            | integer | No       | —       | The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace. |
| `auto_create`               | boolean | No       | —       | Accepted for in-app sends, but of limited use. An auto-created record has no content or layout until you populate it in the UI, so we recommend creating the in-app message in the UI instead. Your `transactional_message_id` must be a new string.                                                                                                                                                     |
| `disable_message_retention` | boolean | No       | —       | If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `identifiers`               | object  | Yes      | —       | Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`.                                                                                                                                                                                                                                                                                  |
| `language`                  | string  | No       | —       | Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.                                                                                                                                                                                                                                               |
| `message_data`              | object  | No       | —       | An object containing the key-value pairs referenced using liquid in the format `&#123;&#123;trigger.&lt;property_name&gt;&#125;&#125;` in your in-app message. These values populate the `properties` field in the message that the SDK delivers to your application.                                                                                                                                    |
| `queue_draft`               | boolean | No       | —       | If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.                                                                                                                                                                                                                        |
| `send_at`                   | integer | No       | —       | A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.                                                                                                                                                                                                      |
| `send_to_unsubscribed`      | boolean | No       | —       | If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `transactional_message_id`  | object  | Yes      | —       | The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive).                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "X-Workspace-Id": {
        "type": "integer",
        "description": "The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace."
      },
      "auto_create": {
        "type": "boolean",
        "description": "Accepted for in-app sends, but of limited use. An auto-created record has no content or layout until you populate it in the UI, so we recommend [creating the in-app message in the UI](/journeys/send/transactional/in-app/) instead. Your `transactional_message_id` must be a new string."
      },
      "disable_message_retention": {
        "type": "boolean",
        "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "identifiers": {
        "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
      },
      "language": {
        "type": "string",
        "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](/journeys/channels/localization/getting-started/#supported-languages)."
      },
      "message_data": {
        "type": "object",
        "description": "An object containing the key-value pairs referenced using liquid in the format `{{trigger.<property_name>}}` in your in-app message. These values populate the `properties` field in the message that the SDK delivers to your application."
      },
      "queue_draft": {
        "type": "boolean",
        "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
      },
      "send_at": {
        "type": "integer",
        "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
      },
      "send_to_unsubscribed": {
        "type": "boolean",
        "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "transactional_message_id": {
        "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive)."
      }
    },
    "required": [
      "PCID",
      "identifiers",
      "transactional_message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_inbox\_message

Send a transactional inbox message

**Parameters:**

| Parameter                   | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Workspace-Id`            | integer | No       | —       | The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace. |
| `auto_create`               | boolean | No       | —       | Accepted for inbox sends, but of limited use. An auto-created record has no content or layout until you populate it in the UI, so we recommend creating the inbox message in the UI instead. Your `transactional_message_id` must be a new string.                                                                                                                                                       |
| `disable_message_retention` | boolean | No       | —       | If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `identifiers`               | object  | Yes      | —       | Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`.                                                                                                                                                                                                                                                                                  |
| `language`                  | string  | No       | —       | Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.                                                                                                                                                                                                                                               |
| `message_data`              | object  | No       | —       | An object containing the key-value pairs referenced using liquid in the format `&#123;&#123;trigger.&lt;property_name&gt;&#125;&#125;` in your inbox message. These values will populate the `properties` field in the message received by your application.                                                                                                                                             |
| `queue_draft`               | boolean | No       | —       | If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.                                                                                                                                                                                                                        |
| `send_at`                   | integer | No       | —       | A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.                                                                                                                                                                                                      |
| `send_to_unsubscribed`      | boolean | No       | —       | If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `to`                        | string  | No       | —       | Optional override for the recipient. This is typically not needed as the message is sent to the person identified by `identifiers`.                                                                                                                                                                                                                                                                      |
| `transactional_message_id`  | object  | Yes      | —       | The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive).                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "X-Workspace-Id": {
        "type": "integer",
        "description": "The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace."
      },
      "auto_create": {
        "type": "boolean",
        "description": "Accepted for inbox sends, but of limited use. An auto-created record has no content or layout until you populate it in the UI, so we recommend [creating the inbox message in the UI](/journeys/channels/in-app/inbox/send-inbox-txnl/) instead. Your `transactional_message_id` must be a new string."
      },
      "disable_message_retention": {
        "type": "boolean",
        "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "identifiers": {
        "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
      },
      "language": {
        "type": "string",
        "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](/journeys/channels/localization/getting-started/#supported-languages)."
      },
      "message_data": {
        "type": "object",
        "description": "An object containing the key-value pairs referenced using liquid in the format `{{trigger.<property_name>}}` in your inbox message. These values will populate the `properties` field in the message received by your application."
      },
      "queue_draft": {
        "type": "boolean",
        "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
      },
      "send_at": {
        "type": "integer",
        "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
      },
      "send_to_unsubscribed": {
        "type": "boolean",
        "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "to": {
        "type": "string",
        "description": "Optional override for the recipient. This is typically not needed as the message is sent to the person identified by `identifiers`."
      },
      "transactional_message_id": {
        "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive)."
      }
    },
    "required": [
      "PCID",
      "identifiers",
      "transactional_message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_newsletter

Send a newsletter

**Parameters:**

| Parameter                | Type    | Required | Default | Description                                                                                                                                                                                      |
| ------------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `newsletter_id`          | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                  |
| `rate_limit_email_rate`  | integer | No       | —       | Maximum number of messages per time period. **NOTE:** Though this states `email_rate`, you can use this for other message channels. Only fixed rate limits are supported, not daily ramp limits. |
| `rate_limit_spread`      | boolean | No       | —       | When `true`, spreads messages evenly across the time period. Otherwise, it sends as fast as possible up to the limit in each period.                                                             |
| `rate_limit_time_period` | integer | No       | —       | Time period in seconds for rate limiting. Must be one of 60 (minute), 3600 (hour), or 86400 (day).                                                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "rate_limit_email_rate": {
        "type": "integer",
        "description": "Maximum number of messages per time period. **NOTE:** Though this states `email_rate`, you can use this for other message channels. Only fixed rate limits are supported, not [daily ramp limits](/journeys/send/broadcasts/newsletters/#daily-ramp)."
      },
      "rate_limit_spread": {
        "type": "boolean",
        "description": "When `true`, spreads messages evenly across the time period. Otherwise, it sends as fast as possible up to the limit in each period."
      },
      "rate_limit_time_period": {
        "type": "integer",
        "description": "Time period in seconds for rate limiting. Must be one of 60 (minute), 3600 (hour), or 86400 (day).",
        "enum": [
          60,
          3600,
          86400
        ]
      }
    },
    "required": [
      "PCID",
      "newsletter_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_push

Send a transactional push

**Parameters:**

| Parameter                   | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Workspace-Id`            | integer | No       | —       | The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace. |
| `auto_create`               | boolean | No       | —       | If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See details.                                                                                               |
| `custom_data`               | object  | No       | —       | Optional key/value pairs you want to attach to the push payload. Firebase only supports string values. This overrides the Custom Data from your transactional template.                                                                                                                                                                                                                                  |
| `custom_device`             | object  | No       | —       | A device to perform an upsert operation at the time of send. The device will be added/updated on the profile from the Identifiers block.                                                                                                                                                                                                                                                                 |
| `custom_payload`            | object  | No       | —       | Optional key/value pairs you want to attach to the push payload. Firebase only supports string values. This overrides all other payload values, including the Custom Payload from your transactional template.                                                                                                                                                                                           |
| `disable_message_retention` | boolean | No       | —       | If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `identifiers`               | object  | Yes      | —       | Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`.                                                                                                                                                                                                                                                                                  |
| `image_url`                 | string  | No       | —       | An image URL to show in the push. This overrides Image from the transactional template (referenced by `transactional_message_id`).                                                                                                                                                                                                                                                                       |
| `language`                  | string  | No       | —       | Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.                                                                                                                                                                                                                                               |
| `link`                      | string  | No       | —       | A deep link to open when the push is tapped. This overrides Link from the transactional template (referenced by `transactional_message_id`).                                                                                                                                                                                                                                                             |
| `message`                   | string  | No       | —       | The message body for your notification. This overrides the notification body of the transactional template (referenced by `transactional_message_id`).                                                                                                                                                                                                                                                   |
| `message_data`              | object  | No       | —       | An object containing the key-value pairs referenced using liquid in your message.                                                                                                                                                                                                                                                                                                                        |
| `queue_draft`               | boolean | No       | —       | If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.                                                                                                                                                                                                                        |
| `send_at`                   | integer | No       | —       | A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.                                                                                                                                                                                                      |
| `send_to_unsubscribed`      | boolean | No       | —       | If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `sound`                     | string  | No       | —       | **For iOS Only**: your notification can alert users with the device's default notification sound or play no sound at all.                                                                                                                                                                                                                                                                                |
| `title`                     | string  | No       | —       | The title for your notification. This overrides the title of the transactional template (referenced by `transactional_message_id`).                                                                                                                                                                                                                                                                      |
| `to`                        | string  | Yes      | —       | The devices you want to send this push to—`all`, `last_used`, or a custom device token from the identified profile. Defaults to `all` and overrides the `To` value from your transactional template.                                                                                                                                                                                                     |
| `transactional_message_id`  | object  | Yes      | —       | The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive).                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "X-Workspace-Id": {
        "type": "integer",
        "description": "The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace."
      },
      "auto_create": {
        "type": "boolean",
        "description": "If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See [details](/journeys/transactional-email/#auto-create-transactional-message-records)."
      },
      "custom_data": {
        "type": "object",
        "description": "Optional key/value pairs you want to attach to the push payload. Firebase only supports string values. This overrides the Custom Data from your transactional template."
      },
      "custom_device": {
        "description": "A device to perform an upsert operation at the time of send. The device will be added/updated on the profile from the Identifiers block."
      },
      "custom_payload": {
        "type": "object",
        "description": "Optional key/value pairs you want to attach to the push payload. Firebase only supports string values. This overrides all other payload values, including the Custom Payload from your transactional template.",
        "properties": {
          "ios": {
            "description": "Your payload changes depending on whether you send to iOS devices through Google's Firebase Cloud Messaging (FCM) or Apple's Push Notification service (APNs)."
          },
          "android": {
            "type": "object",
            "description": "A custom push payload for Android devices."
          }
        }
      },
      "disable_message_retention": {
        "type": "boolean",
        "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "identifiers": {
        "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
      },
      "image_url": {
        "type": "string",
        "description": "An image URL to show in the push. This overrides Image from the transactional template (referenced by `transactional_message_id`)."
      },
      "language": {
        "type": "string",
        "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](/journeys/channels/localization/getting-started/#supported-languages)."
      },
      "link": {
        "type": "string",
        "description": "A deep link to open when the push is tapped. This overrides Link from the transactional template (referenced by `transactional_message_id`)."
      },
      "message": {
        "type": "string",
        "description": "The message body for your notification. This overrides the notification body of the transactional template (referenced by `transactional_message_id`)."
      },
      "message_data": {
        "type": "object",
        "description": "An object containing the key-value pairs referenced using liquid in your message."
      },
      "queue_draft": {
        "type": "boolean",
        "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
      },
      "send_at": {
        "type": "integer",
        "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
      },
      "send_to_unsubscribed": {
        "type": "boolean",
        "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "sound": {
        "type": "string",
        "description": "**For iOS Only**: your notification can alert users with the device's default notification sound or play no sound at all.",
        "enum": [
          "default",
          "none"
        ]
      },
      "title": {
        "type": "string",
        "description": "The title for your notification. This overrides the title of the transactional template (referenced by `transactional_message_id`)."
      },
      "to": {
        "type": "string",
        "description": "The devices you want to send this push to—`all`, `last_used`, or a custom device token from the identified profile. Defaults to `all` and overrides the `To` value from your transactional template.",
        "enum": [
          "all",
          "last_used",
          "$device_token"
        ]
      },
      "transactional_message_id": {
        "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive)."
      }
    },
    "required": [
      "PCID",
      "identifiers",
      "to",
      "transactional_message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_send\_sms

Send a transactional SMS

**Parameters:**

| Parameter                   | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Workspace-Id`            | integer | No       | —       | The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace. |
| `auto_create`               | boolean | No       | —       | If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See details.                                                                                               |
| `disable_message_retention` | boolean | No       | —       | If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `from`                      | string  | No       | —       | The phone number or sender ID your SMS is from. It must be verified in your Twilio account. This overrides the template's sender. Use E.164 format for a phone number.                                                                                                                                                                                                                                   |
| `identifiers`               | object  | Yes      | —       | Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`.                                                                                                                                                                                                                                                                                  |
| `language`                  | string  | No       | —       | Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.                                                                                                                                                                                                                                               |
| `message_data`              | object  | No       | —       | An object containing the key-value pairs referenced using liquid in your message.                                                                                                                                                                                                                                                                                                                        |
| `queue_draft`               | boolean | No       | —       | If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.                                                                                                                                                                                                                        |
| `send_at`                   | integer | No       | —       | A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.                                                                                                                                                                                                      |
| `send_to_unsubscribed`      | boolean | No       | —       | If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`.                                                                                                                                                                                                                                            |
| `to`                        | string  | Yes      | —       | The phone number you want to send your SMS to. Use E.164 format, like `+15551234567`, or Liquid if you store phone numbers as attributes.                                                                                                                                                                                                                                                                |
| `transactional_message_id`  | object  | Yes      | —       | The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive).                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "X-Workspace-Id": {
        "type": "integer",
        "description": "The numeric ID of the workspace you want to send a message in. This header is only needed when you authenticate with a service-account bearer token (`sa_live_…`). Service accounts work across workspaces, so you must supply this header so we know which workspace to send from. You can omit this header when you authenticate with a standard App API key, which is always scoped to one workspace."
      },
      "auto_create": {
        "type": "boolean",
        "description": "If `true` and your `transactional_message_id` doesn't match a record, Customer.io creates an empty record using that value as the *Trigger Name*. The ID must be a string. If the name already belongs to another channel, the request fails with `400`, and numeric IDs ignore this setting. See [details](/journeys/transactional-email/#auto-create-transactional-message-records)."
      },
      "disable_message_retention": {
        "type": "boolean",
        "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "from": {
        "type": "string",
        "description": "The phone number or sender ID your SMS is from. It must be verified in your Twilio account. This overrides the template's sender. Use E.164 format for a phone number."
      },
      "identifiers": {
        "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
      },
      "language": {
        "type": "string",
        "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](/journeys/channels/localization/getting-started/#supported-languages)."
      },
      "message_data": {
        "type": "object",
        "description": "An object containing the key-value pairs referenced using liquid in your message."
      },
      "queue_draft": {
        "type": "boolean",
        "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
      },
      "send_at": {
        "type": "integer",
        "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
      },
      "send_to_unsubscribed": {
        "type": "boolean",
        "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
      },
      "to": {
        "type": "string",
        "description": "The phone number you want to send your SMS to. Use E.164 format, like `+15551234567`, or Liquid if you store phone numbers as attributes."
      },
      "transactional_message_id": {
        "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned to the template in the UI (case insensitive)."
      }
    },
    "required": [
      "PCID",
      "identifiers",
      "to",
      "transactional_message_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_transactional\_links

Get transactional message link metrics

**Parameters:**

| Parameter          | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| ------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `transactional_id` | integer | Yes      | —       | 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`           | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                           |
| `steps`            | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month. |
| `unique`           | boolean | No       | —       | 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.                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      },
      "unique": {
        "type": "boolean",
        "description": "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."
      }
    },
    "required": [
      "PCID",
      "transactional_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_transactional\_messages

Get transactional message deliveries

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                                                                                                                                                                                      |
| ----------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `transactional_id`      | integer | Yes      | —       | 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`                 | string  | No       | —       | 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`                 | integer | No       | —       | The maximum number of results you want to retrieve per page.                                                                                                                                                                                     |
| `metric`                | string  | No       | —       | Determines the metric(s) you want to return.                                                                                                                                                                                                     |
| `state`                 | string  | No       | —       | The state of a broadcast.                                                                                                                                                                                                                        |
| `start_ts`              | integer | No       | —       | The beginning timestamp for your query.                                                                                                                                                                                                          |
| `end_ts`                | integer | No       | —       | The ending timestamp for your query.                                                                                                                                                                                                             |
| `get_tracked_responses` | boolean | No       | —       | If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses.                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "string",
        "description": "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": {
        "type": "integer",
        "description": "The maximum number of results you want to retrieve per page."
      },
      "metric": {
        "type": "string",
        "description": "Determines the metric(s) you want to return.",
        "enum": [
          "attempted",
          "sent",
          "delivered",
          "opened",
          "clicked",
          "converted",
          "bounced",
          "spammed",
          "unsubscribed",
          "dropped",
          "failed",
          "undeliverable"
        ]
      },
      "state": {
        "type": "string",
        "description": "The state of a broadcast.",
        "enum": [
          "failed",
          "sent",
          "drafted",
          "attempted"
        ]
      },
      "start_ts": {
        "type": "integer",
        "description": "The beginning timestamp for your query."
      },
      "end_ts": {
        "type": "integer",
        "description": "The ending timestamp for your query."
      },
      "get_tracked_responses": {
        "type": "boolean",
        "description": "If true, the response includes `tracked_responses` for each message—an object containing tracked response option names for in-app survey responses."
      }
    },
    "required": [
      "PCID",
      "transactional_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_transactional\_metrics

Get transactional message metrics

**Parameters:**

| Parameter          | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| ------------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `transactional_id` | integer | Yes      | —       | 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`           | string  | No       | —       | The unit of time for your report.                                                                                                                                                                                                                                                           |
| `steps`            | integer | No       | —       | 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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "string",
        "description": "The unit of time for your report.",
        "enum": [
          "hours",
          "days",
          "weeks",
          "months"
        ]
      },
      "steps": {
        "type": "integer",
        "description": "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 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month."
      }
    },
    "required": [
      "PCID",
      "transactional_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_trigger\_broadcast

Send an API-triggered broadcast

**Parameters:**

| Parameter      | Type    | Required | Default | Description                                       |
| -------------- | ------- | -------- | ------- | ------------------------------------------------- |
| `broadcast_id` | integer | Yes      | —       | The ID of the broadcast that you want to trigger. |
| `body`         | object  | No       | —       | Request body                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "broadcast_id": {
        "type": "integer",
        "description": "The ID of the broadcast that you want to trigger."
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "broadcast_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_update\_newsletter\_test\_translation

Update a translation in a newsletter test group

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `test_group_id` | string  | Yes      | —       | The ID of the A/B test group.                                                                                                                                                            |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |
| `body`          | object  | No       | —       | Request body                                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "test_group_id": {
        "type": "string",
        "description": "The ID of the A/B test group."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "test_group_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_update\_newsletter\_variant

Update a newsletter variant

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                    |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                                                                                                                                |
| `content_id`    | integer | Yes      | —       | The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use List variants of a newsletter to find the `content_id` associated with the right variant. |
| `body`          | object  | No       | —       | Request body                                                                                                                                                                                                                                                                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "content_id": {
        "type": "integer",
        "description": "The identifier of a message in a newsletter. If your newsletter has an A/B test group or includes multiple languages, each variant has its own `content_id`, separate from the `newsletter_id`.  Use [List variants of a newsletter](#tag/newsletter-variants/listNewsletterVariants) to find the `content_id` associated with the right variant."
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "content_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_update\_newsletter\_variant\_translation

Update a translation of a newsletter

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                              |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `newsletter_id` | integer | Yes      | —       | The identifier of a newsletter.                                                                                                                                                          |
| `language`      | string  | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error. |
| `body`          | object  | No       | —       | Request body                                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "newsletter_id": {
        "type": "integer",
        "description": "The identifier of a newsletter."
      },
      "language": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "newsletter_id",
      "language"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_update\_transactional

Update a transactional message

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                                                                                                                                                                                                                      |                                                                                                         |
| ------------------ | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |
| `transactional_id` | integer   | Yes      | —       | 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`       | integer   | Yes      | —       | 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.    |                                                                                                         |
| `bcc`              | string    | No       | —       | The blind-copy address(es) for this action.                                                                                                                                                                                                      |                                                                                                         |
| `body`             | string    | No       | —       | The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor.                                                                                                                               |                                                                                                         |
| `body_amp`         | string    | No       | —       | AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're set up to send AMP first.                                                                      |                                                                                                         |
| `cc`               | string    | No       | —       | The carbon-copy address(es) for this action.                                                                                                                                                                                                     |                                                                                                         |
| `created`          | integer   | No       | —       | The date time when the referenced ID was created.                                                                                                                                                                                                |                                                                                                         |
| `fake_bcc`         | boolean   | No       | —       | If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).                                                                                   |                                                                                                         |
| `from`             | string    | No       | —       | The address that the message is from, relevant if the action `type` is `email`.                                                                                                                                                                  |                                                                                                         |
| `from_id`          | integer   | No       | —       | The identifier of the `from` address, commonly known as the "sender". Use List sender identities to find valid IDs.                                                                                                                              |                                                                                                         |
| `headers`          | object\[] | No       | —       | Headers you want to add or update. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers.                                                                                               |                                                                                                         |
| `id`               | integer   | No       | —       | The identifier for an action.                                                                                                                                                                                                                    |                                                                                                         |
| `language`         | string    | No       | —       | The language variant for your message. If you don't use our localization feature, or this is the default message, this value is an empty string.                                                                                                 |                                                                                                         |
| `name`             | string    | No       | —       | The name of the transactional message.                                                                                                                                                                                                           |                                                                                                         |
| `preheader_text`   | string    | No       | —       | Also known as "preview text", this is the small block of text shown in an email inbox next to or underneath the subject line.                                                                                                                    |                                                                                                         |
| `preprocessor`     | string    | No       | —       | By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor.                                                               |                                                                                                         |
| `recipient`        | string    | No       | —       | The recipient address for an action.                                                                                                                                                                                                             |                                                                                                         |
| `reply_to`         | string    | No       | —       | The address that receives replies for the message, if applicable.                                                                                                                                                                                |                                                                                                         |
| `reply_to_id`      | integer   | null     | No      | —                                                                                                                                                                                                                                                | The identifier for the `reply_to` address, if applicable. Use List sender identities to find valid IDs. |
| `subject`          | string    | No       | —       | The subject line for an `email` action.                                                                                                                                                                                                          |                                                                                                         |
| `type`             | string    | No       | —       | The type of message.                                                                                                                                                                                                                             |                                                                                                         |
| `updated`          | integer   | No       | —       | The date time when the referenced ID was last updated.                                                                                                                                                                                           |                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "integer",
        "description": "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."
      },
      "bcc": {
        "type": "string",
        "description": "The blind-copy address(es) for this action."
      },
      "body": {
        "type": "string",
        "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
      },
      "body_amp": {
        "type": "string",
        "description": "AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're [set up to send AMP](/journeys/channels/email/layouts/amp-for-email/) first."
      },
      "cc": {
        "type": "string",
        "description": "The carbon-copy address(es) for this action."
      },
      "created": {
        "type": "integer",
        "description": "The date time when the referenced ID was created."
      },
      "fake_bcc": {
        "type": "boolean",
        "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es)."
      },
      "from": {
        "type": "string",
        "description": "The address that the message is from, relevant if the action `type` is `email`."
      },
      "from_id": {
        "type": "integer",
        "description": "The identifier of the `from` address, commonly known as the \"sender\". Use [List sender identities](#tag/sender-identities/listSenders) to find valid IDs."
      },
      "headers": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the header."
            },
            "value": {
              "type": "string",
              "description": "The value of the header."
            }
          }
        },
        "description": "Headers you want to add or update. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers."
      },
      "id": {
        "type": "integer",
        "description": "The identifier for an action."
      },
      "language": {
        "type": "string",
        "description": "The language variant for your message. If you don't use our [localization feature](/journeys/channels/localization/getting-started), or this is the default message, this value is an empty string."
      },
      "name": {
        "type": "string",
        "description": "The name of the transactional message."
      },
      "preheader_text": {
        "type": "string",
        "description": "[Also known as \"preview text\"](/journeys/channels/email/headers/custom-preheader-text/), this is the small block of text shown in an email inbox next to or underneath the subject line."
      },
      "preprocessor": {
        "type": "string",
        "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor.",
        "enum": [
          "premailer"
        ]
      },
      "recipient": {
        "type": "string",
        "description": "The recipient address for an action."
      },
      "reply_to": {
        "type": "string",
        "description": "The address that receives replies for the message, if applicable."
      },
      "reply_to_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The identifier for the `reply_to` address, if applicable. Use [List sender identities](#tag/sender-identities/listSenders) to find valid IDs."
      },
      "subject": {
        "type": "string",
        "description": "The subject line for an `email` action."
      },
      "type": {
        "type": "string",
        "description": "The type of message.",
        "enum": [
          "email",
          "push"
        ]
      },
      "updated": {
        "type": "integer",
        "description": "The date time when the referenced ID was last updated."
      }
    },
    "required": [
      "PCID",
      "transactional_id",
      "content_id"
    ]
  }
  ```
</Expandable>

***

## customerio\_messaging\_update\_transactional\_variant

Update a translation of a transactional message

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                                                                                                                                                                                                                      |                                                                                                         |
| ------------------ | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |
| `transactional_id` | integer   | Yes      | —       | 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`         | string    | Yes      | —       | A language tag of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error.                                                         |                                                                                                         |
| `bcc`              | string    | No       | —       | The blind-copy address(es) for this action.                                                                                                                                                                                                      |                                                                                                         |
| `body`             | string    | No       | —       | The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor.                                                                                                                               |                                                                                                         |
| `body_amp`         | string    | No       | —       | AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're set up to send AMP first.                                                                      |                                                                                                         |
| `cc`               | string    | No       | —       | The carbon-copy address(es) for this action.                                                                                                                                                                                                     |                                                                                                         |
| `created`          | integer   | No       | —       | The date time when the referenced ID was created.                                                                                                                                                                                                |                                                                                                         |
| `fake_bcc`         | boolean   | No       | —       | If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).                                                                                   |                                                                                                         |
| `from`             | string    | No       | —       | The address that the message is from, relevant if the action `type` is `email`.                                                                                                                                                                  |                                                                                                         |
| `from_id`          | integer   | No       | —       | The identifier of the `from` address, commonly known as the "sender". Use List sender identities to find valid IDs.                                                                                                                              |                                                                                                         |
| `headers`          | object\[] | No       | —       | Headers you want to add or update. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers.                                                                                               |                                                                                                         |
| `id`               | integer   | No       | —       | The identifier for an action.                                                                                                                                                                                                                    |                                                                                                         |
| `name`             | string    | No       | —       | The name of the transactional message.                                                                                                                                                                                                           |                                                                                                         |
| `preheader_text`   | string    | No       | —       | Also known as "preview text", this is the small block of text shown in an email inbox next to or underneath the subject line.                                                                                                                    |                                                                                                         |
| `preprocessor`     | string    | No       | —       | By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor.                                                               |                                                                                                         |
| `recipient`        | string    | No       | —       | The recipient address for an action.                                                                                                                                                                                                             |                                                                                                         |
| `reply_to`         | string    | No       | —       | The address that receives replies for the message, if applicable.                                                                                                                                                                                |                                                                                                         |
| `reply_to_id`      | integer   | null     | No      | —                                                                                                                                                                                                                                                | The identifier for the `reply_to` address, if applicable. Use List sender identities to find valid IDs. |
| `subject`          | string    | No       | —       | The subject line for an `email` action.                                                                                                                                                                                                          |                                                                                                         |
| `type`             | string    | No       | —       | The type of message.                                                                                                                                                                                                                             |                                                                                                         |
| `updated`          | integer   | No       | —       | The date time when the referenced ID was last updated.                                                                                                                                                                                           |                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "transactional_id": {
        "type": "integer",
        "description": "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": {
        "type": "string",
        "description": "A [language tag](/journeys/channels/subscriptions/unsubscribe-faqs/#currently-supported-languages) of a language variant. If you don't provide a language (an empty string), we'll use your default language. If the language variant does not exist, we'll return an error."
      },
      "bcc": {
        "type": "string",
        "description": "The blind-copy address(es) for this action."
      },
      "body": {
        "type": "string",
        "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
      },
      "body_amp": {
        "type": "string",
        "description": "AMP-enabled content for your email. If a recipient's email client doesn't support AMP, they receive your `body` content instead. Make sure you're [set up to send AMP](/journeys/channels/email/layouts/amp-for-email/) first."
      },
      "cc": {
        "type": "string",
        "description": "The carbon-copy address(es) for this action."
      },
      "created": {
        "type": "integer",
        "description": "The date time when the referenced ID was created."
      },
      "fake_bcc": {
        "type": "boolean",
        "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es)."
      },
      "from": {
        "type": "string",
        "description": "The address that the message is from, relevant if the action `type` is `email`."
      },
      "from_id": {
        "type": "integer",
        "description": "The identifier of the `from` address, commonly known as the \"sender\". Use [List sender identities](#tag/sender-identities/listSenders) to find valid IDs."
      },
      "headers": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the header."
            },
            "value": {
              "type": "string",
              "description": "The value of the header."
            }
          }
        },
        "description": "Headers you want to add or update. Names and values must be strings, with no non-ASCII characters or spaces. You can't overwrite reserved headers."
      },
      "id": {
        "type": "integer",
        "description": "The identifier for an action."
      },
      "name": {
        "type": "string",
        "description": "The name of the transactional message."
      },
      "preheader_text": {
        "type": "string",
        "description": "[Also known as \"preview text\"](/journeys/channels/email/headers/custom-preheader-text/), this is the small block of text shown in an email inbox next to or underneath the subject line."
      },
      "preprocessor": {
        "type": "string",
        "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor.",
        "enum": [
          "premailer"
        ]
      },
      "recipient": {
        "type": "string",
        "description": "The recipient address for an action."
      },
      "reply_to": {
        "type": "string",
        "description": "The address that receives replies for the message, if applicable."
      },
      "reply_to_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The identifier for the `reply_to` address, if applicable. Use [List sender identities](#tag/sender-identities/listSenders) to find valid IDs."
      },
      "subject": {
        "type": "string",
        "description": "The subject line for an `email` action."
      },
      "type": {
        "type": "string",
        "description": "The type of message.",
        "enum": [
          "email",
          "push"
        ]
      },
      "updated": {
        "type": "integer",
        "description": "The date time when the referenced ID was last updated."
      }
    },
    "required": [
      "PCID",
      "transactional_id",
      "language"
    ]
  }
  ```
</Expandable>
