---
title: "Create Draft"
method: POST
path: "/v0/inboxes/{inbox_id}/drafts"
tags: ["InboxesDrafts"]
---

# Create Draft

`POST /v0/inboxes/{inbox_id}/drafts`

Create a draft. Supply `in_reply_to` to create a reply draft (with
`reply_all` to address the whole thread), whose recipients, subject, and
threading are derived from the referenced message, or `forward_of` to
create a forward draft, which derives the subject, threading, and
forwarded content from the source but keeps recipients caller-supplied.

**CLI:**
```bash
agentmail inboxes:drafts create --inbox-id <inbox_id> --to recipient@example.com --subject "Draft subject" --text "Draft body"
```

## Path parameters

- `inbox_id` string, required — The ID of the inbox.

## Request body

- CreateDraftRequest — Body for creating a draft. Supports plain, reply, reply-all, and forward drafts: - **Plain draft:** supply `to`, `subject`, `text`, etc. - **Reply:** set `in_reply_to` to a message ID. Recipients, subject, and threading are derived from that message. Set `reply_all` to address the whole thread (you then cannot also pass `to`, `cc`, or `bcc`). - **Forward:** set `forward_of` to a message ID. The subject and threading are derived from the source message, whose body and attachments are merged in at send time. `in_reply_to` and `forward_of` are mutually exclusive, and reading the referenced message requires `message_read` permission.
  - `labels` string[] — Labels of draft.
  - `reply_to` string[] — Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `to` string[] — Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `cc` string[] — Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `bcc` string[] — Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `subject` string — Subject of draft.
  - `text` string — Plain text body of draft.
  - `html` string — HTML body of draft.
  - `attachments` SendAttachment[], nullable — Attachments to include in draft.
    - `filename` string — Filename of attachment.
    - `content_type` string — Content type of attachment.
    - `content_disposition` 'inline' | 'attachment' — Content disposition of attachment.
    - `content_id` string — Content ID of attachment.
    - `content` string, nullable — Base64 encoded content of attachment.
    - `url` string, nullable — URL to the attachment.
  - `in_reply_to` string — ID of message being replied to.
  - `forward_of` string — ID of message being forwarded.
  - `reply_all` boolean — Reply to all recipients of the original message.
  - `send_at` string, date-time — Time at which to schedule send draft.
  - `client_id` string — Client ID of draft.

## Response `200`

- Draft
  - `inbox_id` string, required — The ID of the inbox.
  - `draft_id` string, required — ID of draft.
  - `client_id` string — Client ID of draft.
  - `labels` string[], required — Labels of draft.
  - `reply_to` string[] — Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `to` string[] — Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `cc` string[] — Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `bcc` string[] — Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.
  - `subject` string — Subject of draft.
  - `preview` string — Text preview of draft.
  - `text` string — Plain text body of draft.
  - `html` string — HTML body of draft.
  - `attachments` Attachment[] — Attachments in draft.
    - `attachment_id` string, required — ID of attachment.
    - `filename` string — Filename of attachment.
    - `size` integer, required — Size of attachment in bytes.
    - `content_type` string — Content type of attachment.
    - `content_disposition` 'inline' | 'attachment' — Content disposition of attachment.
    - `content_id` string — Content ID of attachment.
  - `in_reply_to` string — ID of message being replied to.
  - `forward_of` string — ID of message being forwarded.
  - `references` string[], nullable — IDs of previous messages in thread.
  - `send_status` 'scheduled' | 'sending' | 'failed' — Schedule send status of draft.
  - `send_at` string, date-time — Time at which to schedule send draft.
  - `updated_at` string, date-time, required — Time at which draft was last updated.
  - `created_at` string, date-time, required — Time at which draft was created.

## Other responses

- `400`
- `404`

---

[API](https://skmtc.net/agentmail-to/apis/api.md) · [All operations](https://skmtc.net/agentmail-to/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agentmail-to/api/revisions/394ddcdd9c29/schema)
