---
title: "List the plan catalog: tiers, intervals, product ids, prices"
method: GET
path: "/v1/billing/plans"
tags: ["billing"]
---

# List the plan catalog: tiers, intervals, product ids, prices

`GET /v1/billing/plans`

## Request

- Base URL: `https://api.cueframe.ai`
- URL: `https://api.cueframe.ai/v1/billing/plans`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.cueframe.ai/api/auth/mcp/authorize`, token URL `https://api.cueframe.ai/api/auth/mcp/token`)
  - API key in header `PAYMENT-SIGNATURE`

Returns every purchasable {tier, interval} and its billing catalog product id — discovery to read BEFORE POST /v1/billing/checkout so an agent requests a real plan/interval instead of guessing. `priceUsd` is best-effort (null if unavailable); `billingConfigured:false` flags an env without billing.

## Response `200`

Plan catalog.

- BillingPlansResponse
  - `plans` BillingPlanEntry[], required: Every purchasable {tier, interval} and its product id.
    - `id` string, required: Billing catalog product id (e.g. pro, pro_yearly).
    - `tier` string, required: Plan tier: pro | business | studio.
    - `name` string, required
    - `interval` string, required: month | year.
    - `priceUsd` number, required: Price in USD for the interval.
  - `billingConfigured` boolean, required

## Other responses

- `401`: Missing or invalid Authorization header.
- `402`: Payment required. Returned when the caller presents no API key on a priced operation: the body AND the `Payment-Required` header carry the x402 v2 challenge (accepted scheme, network, USDC asset, amount, payTo). Sign the EIP-3009 authorization and retry with a `PAYMENT-SIGNATURE` header. A KEYED caller sees this status instead when their plan lacks or has exhausted the feature (`billing_required`).
- `403`: Forbidden — permission insufficient.
- `429`: Rate limited. Retry-After header present.
- `500`: Internal error.
- `503`: Service unavailable — billing_unavailable / honest-503 for runtime deps.

---

[API](https://skmtc.dev/cueframe/apis/cueframe-api.md) · [All operations](https://skmtc.dev/cueframe/apis/cueframe-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cueframe/apis/cueframe-api/revisions/8f9bfe362b4a?raw)
