---
title: "List all Messages"
method: GET
path: "/Accounts/{AccountSid}/Messages"
tags: ["Messages"]
---

# List all Messages

`GET /Accounts/{AccountSid}/Messages`

List all messages.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Messaging_.

[Learn more about API scopes](/platform/dashboard/getting-started/your-signalwire-api-space#api-token-scopes).

## Path parameters

- `AccountSid` string, uuid, required

## Query parameters

- `DateSent` string
- `DateSent<` string
- `DateSent>` string
- `From` string
- `To` string
- `Status` 'queued' | 'initiated' | 'sent' | 'failed' | 'delivered' | 'undelivered' | 'received' — Message status.
- `Page` integer
- `PageSize` integer
- `PageToken` string

## Response `200`

The request has succeeded.

- MessageListResponse — Response containing a list of messages.
  - `uri` string, required — The URI of the current page.
  - `first_page_uri` string, required — The URI of the first page.
  - `next_page_uri` string, nullable, required — The URI of the next page, or null if there are no more pages.
  - `previous_page_uri` string, nullable, required — The URI of the previous page, or null if this is the first page.
  - `page` integer, required — The current page number.
  - `page_size` integer, required — The number of items per page.
  - `messages` Message[], required — List of messages.
    - `account_sid` string, uuid, required — The unique identifier of the project that sent or received this message.
    - `api_version` string, required — The version number of the SignalWire cXML REST API used to handle this message.
    - `body` string, nullable, required — The text of the message. Up to 1600 characters long. May be null if filtered for spam.
    - `num_segments` integer, required — The number of segments that make up the entire message.
    - `num_media` integer, required — The number of media files that were included with the message.
    - `date_created` string, required — The date and time the message was created in RFC 2822 format.
    - `date_sent` string, nullable, required — The date and time the message was sent in RFC 2822 format, or null if not yet sent.
    - `date_updated` string, required — The date and time the message was last updated in RFC 2822 format.
    - `direction` 'inbound' | 'outbound-api' | 'outbound-call' | 'outbound-reply', required — Message direction.
    - `error_code` string, nullable, required — If an error has occurred on the message, the error code will give you a specific code, or null if no error.
    - `error_message` string, nullable, required — A human readable description of the error that occurred, or null if no error.
    - `from` string, required — The phone number in E.164 format that sent the message.
    - `price` number, float, nullable, required — The cost of the individual message billed to your project, or null if not yet calculated.
    - `price_unit` string, required — The currency in which `price` is charged as.
    - `sid` string, uuid, required — A unique ID that identifies this specific message.
    - `status` 'queued' | 'initiated' | 'sent' | 'failed' | 'delivered' | 'undelivered' | 'received', required — Message status.
    - `to` string, required — The phone number in E.164 format that received the message.
    - `messaging_service_sid` string, uuid, nullable, required — If a number group was used when sending an outbound message, the number group's ID will be present, or null otherwise.
    - `uri` string, required — The URI of this particular message.
    - `subresource_uris` MessageSubresourceUris, required — Message subresource URIs.
      - `media` string, required — The URI for media.

## Other responses

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `401` — Authentication failed. Please verify your credentials and try again.
- `422` — The request could not be processed due to validation errors. Check the error details for more information.

## Changes

- **2026-01-20** `dce1bcef69f0` — 1 info
  - added the non-success response with the status `400`
- **2026-01-19** `d5fbaaddfa3e` — 12 breaking, 3 warning, 36 info
  - for the `query` request parameter `PageSize`, default value `50` was added
  - removed the enum value `receiving` from the `query` request parameter `Status`
  - removed the enum value `sending` from the `query` request parameter `Status`
  - the response property `messages/items/body` became nullable for the status `200`
  - …47 more
- **2026-01-15** `07f73f74a61d` — 1 warning, 2 info
  - deleted the `query` request parameter `DateCreated`
  - added the new optional `query` request parameter `PageSize`
  - added the new optional `query` request parameter `Status`
- **2026-01-15** `686ef84c2abc` — 4 breaking
  - the response property `messages/items/error_code` became nullable for the status `200`
  - the response property `messages/items/error_message` became nullable for the status `200`
  - the response property `messages/items/messaging_service_sid` became nullable for the status `200`
  - the response property `previous_page_uri` became nullable for the status `200`
- **2026-01-15** `3c88f14db21e` — 1 breaking, 2 warning, 10 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - deleted the `query` request parameter `PageSize`
  - deleted the `query` request parameter `Status`
  - added the new optional `query` request parameter `DateCreated`
  - …9 more

[Change history](https://skmtc.dev/signalwire/apis/compatibility-api/changes/Accounts/:AccountSid/Messages/get.md)

---

[API](https://skmtc.dev/signalwire/apis/compatibility-api.md) · [All operations](https://skmtc.dev/signalwire/apis/compatibility-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/compatibility-api/revisions/8891278c1908/schema)
