# List notifications (/api/notifications/list-notifications)

`GET https://api.comecero.com/api/v1/notifications`

Lists the customer emails Comecero sent or is trying to send. With no `status`, only `delivered` ones are listed. In the list, `body` is left out; get one notification to read it. Notifications are kept for 120 days (15 in test mode). The list is cursor-based and sorted by `date_created`. Secret and trusted tokens may call it; a limited token may not (`403`).

## Parameters

- `status` (query): Only notifications with this status. The default is `delivered`.
- `q` (query): An exact notification id. It is found only when it also matches `status`, so send `status` with it. Anything that is not a notification id returns an empty list.
- `date_start` (query): Only items on or after this date. Send ISO 8601 (`2026-11-01T00:00:00Z` or `2026-11-01T00:00:00-05:00`) or a shorthand: `2026` means the start of 2026, `2026-11` the start of November, `2026-11-01` the start of that day. A date with no offset is read in `timezone`, or in the account's time zone when you send none. It must not be after `date_end` (`400`).
- `date_end` (query): Only items on or before this date. Same formats as `date_start`, but a shorthand means the end of the period: `2026-11` is the last instant of November, `2026-11-30` the last instant of that day. A date with no offset is read in `timezone`, or in the account's time zone when you send none.
- `timezone` (query): An IANA time zone name, such as `America/New_York` or `UTC`. It sets how `date_start` and `date_end` are read and the time zone of every date in the response. The default is the account's time zone (Settings, Technical), or UTC when it has none. A name that is not known is a `400`.
- `limit` (query): How many items to return on one page, from 1 to 100. The default is 100. A value outside 1 to 100, or one that is not a whole number, is a `400`.
- `after_item` (query): For cursor-based lists, return the items after the item with this id. Use `next_page_after_item` (or follow `next_page_url`) from the page you have. You cannot send it together with `before_item` (`400`). An id that does not exist is a `404`.
- `before_item` (query): For cursor-based lists, return the items before the item with this id. Use `previous_page_before_item` (or follow `previous_page_url`) from the page you have. You cannot send it together with `after_item` (`400`). An id that does not exist is a `404`.
- `desc` (query): Sort in descending order (newest, largest or last first) when `true`. The default is `false`. A value other than `true` or `false` is a `400`.
- `expand` (query): Comma-separated child objects to return in full instead of as a URL, for example `customer,payments`. Use dot notation for nested objects (`items.product`), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See [Expanding objects](https://docs.comecero.com/docs/basic-concepts/expanding-objects).
- `show` (query): Comma-separated fields to return; all others are left out. Use dot notation for child fields (`customer.email`). You cannot send `show` and `hide` together (`400`). See [Customizing output](https://docs.comecero.com/docs/basic-concepts/customizing-output).
- `hide` (query): Comma-separated fields to leave out of the response. Use dot notation for child fields (`customer.email`). You cannot send `show` and `hide` together (`400`). See [Customizing output](https://docs.comecero.com/docs/basic-concepts/customizing-output).
- `formatted` (query): When `true`, the object also has a `formatted` child with amounts and dates as display text in the shopper's language and currency (for example `$19.99` or `November 7, 2026`). The default is `false`. See [Localized formatting](https://docs.comecero.com/docs/basic-concepts/localized-formatting).

Responses: 200, 400, 401, 403, 404, 500.

Full schemas: operation `list_notifications` in /openapi.json.