Skip to content

Manage billing

Your subscription is managed entirely on Stripe's own hosted Checkout and Billing Portal pages — there's no billing form inside your Dashboard. Two surfaces is why: billing is a control-plane fact about your tenant, not something your own Stack has any part in.

Both actions below need your control-plane session — the same sessionToken your GitHub sign-in returned (see the Quickstart), usable as Authorization: Bearer <sessionToken>, or your browser's session cookie if you're already signed in there.

Start a subscription

Before your first Checkout, you need a tenant slug locked in — the permanent <slug>.zozostacks.dev name your Stack will be addressed at:

POST /v1/tenant/slug
{"slug": "your-chosen-slug"}

Then start Checkout:

POST /v1/billing/checkout

The response is {"url": "https://checkout.stripe.com/..."} — open it in your browser to complete a card-required trial signup on Stripe's own page. Once Stripe confirms the subscription, your tenant moves to the active state on the control plane's own next check.

Update your card or cancel

POST /v1/billing/portal

The response is {"url": "https://billing.stripe.com/..."} — Stripe's Billing Portal, where you can update your payment method or cancel your subscription. Canceling here is what starts closing your account — nothing about canceling tears anything down immediately.

Docs for Zozo — a coding-agent harness.