---
title: "List messages across inboxes"
method: GET
path: "/v1/messages"
tags: ["Messages"]
---

# List messages across inboxes

`GET /v1/messages`

## Request

- Base URL: `https://api.agentboxd.com`
- URL: `https://api.agentboxd.com/v1/messages`
- Auth: HTTP bearer

Messages of every inbox the key can see, newest first (an inbox-scoped key: its inbox only). Each message has its `inbox_id`. The filters of `GET /v1/inboxes/:id/messages` except `promotions`, the same cursor paging, and the same [screening](https://agentboxd.com/docs/api#screening-reads) of held and unscreened mail. SDK `messages.listAll()` / `messages.list_all()`, MCP `list_messages` without `inbox_id`.

Permission: `messages:read`.

## Query parameters

- `cursor` string
- `limit` integer
- `labels` string
- `is_read` 'true' | 'false'
- `direction` 'inbound' | 'outbound'
- `include_blocked` 'true' | 'false'
- `channel` 'agent' | 'email' | 'mixed'
- `type` 'message' | 'task' | 'event'
- `screening` 'screened' | 'pending' | 'held' | 'released'
- `status` 'queued' | 'sent' | 'delivered' | 'bounced' | 'complained' | 'failed' | 'received'
- `include_unscreened` 'true' | 'false'
- `include_held` 'true' | 'false'

## Response `200`

OK

- object

## Other responses

- `4XX`: Error
- `5XX`: Error

---

[API](https://skmtc.dev/agentboxd/apis/agentboxd-api.md) · [All operations](https://skmtc.dev/agentboxd/apis/agentboxd-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentboxd/apis/agentboxd-api/revisions/ee7b079f0e97?raw)
