---
title: "Preview newsletter draft"
method: POST
path: "/newsletters/{id}/preview"
tags: ["Newsletters"]
---

# Preview newsletter draft

`POST /newsletters/{id}/preview`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/newsletters/{id}/preview`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://shipmail.to/api/auth/oauth2/authorize`, token URL `https://shipmail.to/api/auth/oauth2/token`)

## Path parameters

- `id` string, required

## Headers

- `X-Shipmail-Organization` string

## Response `200`

Newsletter preview.

- NewsletterPreview
  - `object` 'newsletter_preview', required
  - `newsletter_id` string, required
  - `html` string, required
  - `archive_html` string, required
  - `text` string, required
  - `warnings` NewsletterPreviewWarning[], required
    - `kind` string, required
    - `severity` 'fail' | 'warn', required
    - `message` string, required
  - `url_breakdown` NewsletterUrlBreakdown, required
    - `href_count` integer, required
    - `image_src_count` integer, required
    - `video_href_count` integer, required
    - `text_url_count` integer, required
    - `unique_url_count` integer, required
    - `max_unique_urls` integer, required
    - `urls` NewsletterCountedUrl[], required
      - `url` string, required
      - `source` 'href' | 'image_src' | 'video_href' | 'text', required
    - `offending_urls` string[], required

## Other responses

- `404`: Resource not found.
- `422`: Validation failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/shipmail/apis/shipmail-api.md) · [All operations](https://skmtc.dev/shipmail/apis/shipmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shipmail/apis/shipmail-api/revisions/2c23e59d7e30?raw)
