Skip to main content
GET
Billing state (financial + entitlement)

Authorizations

Authorization
string
header
required

Clerk dashboard session JWT. Used on dashboard, billing, playground, and admin console routes only:

These are human-session credentials, not API keys. The dashboard frontend must never send authoritative account IDs, plan values, quota counters, Stripe IDs, or API-key actor fields — the server derives ownership from the session. Admin console routes additionally require the custom admin_role claim (admin or support) on the same verified session JWT; writes require admin.

Response

Billing state.

plan
string
required
billing_interval
string
required
subscription_status
enum<string>
required
Available options:
incomplete,
incomplete_expired,
trialing,
active,
past_due,
canceled,
unpaid,
paused
checkout_state
enum<string>
required
Available options:
none,
checkout_pending
cancel_at_period_end
boolean
required
has_stripe_customer
boolean
required
local
boolean
required
current_period_start
string<date-time> | null
current_period_end
string<date-time> | null
effective_plan
string | null

Runtime effective plan from entitlement snapshot.

access_state
enum<string>
Available options:
active,
grace,
lapsed,
none
grace_until
string<date-time> | null
entitlement_reason
string | null