# info.description
OpenAPI contract for every backend `/api/...` route in the local runtime.

# paths./api/.get.description
Public shallow index for the backend `/api/` namespace. Use the docs or schema endpoints for full route discovery; this response only advertises the top-level API surfaces.

# paths./api/auth/email-change/revert.post.description
Restore the old email address, rotate the native password, remove external sign-ins linked during the recovery window, and send the temporary-password recovery email.

Authentication: public endpoint.

# paths./api/auth/email-change/revert/preview.get.description
Return the read-only status for an old-email revert token. This endpoint never mutates account state.

Authentication: public endpoint.

# paths./api/auth/email-change/revert/preview.get.parameters[].description
Opaque email-change revert token from the old-email recovery link.

# paths./api/auth/login.post.description
Issue an access-token and refresh-token pair using the legacy response field names.

# paths./api/auth/providers.get.description
Return the built-in third-party auth providers together with environment-configuration state and admin visibility state.

Authentication: public endpoint.

# paths./api/auth/providers/{provider_code}/start.post.description
Create a short-lived OAuth/OIDC state row and return the provider authorization URL.

Authentication: public endpoint for `intent=login`; bearer token required for `intent=link` and `intent=test_auth`; admin bearer token required for `intent=admin_test`.

# paths./api/auth/providers/{provider_code}/start.post.parameters[].description
Stable auth-provider code such as google, microsoft, apple, github, or facebook.

# paths./api/auth/refresh.post.description
Takes a refresh type JSON web token and returns an access type JSON web
token if the refresh token is valid.

Authentication: public endpoint.

# paths./api/auth/refresh.post.summary
Takes a refresh type JSON web token and returns an access type JSON web

# paths./api/auth/register.post.description
Split free and paid self-service registration paths because paid plans must stop at a pending Stripe checkout until payment is actually confirmed.

Authentication: public endpoint.

# paths./api/auth/register.post.summary
Split free and paid self-service registration paths because paid plans must stop at a pending Stripe checkout until payment is actually confirmed.

# paths./api/auth/register/reconcile.get.description
Re-fetch authoritative Stripe Checkout state for a paid registration after the browser returns. This endpoint is a fallback UI refresh path only; webhook delivery remains the canonical account-finalization source.

# paths./api/auth/register/reconcile.get.parameters[].description
Stripe Checkout Session identifier returned by the registration flow for fallback re-sync only.

# paths./api/auth/token.post.description
Takes a set of user credentials and returns an access and refresh JSON web
token pair to prove the authentication of those credentials.

Authentication: public endpoint.

# paths./api/auth/token.post.summary
Takes a set of user credentials and returns an access and refresh JSON web

# paths./api/plans.get.description
Concrete view for listing a queryset.

Authentication: public endpoint.

# components.schemas.AuthProviderDescriptor.properties.code.description
Stable provider code used by the auth-provider API.

# components.schemas.AuthProviderDescriptor.properties.enabled.description
Whether the provider is currently available for end-user flows.

# components.schemas.AuthProviderDescriptor.properties.configured.description
Whether the backend has the environment credentials required to use this provider.

# components.schemas.AuthProviderDescriptor.properties.admin_enabled.description
Whether admins currently allow this provider for end-user flows.

# components.schemas.AuthProviderDescriptor.properties.public_enabled.description
Whether the provider is both configured and enabled by admin for end-user flows.

# components.schemas.AuthProviderDescriptor.properties.supports_login.description
Whether the provider supports public login and registration flows.

# components.schemas.AuthProviderDescriptor.properties.supports_link.description
Whether the provider supports linking from account security.

# components.schemas.AuthProviderDescriptor.properties.supports_test.description
Whether the provider supports interactive credential testing.

# components.schemas.AuthProviderStart.properties.intent.description
Auth-provider flow intent. `admin_test` is reserved for authenticated admins.

* `login` - login
* `link` - link
* `test_auth` - test_auth
* `admin_test` - admin_test

