---
title: "Edit a draft"
method: PATCH
path: "/v1/drafts/{draft_id}"
tags: ["Drafts"]
---

# Edit a draft

`PATCH /v1/drafts/{draft_id}`

## Request

- Base URL: `https://api.send0.dev`
- URL: `https://api.send0.dev/v1/drafts/{draft_id}`
- Auth: HTTP bearer

Changes the subject or body of a pending draft before it's approved. Needs an admin key (like approving), so an agent can't change a draft after a person has reviewed it. Decided drafts return 409.

## Path parameters

- `draft_id` string, required

## Request body

- object
  - `subject` string
  - `text` string, nullable
  - `html` string, nullable

## Response `200`

Draft

- Draft
  - `object` 'draft', required
  - `id` string, required
  - `inbox_id` string, required
  - `thread_id` string, nullable, required
  - `status` 'pending' | 'approved' | 'rejected' | 'sent', required
  - `kind` 'new' | 'reply' | 'forward', required
  - `to` Mailbox[], required
    - `name` string, nullable, required
    - `email` string, required
  - `cc` Mailbox[], required
    - `name` string, nullable, required
    - `email` string, required
  - `bcc` Mailbox[], required
    - `name` string, nullable, required
    - `email` string, required
  - `subject` string, required
  - `text` string, nullable, required
  - `html` string, nullable, required
  - `decided_by` string, nullable, required
  - `decided_at` string, date-time, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key
- `403`: Not allowed (scope, policy or account state)
- `404`: Not found, or not visible to this key
- `429`: Rate limit (`rate_limited`, see Retry-After) or daily send limit reached

---

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