Return the bootstrap status of the authenticated organization.
Exempt from the bootstrap-ready gate so web and CLI clients can
poll the endpoint while the organization is still in
BOOTSTRAPPING. Collapses the internal lifecycle into three
states so clients do not have to learn intermediate deactivation or
deletion states:
"bootstrapping" — bootstrap worker is still provisioning."ready" — every seeded platform resource is READY."failed" — the organization is in a terminal non-ready
state and will not recover without operator intervention.A missing organization row is also reported as "bootstrapping"
because that is a transient window: the Clerk webhook has not yet
created the row, but will shortly. Clients should keep polling.
Returns: Public status envelope consumed by the web gate and CLI error wrapper.
Successful Response
Public bootstrap status payload for the authenticated organization.
Collapses the internal :class:OrganizationStatus lifecycle into
three user-facing states the web and CLI clients can switch on
without learning about intermediate internal states:
"bootstrapping" — the organization's platform stack is still
being provisioned. Clients should keep polling and block access
to tenant-scoped routes."ready" — every seeded platform resource has reached
READY. The client can stop polling and render the app."failed" — the organization is in a terminal non-ready state
(BOOTSTRAP_FAILED, DEACTIVATING, or DELETED). The
client should stop polling and display a support-contact screen.Deliberately minimal: no resource detail, no error text, no retry-after. The bootstrap gate already returns a structured 503 envelope for the tenant-scoped routes — this endpoint exists purely to tell clients when to stop polling.
bootstrapping, ready, failed