# AgentMail List Threads

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

Retrieves a list of email threads from an AgentMail inbox for AI agent email management

## Facts

- Endpoint: GET https://x402.api.agentmail.to/v0/threads
- 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-8c5a792a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_S0JH9zvoy3cIYTk0-IQoU

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-8c5a792a
```

Example prompt: Show me all the email threads in my AgentMail inbox so I can see what conversations are currently active.

## When to prefer this

Use this endpoint when an AI agent needs to enumerate or browse all email threads in an AgentMail inbox before reading, replying to, or processing specific conversations. Prefer this over per-message endpoints when you need an overview of all active conversations rather than the content of a single message.

## Known failure modes

- Unauthorized access if API credentials are missing or invalid (401)
- No threads found returns empty list
- Rate limiting may occur on high-frequency polling (429)
- Invalid query parameters return 400 error
- Service unavailable returns 503

## How this service works

List Threads

## Output

Returns a list of email threads with associated metadata such as thread IDs, subjects, participants, timestamps, and message counts, enabling the agent to browse and manage ongoing email conversations.

## 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."
  },
  "include_spam": {
   "type": "boolean",
   "title": "IncludeSpam",
   "description": "Include spam in results."
  },
  "include_trash": {
   "type": "boolean",
   "title": "IncludeTrash",
   "description": "Include trash in results."
  },
  "include_blocked": {
   "type": "boolean",
   "title": "IncludeBlocked",
   "description": "Include blocked in results."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ListThreadsResponse",
 "required": [
  "count",
  "threads"
 ],
 "properties": {
  "count": {
   "type": "integer",
   "title": "Count",
   "description": "Number of items returned."
  },
  "limit": {
   "type": "integer",
   "title": "Limit",
   "description": "Limit of number of items returned."
  },
  "threads": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "ThreadItem",
    "required": [
     "inbox_id",
     "thread_id",
     "labels",
     "timestamp",
     "senders",
     "recipients",
     "last_message_id",
     "message_count",
     "size",
     "updated_at",
     "created_at"
    ],
    "properties": {
     "size": {
      "type": "integer",
      "title": "ThreadSize",
      "description": "Size of thread in bytes."
     },
     "labels": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "ThreadLabels",
      "description": "Labels of thread."
     },
     "preview": {
      "type": "string",
      "title": "ThreadPreview",
      "description": "Text preview of last message in thread."
     },
     "senders": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "ThreadSenders",
      "description": "Senders in thread. In format `username@domain.com` or `Display Name <username@domain.com>`."
     },
     "subject": {
      "type": "string",
      "title": "ThreadSubject",
      "description": "Subject of thread."
     },
     "inbox_id": {
      "type": "string",
      "title": "InboxId",
      "description": "The ID of the inbox."
     },
     "thread_id": {
      "type": "string",
      "title": "ThreadId",
      "description": "ID of thread."
     },
     "timestamp": {
      "type": "string",
      "title": "ThreadTimestamp",
      "format": "date-time",
      "description": "Timestamp of last sent or received message."
     },
     "created_at": {
      "type": "string",
      "title": "ThreadCreatedAt",
      "format": "date-time",
      "description": "Time at which thread was created."
     },
     "recipients": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "title": "ThreadRecipients",
      "description": "Recipients in thread. In format `username@domain.com` or `Display Name <username@domain.com>`."
     },
     "updated_at": {
      "type": "string",
      "title": "ThreadUpdatedAt",
      "format": "date-time",
      "description": "Time at which thread was last updat
… (truncated)
```

## More

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