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

# List messages

`GET /v1/inboxes/{inbox_id}/messages`

## Request

- Base URL: `https://api.deadsimple.email`
- URL: `https://api.deadsimple.email/v1/inboxes/{inbox_id}/messages`
- Auth: HTTP bearer

## Path parameters

- `inbox_id` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `labels` string
- `include_spam` boolean

## Headers

- `X-Workspace-Id` string, uuid

## Response `200`

Paginated list of messages

## Other responses

- `402`: Payment required. The request had no API key and this route can be paid per call. The x402 requirements are in the PAYMENT-REQUIRED header and repeated in the body; routes priced at or above $0.50 (inbox creation) also carry a Stripe MPP challenge in WWW-Authenticate. A rejected or mismatched payment gets this same response again with error.reason explaining why. Responses are Cache-Control no-store and expose the payment headers to browsers.

---

[API](https://skmtc.dev/deadsimple/apis/dead-simple-email-api.md) · [All operations](https://skmtc.dev/deadsimple/apis/dead-simple-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/deadsimple/apis/dead-simple-email-api/revisions/c697881be131?raw)
