---
title: "Show the message one person gets at one email or LinkedIn step, with their fields and personalized lines filled in: subject, body, sender, recipient, merge fields still missing, warnings, and why the step would be skipped. Nothing is sent, prepared or charged"
method: GET
path: "/campaigns/{sequenceId}/preview"
tags: ["campaigns"]
---

# Show the message one person gets at one email or LinkedIn step, with their fields and personalized lines filled in: subject, body, sender, recipient, merge fields still missing, warnings, and why the step would be skipped. Nothing is sent, prepared or charged

`GET /campaigns/{sequenceId}/preview`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/campaigns/{sequenceId}/preview`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Show the message one person gets at one email or LinkedIn step, with their fields and personalized lines filled in: subject, body, sender, recipient, merge fields still missing, warnings, and why the step would be skipped. Nothing is sent, prepared or charged.

## Path parameters

- `sequenceId` string, required

## Query parameters

- `enrollmentId` string, required: The person to preview, from dench campaign people.
- `stepId` string, required: An email or LinkedIn step, its _id from campaigns.get steps[]. A wait step sends nothing.

## Response `200`

Successful response

- object
  - `channel` 'email' | 'linkedin', required
  - `subject` string: Email steps.
  - `textBody` string: Email steps: plain text.
  - `htmlBody` string: Email steps: HTML.
  - `messageBody` string: LinkedIn steps: the note or message, or a line saying no note or message is sent.
  - `fromName` string: The sending account.
  - `fromEmail` string
  - `toName` string, required
  - `toEmail` string
  - `missingFields` string[], required: {{merge fields}} this person has no value for; fill them with campaigns.people.setField.
  - `warnings` string[], required
  - `skippedReason` string: Set when the person would skip this step, e.g. no email address.
  - `highlights` string[]
  - `personalized` object[]
    - `key` string, required: The line's {{key}}.
    - `label` string, required
    - `value` string, required: What this person gets: the written line, or the fallback.
    - `state` 'written' | 'edited' | 'writing' | 'paused' | 'fallback' | 'not_written', required: written or edited: the line is final. fallback: nothing specific was found, so the fallback is used. writing, paused and not_written: the fallback shows until the line is written.
    - `source` 'company' | 'news' | 'signal' | 'profile' | 'fallback': What the line was written from.
    - `maxChars` number, required
    - `rewriting` 'writing' | 'paused': A new line is being written over the current one.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
