# AgentMail Update Draft

> AgentMail Update Draft is a free API for AI agents from AgentMail at mpp.api.agentmail.to, Free, status unknown (last checked 2026-10-11).

Updates an existing email draft in an AgentMail inbox, allowing modifications to recipients, subject, body, scheduling, and other fields

## Facts

- Endpoint: PATCH https://mpp.api.agentmail.to/v0/inboxes/:inbox_id/drafts/:draft_id?utm_source=zero.xyz
- Price: Free
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Provider: AgentMail
- Docs: https://docs.agentmail.to
- Website: https://agentmail.to
- Tags: email, inboxes, domains, drafts, threads, webhooks, messaging, ai, social
- Canonical page: https://www.zero.xyz/c/agentmail-draft-id-9aa462ca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BCvNH0JhGEp4kKwKIcGSG

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-draft-id-9aa462ca -d '<json body>'
```

Example prompt: Update my draft 'draft_abc123' in inbox 'inbox_xyz456' on AgentMail — change the subject to 'Meeting Follow-Up', update the body text to 'Hi, just following up on our meeting. Let me know your thoughts.', and schedule it to send at 2025-06-01T09:00:00Z.

## When to prefer this

Use this endpoint when an AI agent needs to revise an already-created email draft before sending — such as updating recipient lists, changing subject or body content, or adjusting a scheduled send time. Prefer this over creating a new draft when an existing draft_id is known and only partial fields need modification.

## Known failure modes

- 404 if inbox_id or draft_id does not exist
- 401 if Bearer token is missing or invalid
- 400 if request body fields are malformed (e.g. invalid email address format or invalid date-time for send_at)
- 422 if required path parameters inbox_id or draft_id are not provided
- 409 if draft has already been sent and cannot be modified

## How this service works

Update Draft

## Output

Returns the full updated Draft object including draft_id, inbox_id, to, cc, bcc, subject, html, text, reply_to, labels, preview, send_at, client_id, references, created_at, and updated_at timestamps.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "UpdateDraftRequest",
 "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>`."
  },
  "html": {
   "type": "string",
   "title": "DraftHtml",
   "description": "HTML body of draft."
  },
  "text": {
   "type": "string",
   "title": "DraftText",
   "description": "Plain text body 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."
  },
  "reply_to": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "DraftReplyTo",
   "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "Draft",
 "required": [
  "inbox_id",
  "draft_id",
  "labels",
  "updated_at",
  "created_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>`."
  },
  "html": {
   "type": "string",
   "title": "DraftHtml",
   "description": "HTML body of draft."
  },
  "text": {
   "type": "string",
   "title": "DraftText",
   "description": "Plain text body of draft."
  },
  "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."
  },
  "reply_to": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "DraftReplyTo",
   "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`."
  },
  "client_id": {
   "type": "string",
   "title": "DraftClientId",
   "description": "Client ID of draft."
  },
  "created_at": {
   "type": "string",
   "format": "date-time",
   "description": "Time at which draft was created."
  },
  "references": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "IDs of previous messages in thread."
  },
  "updated_at": {
   "type": "string",
   "title": "DraftUpdatedAt",
   "format": "date-time",
   "description": "Time at which draft was last updated."
  },
  "att
… (truncated)
```

## More

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