Billing
Plans catalog, usage, checkout, upgrades/downgrades, and invoices. GET /v1/plans is public; the rest are Bearer-authenticated and derive the tenant from your key.
Endpoints#
| Method | Path | Purpose |
|---|---|---|
GET | /v1/plans | Public pricing/limits catalog (the source of truth). |
GET | /v1/usage | Your current-period render/synthesis usage. |
POST | /v1/checkout/create | Start a Stripe Checkout session to move to a paid tier. |
POST | /v1/subscriptions/upgrade | Mid-cycle upgrade (prorated). |
POST | /v1/subscriptions/downgrade | Deferred downgrade at period end. |
POST | /v1/billing/portal | Stripe billing-portal session (manage card, plan, invoices). |
GET | /v1/billing/invoices | List invoices for the Billing UI. |
# The catalog every client should read tier numbers from — never hardcode.
curl https://api.maddoxapi.dev/v1/plansCautionDo not hardcode prices or limits from docs.
GET /v1/plans is the canonical, always-current catalog; pin client pricing to it so display can't drift from what you actually bill.Related#
Plans & Quotas
What each tier includes and how limits apply.
Authentication
How the tenant is derived from your key.