Skip to content

Purchasable subscription plan catalog (DB-sourced)

GET
/v1/plans
curl --request GET \
--url https://example.com/v1/plans \
--header 'Authorization: Bearer <token>'

Return the active, purchasable subscription plans from the DB plans catalog — the single source of truth for tiers + pricing. The SPA renders its upgrade picker from this, never a hardcoded list. FREE is excluded (it’s the default; there’s no checkout for it); inactive plans (e.g. ENTERPRISE) are hidden. Ordered cheapest-first.

X-Shopify-Hmac-Sha256
Any of:
string

Successful Response

Media type application/json
PlansResponse

GET /v1/plans — the active, purchasable subscription catalog.

object
plans
required
Plans
Array<object>
PlanOption

One purchasable subscription plan from the DB plans catalog.

The catalog (code, credits, price) is the single source of truth for tiers/pricing — surfaced to the SPA so it never hardcodes a plan list.

object
code
required
Code

Plan code (e.g. ‘STARTER’) — what checkout is created for.

string
name
required
Name

Display name for the plan picker.

string
credits_per_period
required
Credits Per Period

Credits granted each billing period.

integer
monthly_price_cents
Any of:
integer
period_days
Any of:
integer
currency
Currency

ISO currency code for the price.

string
default: USD
Example
{
"plans": [
{
"currency": "USD"
}
]
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}