---
title: "List open drafts in a mailbox"
method: GET
path: "/api/v1/drafts"
tags: ["drafts"]
---

# List open drafts in a mailbox

`GET /api/v1/drafts`

## Request

- Base URL: `https://postfleet.ai`
- URL: `https://postfleet.ai/api/v1/drafts`
- Auth: HTTP bearer

Lists non-tombstoned, non-terminal drafts for a mailbox. Requires `can_read`.

## Query parameters

- `mailbox_id` string, required

## Response `200`

Drafts.

- object
  - `drafts` Draft[], required
    - `id` string, required
    - `mailbox_id` string, required
    - `status` 'draft' | 'pending_approval' | 'sending' | 'sent' | 'rejected', required
    - `to` string, nullable
    - `subject` string, required
    - `text` string, required
    - `reply_to_message_id` string, nullable
    - `requires_human` boolean, required
    - `thread_id` string, required
    - `created_at` string, required
    - `updated_at` string, required
    - `attachments` object[]: Metadata only — file bytes are not returned.
      - `filename` string, required
      - `content_type` string, required
      - `size_bytes` integer, required
      - `url` string: Present when the draft stored a URL-backed attachment. Bytes are never returned.

## Other responses

- `400`: `mailbox_id` query param required.
- `401`: Missing or invalid bearer token, or a key whose scope is not permitted for this endpoint.
- `403`: Key cannot read drafts, or is scoped to a different mailbox (`code:key_scope`).

---

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