---
title: "Save an outreach draft"
method: PUT
path: "/v3/outreach/drafts/{prospectId}"
tags: ["Outreach"]
---

# Save an outreach draft

`PUT /v3/outreach/drafts/{prospectId}`

Store unsent writing for one prospect, replacing whatever was held before. Merge variables must already be resolved - whatever is sent here is what the user will see and send. Saving an empty subject AND body deletes the draft instead, so clearing the composer does not leave the prospect looking drafted forever. This never sends anything; use outreach_queue_emails for that.

## Path parameters

- `prospectId` string, required

## Request body

- object
  - `subject` string — Subject line, merge variables already resolved.
  - `body` string — Markdown body, merge variables already resolved.
  - `prospectEmailId` string, nullable — Contact on this prospect the draft is addressed to, when one has been chosen.

## Response `200`

Default Response

## Changes

- **2026-09-17** `ea8bce67cd7e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/outreach/drafts/:prospectId/put.md)

---

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