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

# List messages

`GET /messages`

Returns previously sent messages, most recent first, each carrying its status, recipient, channel, and provider. Paged by cursor.

## Query parameters

- `archived` boolean, nullable
- `cursor` string, nullable
- `event` string, nullable
- `list` string, nullable
- `messageId` string, nullable
- `notification` string, nullable
- `provider` string[]
- `recipient` string, nullable
- `status` string[]
- `tag` string[]
- `tags` string, nullable
- `tenant_id` string, nullable
- `enqueued_after` string, nullable
- `traceId` string, nullable

## Response `200`

- ListMessagesResponse
  - `paging` Paging, required
    - `cursor` string, nullable
    - `more` boolean, required
  - `results` MessageDetails[], required — An array of messages with their details.
    - `id` string, required — A unique identifier associated with the message you wish to retrieve (results from a send).
    - `status` 'CANCELED' | 'CLICKED' | 'DELAYED' | 'DELIVERED' | 'DIGESTED' | 'ENQUEUED' | 'FILTERED' | 'OPENED' | 'ROUTED' | 'SENT' | 'SIMULATED' | 'THROTTLED' | 'UNDELIVERABLE' | 'UNMAPPED' | 'UNROUTABLE', required
    - `enqueued` integer, required — A UTC timestamp at which Courier received the message request. Stored as a millisecond representation of the Unix epoch.
    - `sent` integer — A UTC timestamp at which Courier passed the message to the Integration provider. Stored as a millisecond representation of the Unix epoch.
    - `delivered` integer — A UTC timestamp at which the Integration provider delivered the message. Stored as a millisecond representation of the Unix epoch.
    - `opened` integer — A UTC timestamp at which the recipient opened a message for the first time. Stored as a millisecond representation of the Unix epoch.
    - `clicked` integer — A UTC timestamp at which the recipient clicked on a tracked link for the first time. Stored as a millisecond representation of the Unix epoch.
    - `recipient` string, required — A unique identifier associated with the recipient of the delivered message.
    - `event` string, required — A unique identifier associated with the event of the delivered message.
    - `notification` string, required — A unique identifier associated with the notification of the delivered message.
    - `error` string, nullable — A message describing the error that occurred.
    - `reason` 'BOUNCED' | 'FAILED' | 'FILTERED' | 'NO_CHANNELS' | 'NO_PROVIDERS' | 'OPT_IN_REQUIRED' | 'PROVIDER_ERROR' | 'UNPUBLISHED' | 'UNSUBSCRIBED'

---

[API](https://skmtc.net/trycourier/apis/courier.md) · [All operations](https://skmtc.net/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trycourier/courier/versions/04f69fbf96a5/schema)
