---
title: "Get a list of products"
method: GET
path: "/api/v1/products"
tags: ["Products"]
---

# Get a list of products

`GET /api/v1/products`

Retrieves a paginated list of products in the environment.

## Query parameters

- `after` string, uuid
- `before` string, uuid
- `limit` integer
- `id` string
- `status` string[]
- `createdAt` object
  - `gt` string, date-time — Greater than the specified createdAt value
  - `gte` string, date-time — Greater than or equal to the specified createdAt value
  - `lt` string, date-time — Less than the specified createdAt value
  - `lte` string, date-time — Less than or equal to the specified createdAt value

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Response `200`

A paginated list of product objects.

- ProductListResponseDto — Response list object
  - `data` object[], required
    - `id` string, required — The unique identifier for the entity
    - `displayName` string, required — Display name of the product
    - `description` string, nullable, required — Description of the product
    - `status` 'PUBLISHED' | 'ARCHIVED', required — The status of the product
    - `multipleSubscriptions` boolean, required — Indicates if multiple subscriptions to this product are allowed
    - `metadata` object, required — Metadata associated with the entity
    - `productSettings` object — Product behavior settings for subscription lifecycle management.
      - `subscriptionEndSetup` 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION', required — Setup for the end of the subscription
      - `subscriptionCancellationTime` 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE', required — Time when the subscription will be cancelled
      - `downgradePlanId` string, nullable — ID of the plan to downgrade to at the end of the billing period
      - `subscriptionStartSetup` 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN', required — Setup for the start of the subscription
      - `subscriptionStartPlanId` string, nullable — ID of the plan to start the subscription with
      - `prorateAtEndOfBillingPeriod` boolean, nullable — Indicates if the subscription should be prorated at the end of the billing period
    - `createdAt` string, date-time, required — Timestamp of when the record was created
    - `updatedAt` string, date-time, required — Timestamp of when the record was last updated
  - `pagination` object, required — Pagination metadata including cursors for navigating through results
    - `next` string, uuid, nullable, required — Cursor for fetching the next page of results, or null if no additional pages exist
    - `prev` string, uuid, nullable, required — Cursor for fetching the previous page of results, or null if at the beginning

## Other responses

- `400` — bad request.
- `401` — User is not authenticated.
- `403` — User is not allowed to access this resource.
- `429` — Too many requests.

---

[API](https://skmtc.net/stiggio/apis/stigg-api.md) · [All operations](https://skmtc.net/stiggio/apis/stigg-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stiggio/stigg-api/versions/ffc977f1c07e/schema)
