# AgentMail Get Draft Attachment

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

Retrieves metadata and a time-limited download URL for a specific attachment on an email draft within an AgentMail pod.

## Facts

- Endpoint: GET https://mpp.api.agentmail.to/v0/pods/:pod_id/drafts/:draft_id/attachments/:attachment_id?utm_source=zero.xyz
- Price: Free
- Status: unknown
- Last checked: 2026-10-09
- 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-attachment-id-c6ae580d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZVZJeK7RBIFjlT3Ibq16Y

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-attachment-id-c6ae580d
```

Example prompt: Can you fetch the details for attachment att_abc123 on draft drft_xyz789 in my AgentMail pod pod_main01 — I need the filename, size, and download URL so I can review the file before sending?

## When to prefer this

Use this endpoint when you need to inspect or download a specific attachment that has already been added to an email draft within an AgentMail pod — for example, to verify file metadata before sending, or to retrieve the download URL for processing the attachment content. Prefer this over listing all attachments when you already know the attachment_id.

## Known failure modes

- 404 Not Found — attachment_id, draft_id, or pod_id does not exist or does not match
- 401 Unauthorized — missing or invalid Bearer token in Authorization header
- 403 Forbidden — authenticated user does not have access to the specified pod or draft
- 410 Gone — download URL has already expired; re-fetch to get a new one
- 400 Bad Request — malformed path parameters

## How this service works

Get Attachment

## Output

Returns an AttachmentResponse object with the attachment ID, file size in bytes, filename, content type, content ID, content disposition (inline or attachment), a time-limited download URL, and the expiry timestamp for that URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "pod_id",
  "draft_id",
  "attachment_id"
 ],
 "properties": {
  "pod_id": {
   "type": "string",
   "title": "PodId",
   "description": "ID of pod."
  },
  "draft_id": {
   "type": "string",
   "title": "DraftId",
   "description": "ID of draft."
  },
  "attachment_id": {
   "type": "string",
   "title": "AttachmentId",
   "description": "ID of attachment."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "AttachmentResponse",
 "required": [
  "attachment_id",
  "size",
  "download_url",
  "expires_at"
 ],
 "properties": {
  "size": {
   "type": "integer",
   "title": "AttachmentSize",
   "description": "Size of attachment in bytes."
  },
  "filename": {
   "type": "string",
   "title": "AttachmentFilename",
   "description": "Filename of attachment."
  },
  "content_id": {
   "type": "string",
   "title": "AttachmentContentId",
   "description": "Content ID of attachment."
  },
  "expires_at": {
   "type": "string",
   "format": "date-time",
   "description": "Time at which the download URL expires."
  },
  "content_type": {
   "type": "string",
   "title": "AttachmentContentType",
   "description": "Content type of attachment."
  },
  "download_url": {
   "type": "string",
   "description": "URL to download the attachment."
  },
  "attachment_id": {
   "type": "string",
   "title": "AttachmentId",
   "description": "ID of attachment."
  },
  "content_disposition": {
   "enum": [
    "inline",
    "attachment"
   ],
   "type": "string",
   "title": "AttachmentContentDisposition",
   "description": "Content disposition of attachment."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentmail-attachment-id-c6ae580d/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)
