---
title: "List Products"
method: GET
path: "/products"
tags: ["Products"]
---

# List Products

`GET /products`

## Request

- Base URL: `https://api.monei.com/v1`
- URL: `https://api.monei.com/v1/products`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/monei/apis/monei-api-v1/docs/products/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists the products of your account, newest first, one page at a time.

To get the next page, send the `nextCursor` of the response as `cursor`. When there are no more items, the response has no `nextCursor`. The last page can still carry one, and the next call then returns no items.

A product you just created can take a moment to appear in the list. [Get Product](https://docs.monei.com/apis/rest/products-get/) returns it at once.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

One page of products, newest first

- ProductList
  - `items` Product[], required: The products in this page, newest first.
    - `id` string, uuid, required: Unique identifier for the product.
    - `name` string, required: The name of the product.
    - `description` string: A description of the product.
    - `images` string[]: Up to 8 image URLs of the product. Each URL must use `https`.
    - `slug` string: A short name of the product: lowercase letters and digits, joined by single hyphens. A slug is unique in your account. A request that sets a slug another product already has is rejected with `409`. An archived product keeps its slug until you remove it.
    - `shippable` boolean: Whether the product is shipped to the buyer.
    - `unitLabel` string: The name of one unit of the product, for example `seat` or `hour`.
    - `descriptor` string: A statement descriptor stored on the product and returned in its responses. It is not applied to payments or subscriptions yet: set `descriptor` on the subscription instead.
    - `defaultPriceId` string, uuid: The default [price](https://docs.monei.com/apis/rest/prices-create/) of the product. It is always a price of this product. You set it with [Update Product](https://docs.monei.com/apis/rest/products-update/), after you create the price.
    - `active` boolean, required: Whether the product is active. Products are never deleted: set `active` to `false` to archive one. Archiving a product does not archive its prices, and its prices can still start subscriptions.
    - `metadata` Metadata: A set of key-value pairs that you can attach to a resource. This can be useful for storing additional information about the resource in a structured format.
    - `createdAt` integer, required: Time at which the resource was created. Measured in seconds since the Unix epoch.
    - `updatedAt` integer: Time at which the resource updated last time. Measured in seconds since the Unix epoch.
  - `nextCursor` string: Pass this value as `cursor` to get the next page. Absent when there are no more items. The last page can still carry it, and the next call then returns no items.

## Other responses

- `400`: The request is incorrect or could not be processed
- `401`: Unauthorized error. Please check your auth credentials
- `422`: The request was well-formed but could not be processed due to semantic errors
- `500`: Unexpected server error
- `503`: The service is temporarily unavailable

## Changes

- **2026-10-29** `50bc7df2aa43`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monei/apis/monei-api-v1/changes/products/get.md)

---

[API](https://skmtc.dev/monei/apis/monei-api-v1.md) - [All operations](https://skmtc.dev/monei/apis/monei-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/monei/apis/monei-api-v1/revisions/50bc7df2aa43?raw)
