---
title: "List features"
method: GET
path: "/api/v1/features"
tags: ["Entitlements"]
---

# List features

`GET /api/v1/features`

## Query parameters

- `statuses` FeatureStatus[]
- `product_id` string, MeteroidId
- `search` string
- `page` integer
- `per_page` integer

## Response `200`

List of features

- FeatureListResponse
  - `data` Feature[], required
    - `created_at` string, date-time, required
    - `description` string, nullable
    - `entitlement` Entitlement
      - `created_at` string, date-time, required
      - `feature_id` string, MeteroidId, required
      - `id` string, MeteroidId, required
      - `updated_at` string, date-time, required
      - `value` union, required
        - object
          - `enabled` boolean, required
          - `type` 'BOOLEAN', required
        - object
          - `enabled` boolean — Per-entitlement kill switch. `false` means disabled.
          - `limit` string, nullable — Cap on usage. Null means unlimited.
          - `overage_behavior` union, required — What happens past the limit.
            - object — Deny access once usage reaches the limit. Meteroid does not enforce this — your integration must check and act.
              - …
            - object — Keep serving usage past the limit; overage is billed or handled out-of-band.
              - …
          - `reset_period` union
            - object — Resets at the start of each subscription billing period.
              - …
            - object — Buckets aligned to the calendar (e.g. every 1st of the month), shared across customers.
              - …
            - object — Fixed-length buckets anchored on the subscription activation date. Resets at every boundary.
              - …
            - object — Continuous rolling window — usage older than the window edge drops out, no fixed reset.
              - …
            - object — Usage accumulates for the life of the subscription — no reset.
              - …
          - `type` 'METERED', required
          - `warning_threshold_pct` integer, nullable — Percentage of the Cap at which a warning triggers (0–100).
    - `feature_type` union, required
      - object
        - `type` 'BOOLEAN', required
      - object
        - `metric_id` string, MeteroidId, required
        - `type` 'METERED', required
    - `id` string, MeteroidId, required
    - `name` string, required
    - `product` ProductRef
      - `id` string, MeteroidId, required
      - `name` string, required
    - `status` 'ACTIVE' | 'DISABLED' | 'ARCHIVED', required — Lifecycle status of a feature.
  - `pagination_meta` PaginationResponse, required
    - `page` integer, required
    - `per_page` integer, required
    - `total_items` integer, required
    - `total_pages` integer, required

## Other responses

- `401` — Unauthorized
- `429` — Too many requests

## Changes

- **2026-05-18** (v1) `0cdc37620ffb` — 1 info
  - endpoint added
- **2025-07-09** (v1) `dece17f86f99` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/meteroid-oss/apis/meteroid/changes/api/v1/features/get.md)

---

[API](https://skmtc.dev/meteroid-oss/apis/meteroid.md) · [All operations](https://skmtc.dev/meteroid-oss/apis/meteroid/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/meteroid-oss/meteroid/revisions/0cdc37620ffb/schema)
