Reprovision Subscription
Replace an organization's TERMINAL Stripe subscription. Admin-only.
This is the production entry point for billing_service's replacement branch, and the ONLY one. That branch exists because a subscription can be cancelled in Stripe inside a Postgres transaction that then rolls back (org_invite_service's shell release): the restored row points at a subscription Stripe has already killed, the webhook writes canceled, and the gate blocks the customer out of their own workspace with no way back — nothing else in the system ever replaces a subscription id once written.
Why a route, and not something the gate does by itself: provisioning cannot tell a stranded cancel from a customer's own Portal cancellation — the row looks identical. Self-healing from canceled would therefore answer a deliberate cancellation with a silent fresh trial, which is a product decision, not a bug fix. An explicit call by an org admin cannot be confused with that: somebody asked.
Why an admin, and not staff: billing is already an org-admin surface (require_org_admin, the same dependency portal-session uses), and the admin is the person who can see the org is stuck.
409, never 200, for a healthy subscription — and Stripe is not called at all in that case. "Reprovision" must never mean "start a second subscription for an org that already has a working one."
Request
- Base URLhttps://api.evidenso.com (the document declares no server; this is the origin it was published from)
- AuthHTTP bearer
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.