---
title: "List Agent Drafts Page"
method: GET
path: "/api/v1/agents/{agent_id}/drafts/page"
tags: ["agents"]
---

# List Agent Drafts Page

`GET /api/v1/agents/{agent_id}/drafts/page`

Paginated, filterable, priority-sorted view of an agent's drafts for the review queue.

Each draft is classified (flagged / safe / uncertain) so the UI can group, sort by who
needs attention, and power bulk actions — instead of the old flat 500-row, one-at-a-time
list. `status` filters to one of pending/sent/skipped (default: all); `q` searches the
recipient name/email; `sort=priority` (default) puts the highest churn-risk / revenue
recipients first, `sort=recent` falls back to newest-first.

Recipient filters mirror the customer list (same semantics as /customers): `health`
(repeatable, matches any), `plan_tier`, `plan_name` (repeatable; the workspace's own
plan ladder, e.g. from /customers/group-counts?group_by=plan), `lifecycle_stage`
(repeatable), `min_churn_risk` (inclusive) / `max_churn_risk` (exclusive), plus
`has_bug_reports` / `has_replied` (true = at least one; via the denormalized
counters). Any recipient filter implicitly drops drafts whose customer row is gone,
since there is nothing to match against.

## Path parameters

- `agent_id` string, uuid, required

## Query parameters

- `status` string, nullable
- `q` string, nullable
- `sort` string
- `health` string[], nullable
- `plan_tier` string, nullable
- `plan_name` string[], nullable
- `lifecycle_stage` string[], nullable
- `min_churn_risk` number, nullable
- `max_churn_risk` number, nullable
- `has_bug_reports` boolean, nullable
- `has_replied` boolean, nullable
- `opened` boolean, nullable
- `returned` boolean, nullable
- `page` integer — Page number
- `per_page` integer — Items per page

## Headers

- `authorization` string, nullable — Bearer <token>

## Response `200`

Successful Response

- PaginatedEnvelopeDraftResponse
  - `data` DraftResponse[], required
    - `id` string, uuid, required
    - `workspace_id` string, uuid, required
    - `customer_id` string, uuid, required
    - `channel` string, nullable
    - `subject` string, nullable
    - `body` string, required
    - `body_format` string
    - `status` string, required
    - `content_version` integer
    - `generation_context` object, nullable
    - `generated_at` string, date-time, required
    - `sent_at` string, date-time, nullable
    - `reply_received` boolean
    - `reply_at` string, date-time, nullable
    - `customer_name` string, nullable
    - `customer_email` string, nullable
    - `priority_tier` string, nullable
    - `priority_score` number, nullable
    - `opened` boolean, nullable
    - `first_opened_at` string, date-time, nullable
    - `unsubscribed` boolean, nullable
    - `unsubscribed_at` string, date-time, nullable
    - `returned` boolean, nullable
    - `returned_at` string, date-time, nullable
  - `meta` PaginationMeta, required
    - `total` integer, required
    - `page` integer, required
    - `per_page` integer, required
    - `pages` integer, required
    - `next_cursor` string, nullable
    - `has_more` boolean
    - `safe_count` integer, nullable
    - `opened_count` integer, nullable
    - `returned_count` integer, nullable
    - `request_id` string
    - `timestamp` string, date-time

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/minro/apis/minro-cs-platform.md) · [All operations](https://skmtc.dev/minro/apis/minro-cs-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/minro/minro-cs-platform/revisions/eb854265cf29/schema)
