Billing API
Upgrade your plan via Stripe checkout.
POST /v1/billing/upgrade
Generate a Stripe checkout URL to upgrade from the free plan. Requires full-access key. Pass a plan and optional period in the request body to select a tier and billing cadence. If an open checkout session for the same plan+period already exists, it is returned instead of creating a new one.
{
"plan": "developer", // "developer", "growth", or "scale"
"period": "annual" // "monthly" (default) or "annual" (~25% off)
}
// Omit body to default to { plan: "developer", period: "monthly" }.{
"checkout_url": "https://checkout.stripe.com/c/pay_...",
"expires_at": 1741651200,
"message": "Share this URL with the account owner to complete payment. A link has also been emailed to the account owner."
}{
"checkout_url": "https://checkout.stripe.com/c/pay_...",
"expires_at": 1741651200,
"message": "An upgrade checkout session is already active. Share this URL with the account owner to complete payment."
}After payment, your account is upgraded automatically. A confirmation email with the checkout link is sent to the account owner when a new session is created.
Changing plans
This endpoint is for upgrading from the free plan only. If you are already on a paid plan, manage your subscription through the Stripe Customer Portal (accessible from the dashboard billing page). Plan changes — upgrades and downgrades — take effect immediately, and Stripe prorates charges automatically.
Errors
400— Invalid plan or period409— Already on a paid plan (use Stripe Customer Portal to change plan or period)503— Billing not configured on this instance