---
title: "Send a preview of an email message"
method: POST
path: "/v1/email-messages/{emailMessageId}/preview"
tags: ["Email messages"]
---

# Send a preview of an email message

`POST /v1/email-messages/{emailMessageId}/preview`

Send a test preview of an email message to one or more addresses. The accepted variable fields depend on the parent's type - campaign previews accept `contactProperties`, workflow previews accept `contactProperties` and `eventProperties`, and transactional previews accept `dataVariables`. Supplying a field the parent cannot reference is rejected with 400.

## Request body

- EmailMessagePreviewRequest
  - `emails` string[], required — One or more addresses to send the preview to.
  - `contactProperties` object — Contact property values to render. Accepted for campaign and workflow previews.
  - `eventProperties` object — Event property values to render. Accepted for workflow previews only.
  - `dataVariables` object — Transactional data variables to render. Accepted for transactional previews only.

## Response `200`

Preview scheduled.

- EmailMessagePreviewResponse
  - `id` string, required — The ID of the email message the preview was sent for.

## Other responses

- `400` — Invalid request body, or a variable field the parent cannot reference.
- `401` — Invalid API key or content API not enabled for this team.
- `404` — Email message not found.
- `405` — Wrong HTTP request method.
- `429` — The daily preview limit was reached.

## Changes

> 9 revisions in range; 1 not diffed.

- **2026-08-05** `74756bcb2e9e` — 1 info
  - api operation id `previewEmailMessage` was added

[Change history](https://skmtc.dev/loops/apis/loops-openapi-spec/changes/v1/email-messages/:emailMessageId/preview/post.md)

---

[API](https://skmtc.dev/loops/apis/loops-openapi-spec.md) · [All operations](https://skmtc.dev/loops/apis/loops-openapi-spec/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/loops/loops-openapi-spec/revisions/8bd0098300ec/schema)
