---
title: "List plans"
method: GET
path: "/plans/"
tags: ["Billing"]
---

# List plans

`GET /plans/`

## Query parameters

- `page` integer
- `page_size` integer
- `ordering` string
- `product` string
- `status` 'active' | 'archived'

## Headers

- `x-simple-workspace` string, required
- `x-piriod-test-mode` boolean

## Response `200`

Paginated plan list.

- object
  - `count` integer, required — Total number of items matching the filter.
  - `next` string, uri, nullable — URL of the next page, or `null` if last page.
  - `previous` string, uri, nullable — URL of the previous page, or `null` if first page.
  - `results` Plan[], required — The items in the current page.
    - `id` string
    - `product` string, required — Product ID.
    - `sku` string, nullable
    - `name` string, required
    - `description` string, required
    - `frequency` string, required — Frequency ID (e.g. `monthly`).
    - `currency` string, required — ISO currency code.
    - `amount` number, required
    - `exempt` boolean
    - `usage_scheme` 'licensed' | 'metered'
    - `usage_aggregation` 'last_record' | 'max' | 'sum', nullable
    - `tiers_mode` 'package' | 'volume' | 'graduated' | 'package_overage' | 'unit' | 'range', nullable — Pricing mode for tiered plans. `unit` and `range` are deprecated aliases of `volume` and `package` respectively.
    - `tiers` PlanTier[]
      - `amount` number, required
      - `amount_scheme` 'flat' | 'per_unit'
      - `quantity_from` integer, required
      - `quantity_to` integer, nullable
      - `unit_scheme` 'all_units' | 'tier_units' | 'overage', nullable
    - `unit_label` string, nullable
    - `status` 'active' | 'archived'
    - `archived` string, date-time, nullable
    - `created` string, date-time
    - `updated` string, date-time

---

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