# AgentMail List Drafts

> AgentMail List Drafts is a free API for AI agents from x402.api.agentmail.to, callable via x402, Free, status unknown (last checked 2026-09-15).

Retrieves the list of email drafts stored in the AgentMail system for the authenticated agent

## Facts

- Endpoint: GET https://x402.api.agentmail.to/v0/drafts
- Price: Free
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentmail-f71a188d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__MdUMaKpRrzG9sVYL0EQl

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agentmail-f71a188d
```

Example prompt: Show me all the email drafts saved in my AgentMail account so I can review what's pending before sending.

## When to prefer this

Use this endpoint when an AI agent needs to inspect, review, or enumerate unsent email drafts before sending them, editing them, or auditing communication state. Prefer this over List Threads when you specifically want drafts (not sent/received messages) and over List Inboxes when you want the draft content rather than inbox configuration.

## Known failure modes

- 401 Unauthorized if authentication token is invalid or missing
- 403 Forbidden if agent lacks permission to access drafts
- 404 Not Found if no drafts exist or the organization is not found
- 500 Internal Server Error if the AgentMail service is unavailable
- Empty list returned if no drafts have been saved

## How this service works

List Drafts

## Output

Returns a list of email draft objects, each containing draft metadata such as draft ID, recipient(s), subject, body content, creation timestamp, and associated inbox or thread information.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "after": {
   "type": "string",
   "title": "After",
   "format": "date-time",
   "description": "Timestamp after which to filter by."
  },
  "limit": {
   "type": "integer",
   "title": "Limit",
   "description": "Limit of number of items returned."
  },
  "before": {
   "type": "string",
   "title": "Before",
   "format": "date-time",
   "description": "Timestamp before which to filter by."
  },
  "labels": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Labels",
   "description": "Labels to filter by."
  },
  "ascending": {
   "type": "boolean",
   "title": "Ascending",
   "description": "Sort in ascending temporal order."
  },
  "page_token": {
   "type": "string",
   "title": "PageToken",
   "description": "Page token for pagination."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ListDraftsResponse",
 "required": [
  "count",
  "drafts"
 ],
 "properties": {
  "count": {
   "type": "integer",
   "title": "Count",
   "description": "Number of items returned."
  },
  "limit": {
   "type": "integer",
   "title": "Limit",
   "description": "Limit of number of items returned."
  },
  "drafts": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "DraftItem",
    "required": [
     "inbox_id",
     "draft_id",
     "labels",
     "updated_at"
    ],
    "properties": {
     "cc": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "DraftCc",
      "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
     },
     "to": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "DraftTo",
      "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
     },
     "bcc": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "DraftBcc",
      "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
     },
     "labels": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "DraftLabels",
      "description": "Labels of draft."
     },
     "preview": {
      "type": "string",
      "title": "DraftPreview",
      "description": "Text preview of draft."
     },
     "send_at": {
      "type": "string",
      "title": "DraftSendAt",
      "format": "date-time",
      "description": "Time at which to schedule send draft."
     },
     "subject": {
      "type": "string",
      "title": "DraftSubject",
      "description": "Subject of draft."
     },
     "draft_id": {
      "type": "string",
      "title": "DraftId",
      "description": "ID of draft."
     },
     "inbox_id": {
      "type": "string",
      "title": "InboxId",
      "description": "The ID of the inbox."
     },
     "updated_at": {
      "type": "string",
      "title": "DraftUpdatedAt",
      "format": "date-time",
      "description": "Time at which draft was last updated."
     },
     "attachments": {
      "type": "array",
      "items": {
       "type": "object",
       "title": "Attachment",
       "required": [
        "attachment_id",
        "size"
       ],
       "properties": {
        "size": {

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentmail-f71a188d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.api.agentmail.to](https://www.zero.xyz/host/x402.api.agentmail.to/llms.txt)