# components.schemas.AuthProviderStart.properties.return_path.description
Optional frontend-relative return path that should receive the result token after callback completion.

# components.schemas.OpenApiApiRootNamespaces.properties.accounts.description
Entry path for auth and account endpoints.

# components.schemas.OpenApiApiRootNamespaces.properties.admin.description
Entry path for admin and operator endpoints.

# components.schemas.OpenApiApiRootNamespaces.properties.billing.description
Entry path for billing and membership endpoints.

# components.schemas.OpenApiApiRootNamespaces.properties.plans.description
Entry path for plan and model catalog endpoints.

# components.schemas.OpenApiApiRootResponse.properties.service.description
Human-readable label for the backend API surface.

# components.schemas.OpenApiApiRootResponse.properties.docs_url.description
Swagger UI path for interactive API docs.

# components.schemas.OpenApiAuthProviderStartResponse.properties.auth_url.description
Provider authorization URL that the frontend should open in the browser.

# components.schemas.OpenApiCompatTokenPairResponse.properties.refresh_token.description
Refresh token used to mint a new access token.

# components.schemas.OpenApiEmailChangeRevertConfirmRequest.properties.token.description
Opaque email-change revert token from the old-email recovery link.

# components.schemas.OpenApiEmailChangeRevertResponse.properties.old_email.description
Previous email address eligible for restore.

# components.schemas.OpenApiEmailChangeRevertResponse.properties.new_email.description
New email address currently on the account.

# components.schemas.OpenApiEmailChangeRevertResponse.properties.reversal_expires_at.description
Timestamp when the revert window closes.

# components.schemas.OpenApiEmailChangeRevertResponse.properties.reverted_at.description
Timestamp when a confirmed revert completed.

# components.schemas.OpenApiEmailChangeRevertResponse.properties.disconnected_provider_count.description
External sign-in methods removed during a confirmed revert.

# components.schemas.OpenApiOkResponse.properties.ok.description
Whether the operation completed successfully.

# components.schemas.OpenApiPasswordResetConfirmRequest.properties.token.description
Opaque password-reset token from the reset email link.

# components.schemas.OpenApiPasswordResetRequest.properties.email.description
Account email address that should receive the password-reset flow.

# components.schemas.OpenApiPublicThemeResponse.properties.allow_new_registration.description
Whether anonymous self-service registration is currently allowed.

# components.schemas.OpenApiPublicThemeResponse.properties.root_route_auth_redirect_enabled.description
Whether the public root route sends signed-out visitors to login.

# components.schemas.OpenApiPublicThemeResponse.properties.turnstile.description
Public Cloudflare Turnstile configuration for anonymous auth forms.

# components.schemas.OpenApiPublicThemeResponse.properties.default_font_size_px.description
Runtime-configured default browser root font size.

# components.schemas.OpenApiPublicThemeResponse.properties.cache_version.description
Monotonic cache version for the cached public runtime snapshot.

# components.schemas.OpenApiPublicThemeResponse.properties.cache_built_at.description
Timestamp when the cached public runtime snapshot was last successfully built.

# components.schemas.OpenApiRegisterCompletedResponse.properties.ok.description
Whether the registration completed successfully.

# components.schemas.OpenApiRegisterPendingPaymentResponse.properties.ok.description
Whether the registration request was accepted.

# components.schemas.OpenApiRegisterReconcileResponse.properties.checkout_url.description
Stripe-hosted Checkout URL when payment can continue.

# components.schemas.OpenApiRegisterRequest.properties.password.description
Plain-text password for the new account.

# components.schemas.OpenApiRegisterRequest.properties.plan_code.description
Optional self-service plan code. Omit to use the current default free plan.

# components.schemas.OpenApiRegisterRequest.properties.billing_interval.description
Required for paid plans. Ignored for free-plan registration.

* `monthly` - monthly
* `yearly` - yearly

# components.schemas.Plan.properties.visibility.description
* `admin_only` - admin_only
* `self_service` - self_service

# components.securitySchemes.BearerAuth.description
JWT bearer token returned by the auth endpoints.