---
title: "Get Plans"
method: GET
path: "/api/v1/admin/plans"
tags: ["Admin APIs", "plans"]
---

# Get Plans

`GET /api/v1/admin/plans`

Get all plans with filtering, sorting, and pagination.

When a client_id filter is present, Stripe subscriptions that exist in
Stripe but have not yet been synced to the database are appended to the
response with ``source="stripe"`` so admins can see the full picture.

## Query parameters

- `filter` string, nullable
- `sort` string, nullable
- `range` string, nullable

## Response `200`

Successful Response

- PlanRead[]
  - `name` string, required
  - `product_id` string, uuid, nullable
  - `client_id` string, uuid, required
  - `amount` number, required
  - `billing_cycle` string
  - `status` string, nullable
  - `starts_at` string, date-time, nullable
  - `ends_at` string, date-time, nullable
  - `config` object, nullable
  - `id` union, required
    - string, uuid
    - string
  - `canceled_at` string, date-time, nullable
  - `trial_end` string, date-time, nullable
  - `stripe_subscription_id` string, nullable
  - `stripe_customer_id` string, nullable — Stripe customer id (cus_...) for this plan/client
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `created_by` string, nullable
  - `updated_by` string, nullable
  - `billing_email` string, email, nullable
  - `daily_token_limit` number, nullable — Configured daily token limit from plan
  - `enterprise_fields` EnterpriseFields
    - `mcp_amount` number, nullable — MCP subscription item unit amount (dollars) from stripe_subscription_items
    - `mcp_billing_cycle` string, nullable — MCP subscription item recurring interval (e.g. month/year) from stripe_subscription_items
  - `grace_period_started_at` string, date-time, nullable
  - `failed_payment_retry_count` integer
  - `is_suspended` boolean
  - `suspended_at` string, date-time, nullable
  - `source` string, nullable — Where the plan record came from: 'database' or 'stripe'
  - `stripe_cancel_at` string, date-time, nullable — Scheduled cancellation date from linked Stripe subscription
  - `stripe_canceled_at` string, date-time, nullable — Actual cancellation date from linked Stripe subscription

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-client-admin-api/revisions/a8ca30023371/schema)
