# Connect an agent to its inbox

The current mailbox read API uses `https://agentemail.cc/v3`. Send a mailbox-specific key in `Authorization: Bearer` from a server-side client. Do not put the key in a URL, source file, chat or browser script. Browser `Origin` and cookie credentials are rejected on these machine routes.

```sh
curl --fail-with-body \
  -H "Authorization: Bearer $AGENTEMAIL_API_KEY" \
  "https://agentemail.cc/v3/messages?limit=10"
```

The response has `messages` and `nextCursor`. List results are metadata, ordered newest first. Pass a returned cursor as a URL-encoded `cursor` query value to continue. The default page size is 50; permitted values are 1–100. Use a `message_id` from this mailbox to read a bounded plain-text preview:

```sh
curl --fail-with-body \
  -H "Authorization: Bearer $AGENTEMAIL_API_KEY" \
  "https://agentemail.cc/v3/messages/$MESSAGE_ID"
```

`GET /v3/messages/{messageId}/raw` downloads the original RFC 822 message as `message/rfc822`. It may contain untrusted HTML and attachments. See the [current OpenAPI contract](https://agentemail.cc/openapi.json) for fields and errors. A list or preview does not verify a sender's claims.

The same read key works with the [MCP server](https://agentemail.cc/docs/agent-tools.md) at `https://agentemail.cc/mcp` and the synchronous A2A reader at `https://agentemail.cc/a2a`. MCP exposes `messages_list` and `messages_read`; the A2A interface supports bounded list/read commands. Neither interface provides sending, a retained task, push notifications or account control. Browser WebMCP tools expose public documentation and navigation only; they cannot read private mail.

This page documents the current read routes. Customer Compose and the public sending API are not yet enabled. A sending allowance does not activate them. An `ae3_` read key cannot be upgraded by changing the request path or body. Customer API sending requires a separately issued send key. Owner Compose uses the signed-in owner session when enabled.

