---
title: "Run newsletter preflight"
method: POST
path: "/newsletters/{id}/preflight"
tags: ["Newsletters"]
---

# Run newsletter preflight

`POST /newsletters/{id}/preflight`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/newsletters/{id}/preflight`
- 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`

Run newsletter preflight.

- NewsletterPreflight
  - `object` 'newsletter_preflight', required
  - `newsletter_id` string, required
  - `status` 'not_run' | 'passed' | 'warning' | 'failed', required
  - `items` NewsletterPreflightItem[], required
    - `key` string, required
    - `label` string, required
    - `status` 'pass' | 'warn' | 'fail', 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)
