---
title: "List available Chargebee plans"
method: GET
path: "/v1/billing/plans"
tags: ["Billing"]
---

# List available Chargebee plans

`GET /v1/billing/plans`

## Request

- Base URL: `https://api.prod.keyban.io`
- URL: `https://api.prod.keyban.io/v1/billing/plans`
- Auth: `X-Api-Key` (a scheme the document does not define)

Returns the list of active subscription plans available for onboarding.

`description` is served in the requested language: the `locale` query parameter when present, otherwise the request cascade (user preference, organization default, `Accept-Language`), otherwise `en-US`. `name` comes from the Chargebee item (`external_name`) and carries no vertical prefix.

Feature wording is not included: read `GET /v1/billing/feature-labels` for the label, type and unit of every `features[].id`.

## Query parameters

- `locale` 'en-US' | 'fr-FR' | 'es-ES' | 'it-IT'

## Response `200`

Plans listed successfully

- ListPlansResponseDto
  - `data` object[], required
    - `id` string, required: Chargebee item identifier for the plan (e.g. `starter`, `pro`, `corporate`). Stable key used to reconcile a subscription with its plan definition.
    - `name` string, required: Commercial plan name shown on the pricing page and in the admin UI (e.g. "Starter", "Pro").
    - `description` string, required: Marketing description of the plan, rendered on the pricing page. May contain plain text; no HTML is expected.
    - `features` object[], required: Entitlements attached to the plan, sourced from Chargebee feature metadata. Order follows Chargebee configuration and is preserved for display.
      - `id` string, required: Feature identifier as declared in Chargebee (e.g. `dpp-monthly`, `active-users-monthly`). Referenced by the backend to map feature entitlements to technical quotas.
      - `name` string, required: Internal Chargebee label, kept for traceability — NOT for display. Surfaces render `GET /v1/billing/feature-labels`, which serves the wording in the requested language and also covers features no plan carries an entitlement for. Scheduled for removal.
      - `value` string: Quantitative allowance exposed by Chargebee for this feature (e.g. `"1000"`, `"unlimited"`). Absent when the feature is purely qualitative (on/off).
    - `prices` object[], required: Available price points for the plan (one per currency × period combination). The UI lets the customer pick one before subscribing.
      - `id` string, required: Chargebee price point identifier (e.g. `pro-EUR-Monthly`). Stable across environments, used as the reference when creating a subscription.
      - `price` number, required: Recurring amount billed per period, expressed in the smallest unit of the currency (e.g. cents for EUR/USD). `0` is valid for free tiers.
      - `currency` string, required: ISO 4217 currency code in upper case (e.g. `EUR`, `USD`). Must match the currency configured on the Chargebee price point.
      - `period` string, required: Billing cadence for this price point, as configured in Chargebee (typically `month` or `year`). Used by the UI to group prices per plan.
      - `trialDays` number, required: Length of the free trial granted when the subscription is created, in days. `0` means no trial.
      - `freeMonths` number: Number of initial months billed at zero by the catalogue discount, on top of any trial. `0` for a price point carrying no discount. A plan whose `price` is non-zero but whose `freeMonths` is not must be presented as free for that many months, then at `price` — never at `price` alone.
    - `contactSales` boolean, required: When `true`, the plan is gated behind a sales contact flow instead of self-serve checkout (typically used for the Corporate plan).
    - `applicationFeatures` string[]: Product surfaces this plan unlocks (e.g. `dpp`, `agent-wallet`). Sourced from the backend plan catalog (PLAN_CONFIGS), not from Chargebee. Used by the pricing page to group plans per product.
  - `total` number, required

---

[API](https://skmtc.dev/keyban/apis/keyban-rest-apis.md) · [All operations](https://skmtc.dev/keyban/apis/keyban-rest-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/keyban/apis/keyban-rest-apis/revisions/0bb79a1da961?raw)
