# Spillway > The control plane where AI spend is governed, not just observed. - [Introduction](https://spillway.mintlify.app/index.md): The control plane where AI spend is governed, not just observed. - [Quickstart](https://spillway.mintlify.app/quickstart.md): Switch two lines, make your first governed request, watch a budget block spend before it happens. - [Installation](https://spillway.mintlify.app/installation.md): Run the Spillway gateway and dashboard locally. - [Virtual keys & provider keys](https://spillway.mintlify.app/configuration/virtual-keys.md): The two key types: what callers use, and what Spillway uses to reach providers. - [Budgets](https://spillway.mintlify.app/configuration/budgets.md): Spend caps that block before the provider is called — not alerts after the invoice. - [Guardrails](https://spillway.mintlify.app/configuration/guardrails.md): Match-and-effect policies evaluated on every request — deny or flag. - [Routing & aliases](https://spillway.mintlify.app/configuration/routing.md): Rewrite a model to a cheaper equivalent, or fall back to one when it fails. - [Approvals & automation](https://spillway.mintlify.app/configuration/approvals-and-automation.md): Tiered approval chains for changes that need sign-off, and rules that react to events. - [Teams & orgs](https://spillway.mintlify.app/configuration/teams-and-orgs.md): The tenancy hierarchy everything else is scoped against. - [Architecture](https://spillway.mintlify.app/architecture.md): One Fastify process, two planes, one Postgres database. - [Troubleshooting](https://spillway.mintlify.app/troubleshooting.md): Common failure modes, what causes them, and how to trace a request. - [Pricing](https://spillway.mintlify.app/pricing.md): Flat monthly tiers. Never a percentage of your spend. - [API reference](https://spillway.mintlify.app/api-reference/introduction.md): Every data-plane and control-plane endpoint, generated from the request/response schemas the server actually validates. - [Errors](https://spillway.mintlify.app/api-reference/errors.md): Response shapes and the stable error code taxonomy. - [OpenAI-compatible chat completion (streaming when `stream:true`).](https://spillway.mintlify.app/api-reference/gateway/openai-compatible-chat-completion-streaming-when-`stream:true`.md) - [Anthropic-compatible messages endpoint.](https://spillway.mintlify.app/api-reference/gateway/anthropic-compatible-messages-endpoint.md) - [Merged model catalogue (org providers + aliases).](https://spillway.mintlify.app/api-reference/gateway/merged-model-catalogue-org-providers-+-aliases.md) - [List orgs the caller belongs to.](https://spillway.mintlify.app/api-reference/orgs/list-orgs-the-caller-belongs-to.md) - [Create an org.](https://spillway.mintlify.app/api-reference/orgs/create-an-org.md) - [Get the active org.](https://spillway.mintlify.app/api-reference/orgs/get-the-active-org.md) - [Update the active org (settings, data policy).](https://spillway.mintlify.app/api-reference/orgs/update-the-active-org-settings-data-policy.md) - [List members.](https://spillway.mintlify.app/api-reference/members/list-members.md) - [Invite a member by email.](https://spillway.mintlify.app/api-reference/members/invite-a-member-by-email.md) - [Remove a member (≥1 owner invariant enforced).](https://spillway.mintlify.app/api-reference/members/remove-a-member-≥1-owner-invariant-enforced.md) - [Change a member's role.](https://spillway.mintlify.app/api-reference/members/change-a-members-role.md) - [List teams.](https://spillway.mintlify.app/api-reference/teams/list-teams.md) - [Create a team.](https://spillway.mintlify.app/api-reference/teams/create-a-team.md) - [Delete a team.](https://spillway.mintlify.app/api-reference/teams/delete-a-team.md) - [Update a team.](https://spillway.mintlify.app/api-reference/teams/update-a-team.md) - [List provider keys (metadata only; ciphertext never returned).](https://spillway.mintlify.app/api-reference/provider-keys/list-provider-keys-metadata-only;-ciphertext-never-returned.md) - [Add a provider key (sealed AES-256-GCM).](https://spillway.mintlify.app/api-reference/provider-keys/add-a-provider-key-sealed-aes-256-gcm.md) - [Delete a provider key.](https://spillway.mintlify.app/api-reference/provider-keys/delete-a-provider-key.md) - [List virtual keys.](https://spillway.mintlify.app/api-reference/virtual-keys/list-virtual-keys.md) - [Mint a virtual key (plaintext returned ONCE).](https://spillway.mintlify.app/api-reference/virtual-keys/mint-a-virtual-key-plaintext-returned-once.md) - [Update a virtual key (pause/revoke/limits).](https://spillway.mintlify.app/api-reference/virtual-keys/update-a-virtual-key-pauserevokelimits.md) - [List admin API keys.](https://spillway.mintlify.app/api-reference/admin-keys/list-admin-api-keys.md): ⚠️ **Admin-key authentication is not yet enabled.** Keys can be minted, listed, and revoked, but no request path accepts them as a credential yet — a minted key grants nothing until the verify path ships. - [Mint an admin API key (plaintext returned ONCE).](https://spillway.mintlify.app/api-reference/admin-keys/mint-an-admin-api-key-plaintext-returned-once.md): ⚠️ **Admin-key authentication is not yet enabled.** The key is minted and revealed once, and the response carries a `warning` field saying so — it does not grant access until the verify path ships. Do not build automation against admin keys yet. - [Update an admin API key (revoke).](https://spillway.mintlify.app/api-reference/admin-keys/update-an-admin-api-key-revoke.md) - [List budgets.](https://spillway.mintlify.app/api-reference/budgets/list-budgets.md) - [Create a budget.](https://spillway.mintlify.app/api-reference/budgets/create-a-budget.md) - [Delete a budget.](https://spillway.mintlify.app/api-reference/budgets/delete-a-budget.md) - [Update a budget.](https://spillway.mintlify.app/api-reference/budgets/update-a-budget.md) - [List model aliases.](https://spillway.mintlify.app/api-reference/routing/list-model-aliases.md) - [Create a model alias.](https://spillway.mintlify.app/api-reference/routing/create-a-model-alias.md) - [Delete a model alias.](https://spillway.mintlify.app/api-reference/routing/delete-a-model-alias.md) - [Update a model alias.](https://spillway.mintlify.app/api-reference/routing/update-a-model-alias.md) - [List routing rules.](https://spillway.mintlify.app/api-reference/routing/list-routing-rules.md) - [Create a routing rule.](https://spillway.mintlify.app/api-reference/routing/create-a-routing-rule.md) - [Delete a routing rule.](https://spillway.mintlify.app/api-reference/routing/delete-a-routing-rule.md) - [Update a routing rule.](https://spillway.mintlify.app/api-reference/routing/update-a-routing-rule.md) - [List guardrail policies.](https://spillway.mintlify.app/api-reference/guardrails/list-guardrail-policies.md) - [Create a guardrail policy.](https://spillway.mintlify.app/api-reference/guardrails/create-a-guardrail-policy.md) - [Delete a guardrail policy.](https://spillway.mintlify.app/api-reference/guardrails/delete-a-guardrail-policy.md) - [Update a guardrail policy.](https://spillway.mintlify.app/api-reference/guardrails/update-a-guardrail-policy.md) - [Shadow-impact aggregate — "would have denied N requests / blocked $X" (16 §8.2).](https://spillway.mintlify.app/api-reference/guardrails/shadow-impact-aggregate-—-"would-have-denied-n-requests-blocked-$x"-16-§82.md) - [Lint the effective routing rules + guardrail policies (16 §9.1 L1/L2/L5).](https://spillway.mintlify.app/api-reference/guardrails/lint-the-effective-routing-rules-+-guardrail-policies-16-§91-l1l2l5.md) - [Query the policy decision log (effect/policy/time filters).](https://spillway.mintlify.app/api-reference/guardrails/query-the-policy-decision-log-effectpolicytime-filters.md) - [Get a single decision-log record (the "why was this denied" drill-down).](https://spillway.mintlify.app/api-reference/guardrails/get-a-single-decision-log-record-the-"why-was-this-denied"-drill-down.md) - [List alerts.](https://spillway.mintlify.app/api-reference/alerts/list-alerts.md) - [Create an alert.](https://spillway.mintlify.app/api-reference/alerts/create-an-alert.md) - [Delete an alert.](https://spillway.mintlify.app/api-reference/alerts/delete-an-alert.md) - [Update an alert.](https://spillway.mintlify.app/api-reference/alerts/update-an-alert.md) - [List approval requests.](https://spillway.mintlify.app/api-reference/approvals/list-approval-requests.md) - [Open a human-initiated approval request (budget increase / key unpause).](https://spillway.mintlify.app/api-reference/approvals/open-a-human-initiated-approval-request-budget-increase-key-unpause.md) - [Get an approval request.](https://spillway.mintlify.app/api-reference/approvals/get-an-approval-request.md) - [Cast an approve/reject decision.](https://spillway.mintlify.app/api-reference/approvals/cast-an-approvereject-decision.md) - [Cancel an approval request.](https://spillway.mintlify.app/api-reference/approvals/cancel-an-approval-request.md) - [List approval policies.](https://spillway.mintlify.app/api-reference/approvals/list-approval-policies.md) - [Create an approval policy.](https://spillway.mintlify.app/api-reference/approvals/create-an-approval-policy.md) - [Delete an approval policy.](https://spillway.mintlify.app/api-reference/approvals/delete-an-approval-policy.md) - [Update an approval policy.](https://spillway.mintlify.app/api-reference/approvals/update-an-approval-policy.md) - [List approval delegations.](https://spillway.mintlify.app/api-reference/approvals/list-approval-delegations.md) - [Create an approval delegation.](https://spillway.mintlify.app/api-reference/approvals/create-an-approval-delegation.md) - [Revoke an approval delegation.](https://spillway.mintlify.app/api-reference/approvals/revoke-an-approval-delegation.md) - [List automation rules.](https://spillway.mintlify.app/api-reference/automation/list-automation-rules.md) - [Create an automation rule.](https://spillway.mintlify.app/api-reference/automation/create-an-automation-rule.md) - [Reorder automation-rule priority.](https://spillway.mintlify.app/api-reference/automation/reorder-automation-rule-priority.md) - [Delete an automation rule.](https://spillway.mintlify.app/api-reference/automation/delete-an-automation-rule.md) - [Update an automation rule.](https://spillway.mintlify.app/api-reference/automation/update-an-automation-rule.md) - [Query the request log.](https://spillway.mintlify.app/api-reference/reporting/query-the-request-log.md) - [Monthly chargeback statement (per team/key/model).](https://spillway.mintlify.app/api-reference/reporting/monthly-chargeback-statement-per-teamkeymodel.md) - [Savings insights report.](https://spillway.mintlify.app/api-reference/reporting/savings-insights-report.md) - [Trigger an on-demand insights run.](https://spillway.mintlify.app/api-reference/reporting/trigger-an-on-demand-insights-run.md) - [Dashboard KPI overview.](https://spillway.mintlify.app/api-reference/reporting/dashboard-kpi-overview.md) - [Spend time-series for the overview chart.](https://spillway.mintlify.app/api-reference/reporting/spend-time-series-for-the-overview-chart.md) - [Model-mix breakdown.](https://spillway.mintlify.app/api-reference/reporting/model-mix-breakdown.md) ## OpenAPI Specs - [openapi](/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/AAdityaisme/spillway) - [Security policy](https://github.com/AAdityaisme/spillway/security/policy) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.