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

# Send a preview of an email message

> Send a test preview of an email message to one or more recipient addresses so you can review the rendered content before publishing or scheduling.

Send a test email message to one or more addresses. Accepted variable fields depend on the parent's type:

* **Campaign** accepts `contactProperties`.
* **Workflow** accepts `contactProperties` and `eventProperties`.
* **Transactional** accepts `dataVariables`.

Supplying a field the parent cannot reference results in a `400 Bad Request` error.

Each team can send up to 100 preview emails per day.

## Request

### Path parameters

<ParamField path="id" type="string" required>
  The ID of the email message.
</ParamField>

### Body

<ParamField body="emails" type="string[]" required>
  One or more addresses to send the preview to.
</ParamField>

<ParamField body="contactProperties" type="object">
  Contact property values to render. Accepted for campaign and workflow
  previews.
</ParamField>

<ParamField body="eventProperties" type="object">
  Event property values to render. Accepted for workflow previews only.
</ParamField>

<ParamField body="dataVariables" type="object">
  Transactional data variables to render. Accepted for transactional previews
  only.
</ParamField>

## Response

### Success

<ResponseField name="id" type="string" required>
  The ID of the email message the preview was sent for.
</ResponseField>

### Error

If the request body is invalid or a variable field the parent cannot reference
was supplied, a `400 Bad Request` is returned.

If the daily preview limit (100 per team per rolling 24 hour window) was reached, a `429 Too Many Requests` is returned.

A `404 Not Found` is returned if the email message does not exist.

If the API key is invalid (or content API is not enabled for your team), a
`401 Unauthorized` is returned.

<ResponseField name="message" type="string" required>
  An error message describing what went wrong.
</ResponseField>

<ResponseExample>
  ```json Response theme={"dark"}
  {
    "id": "cmn5zia4i0017tzli8ric8giv"
  }
  ```

  ```json Error response theme={"dark"}
  {
    "message": "You can send up to 100 preview emails per rolling 24 hours. Please contact support if you need to increase your preview limit."
  }
  ```
</ResponseExample>
