API reference ​
Generated from the route table of apps/api by pnpm docs:generate. Do not edit by hand. The machine-readable form is openapi.json (OpenAPI 3.1).
| Permission | Meaning |
|---|---|
public | No session required. Webhooks verify their own signatures. |
authenticated | Any signed-in user. |
instance:manage | Instance admin. |
tenant:view, tenant:manage | Member or admin of the tenant in the path. |
repo:view, repo:review, repo:manage | Role on the repository in the path. |
Requests that change data need the session cookie, the CSRF token header and, when sent by a browser, a matching Origin. POST /mcp takes a personal MCP access token in the Authorization: Bearer header instead and ignores cookies (MCP server). "Audited" is filled in where the route contract in apps/api/src/routes/planned.ts records it. "Body" names the request schema exported by @quavon/shared-types.
| Method | Path | Permission | Audited | Body |
|---|---|---|---|---|
| GET | /api/instance/assignment/legal-sign-off | instance:manage | ||
| PUT | /api/instance/assignment/legal-sign-off | instance:manage | LegalSignOffUpdate | |
| GET | /api/instance/audit | instance:manage | ||
| GET | /api/instance/audit/export | instance:manage | ||
| GET | /api/instance/audit/verify | instance:manage | ||
| GET | /api/instance/eval-runs | instance:manage | no | |
| GET | /api/instance/github-apps | instance:manage | ||
| POST | /api/instance/github-apps | instance:manage | GitHubAppRegister | |
| DELETE | /api/instance/github-apps/:providerAppId | instance:manage | ||
| PATCH | /api/instance/github-apps/:providerAppId | instance:manage | GitHubAppUpdate | |
| POST | /api/instance/github-apps/:providerAppId/test | instance:manage | ||
| GET | /api/instance/identity-providers | instance:manage | no | |
| POST | /api/instance/identity-providers | instance:manage | yes | IdentityProviderCreate |
| DELETE | /api/instance/identity-providers/:identityProviderId | instance:manage | yes | |
| PATCH | /api/instance/identity-providers/:identityProviderId | instance:manage | yes | IdentityProviderUpdate |
| POST | /api/instance/identity-providers/:identityProviderId/test | instance:manage | yes | |
| GET | /api/instance/settings | instance:manage | ||
| PUT | /api/instance/settings | instance:manage | InstanceSettingsUpdate | |
| GET | /api/instance/setup-state | instance:manage | ||
| GET | /api/instance/telemetry | instance:manage | no | |
| PUT | /api/instance/telemetry | instance:manage | yes | ProductTelemetryUpdate |
| GET | /api/me | authenticated | ||
| GET | /api/me/tenants | authenticated | ||
| GET | /api/me/tenants/:tenantId/analytics | tenant:view | no | |
| GET | /api/me/tenants/:tenantId/assignment | tenant:view | ||
| PUT | /api/me/tenants/:tenantId/assignment | tenant:view | MyAssignmentSettingsUpdate | |
| GET | /api/me/tenants/:tenantId/assignment/availability | tenant:view | ||
| POST | /api/me/tenants/:tenantId/assignment/availability | tenant:view | AvailabilityCreate | |
| DELETE | /api/me/tenants/:tenantId/assignment/availability/:id | tenant:view | ||
| GET | /api/me/tenants/:tenantId/push-subscriptions | tenant:view | ||
| PUT | /api/me/tenants/:tenantId/push-subscriptions | tenant:view | PushSubscriptionCreate | |
| DELETE | /api/me/tenants/:tenantId/push-subscriptions/:id | tenant:view | ||
| PATCH | /api/me/tenants/:tenantId/push-subscriptions/:id | tenant:view | PushSubscriptionUpdate | |
| POST | /api/me/tenants/:tenantId/push-subscriptions/:id/test | tenant:view | ||
| GET | /api/tenants/:tenantId/access | tenant:view | ||
| GET | /api/tenants/:tenantId/analytics | tenant:manage | no | |
| GET | /api/tenants/:tenantId/analytics/costs | tenant:manage | no | |
| GET | /api/tenants/:tenantId/analytics/settings | tenant:view | no | |
| PUT | /api/tenants/:tenantId/analytics/settings | tenant:manage | yes | AnalyticsSettingsUpdate |
| GET | /api/tenants/:tenantId/analytics/teams | tenant:manage | no | |
| POST | /api/tenants/:tenantId/analytics/teams | tenant:manage | yes | AnalyticsTeamCreate |
| DELETE | /api/tenants/:tenantId/analytics/teams/:teamId | tenant:manage | yes | |
| PATCH | /api/tenants/:tenantId/analytics/teams/:teamId | tenant:manage | yes | AnalyticsTeamUpdate |
| GET | /api/tenants/:tenantId/approvals | tenant:manage | ||
| GET | /api/tenants/:tenantId/assignment/settings | tenant:view | ||
| PUT | /api/tenants/:tenantId/assignment/settings | tenant:manage | TenantAssignmentSettingsUpdate | |
| GET | /api/tenants/:tenantId/assignment/transparency | tenant:view | ||
| GET | /api/tenants/:tenantId/audit | tenant:manage | ||
| GET | /api/tenants/:tenantId/audit/export | tenant:manage | ||
| GET | /api/tenants/:tenantId/audit/verify | tenant:manage | ||
| GET | /api/tenants/:tenantId/budget-alerts | tenant:manage | no | |
| POST | /api/tenants/:tenantId/budget-alerts/:alertId/acknowledge | tenant:manage | yes | |
| GET | /api/tenants/:tenantId/dashboard | tenant:view | ||
| GET | /api/tenants/:tenantId/identity-providers | tenant:manage | no | |
| GET | /api/tenants/:tenantId/inbox | tenant:view | ||
| GET | /api/tenants/:tenantId/llm-credentials | tenant:manage | ||
| POST | /api/tenants/:tenantId/llm-credentials | tenant:manage | LlmCredentialCreate | |
| DELETE | /api/tenants/:tenantId/llm-credentials/:credentialId | tenant:manage | ||
| PATCH | /api/tenants/:tenantId/llm-credentials/:credentialId | tenant:manage | LlmCredentialUpdate | |
| GET | /api/tenants/:tenantId/llm-credentials/:credentialId/models | tenant:manage | no | |
| POST | /api/tenants/:tenantId/llm-credentials/:credentialId/test | tenant:manage | ConnectionTestRequest | |
| GET | /api/tenants/:tenantId/llm-policy | tenant:view | ||
| PUT | /api/tenants/:tenantId/llm-policy | tenant:manage | TenantLlmPolicy | |
| GET | /api/tenants/:tenantId/mcp-servers | tenant:manage | ||
| POST | /api/tenants/:tenantId/mcp-servers | tenant:manage | McpServerCreate | |
| DELETE | /api/tenants/:tenantId/mcp-servers/:serverId | tenant:manage | ||
| PATCH | /api/tenants/:tenantId/mcp-servers/:serverId | tenant:manage | McpServerUpdate | |
| GET | /api/tenants/:tenantId/mcp-servers/:serverId/calls | tenant:manage | ||
| POST | /api/tenants/:tenantId/mcp-servers/:serverId/discover | tenant:manage | ||
| PUT | /api/tenants/:tenantId/mcp-servers/:serverId/tools | tenant:manage | McpToolAllowlist | |
| GET | /api/tenants/:tenantId/mcp-settings | tenant:view | ||
| PUT | /api/tenants/:tenantId/mcp-settings | tenant:manage | McpServerSettings | |
| GET | /api/tenants/:tenantId/mcp-tokens | tenant:view | ||
| POST | /api/tenants/:tenantId/mcp-tokens | tenant:view | McpTokenCreate | |
| DELETE | /api/tenants/:tenantId/mcp-tokens/:tokenId | tenant:view | ||
| GET | /api/tenants/:tenantId/members | tenant:manage | ||
| GET | /api/tenants/:tenantId/notification-channels | tenant:manage | ||
| POST | /api/tenants/:tenantId/notification-channels | tenant:manage | NotificationChannelCreate | |
| DELETE | /api/tenants/:tenantId/notification-channels/:channelId | tenant:manage | ||
| PATCH | /api/tenants/:tenantId/notification-channels/:channelId | tenant:manage | NotificationChannelUpdate | |
| GET | /api/tenants/:tenantId/notification-channels/:channelId/deliveries | tenant:manage | ||
| POST | /api/tenants/:tenantId/notification-channels/:channelId/secret | tenant:manage | ||
| POST | /api/tenants/:tenantId/notification-channels/:channelId/test | tenant:manage | ||
| GET | /api/tenants/:tenantId/oidc-role-mappings | tenant:manage | no | |
| POST | /api/tenants/:tenantId/oidc-role-mappings | tenant:manage | yes | OidcRoleMappingCreate |
| DELETE | /api/tenants/:tenantId/oidc-role-mappings/:mappingId | tenant:manage | yes | |
| GET | /api/tenants/:tenantId/pattern-repositories | tenant:view | ||
| POST | /api/tenants/:tenantId/pattern-repositories | tenant:manage | PatternRepositoryCreate | |
| DELETE | /api/tenants/:tenantId/pattern-repositories/:linkId | tenant:manage | ||
| GET | /api/tenants/:tenantId/provider-connections | tenant:manage | no | |
| POST | /api/tenants/:tenantId/provider-connections | tenant:manage | yes | ProviderConnectionCreate |
| DELETE | /api/tenants/:tenantId/provider-connections/:connectionId | tenant:manage | yes | |
| PATCH | /api/tenants/:tenantId/provider-connections/:connectionId | tenant:manage | yes | ProviderConnectionUpdate |
| POST | /api/tenants/:tenantId/provider-connections/:connectionId/sync | tenant:manage | yes | |
| POST | /api/tenants/:tenantId/provider-connections/:connectionId/webhook-secret | tenant:manage | yes | |
| GET | /api/tenants/:tenantId/repositories | tenant:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/ac-checks | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/analytics | repo:view | no | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/analytics/costs | repo:manage | no | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/approvals | repo:review | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/approvals/:pendingOutputId/approve | repo:review | ApprovalDecision | |
| POST | /api/tenants/:tenantId/repositories/:repositoryId/approvals/:pendingOutputId/reject | repo:review | ApprovalDecision | |
| PUT | /api/tenants/:tenantId/repositories/:repositoryId/assignment/apply-opt-in | tenant:manage | ApplyOptInUpdate | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/assignment/gate | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/assignment/workload | repo:manage | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/assignments | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/calibration | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/ci-analyses | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/ci-analyses/:analysisId | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/code-index | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/code-index/rebuild | repo:manage | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/dry-runs | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/dry-runs | repo:manage | DryRunCreate | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/dry-runs/:dryRunId | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/dry-runs/:dryRunId/cancel | repo:manage | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/feature-settings | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/fix-runs | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/fix-runs/:fixRunId | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/links | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/links | tenant:manage | RepositoryLinkCreate | |
| DELETE | /api/tenants/:tenantId/repositories/:repositoryId/links/:linkId | tenant:manage | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/llm-policy | repo:view | ||
| PUT | /api/tenants/:tenantId/repositories/:repositoryId/llm-policy | repo:manage | RepoLlmPolicy | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/policy | repo:view | ||
| PUT | /api/tenants/:tenantId/repositories/:repositoryId/policy | repo:manage | RepositoryPolicyUpdate | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/review-runs | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/review-runs/:runId | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/review-runs/:runId/fixes | repo:manage | ReviewFixRequest | |
| POST | /api/tenants/:tenantId/repositories/:repositoryId/review-runs/:runId/rerun | repo:manage | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/rules | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/rules | repo:manage | RuleCreate | |
| DELETE | /api/tenants/:tenantId/repositories/:repositoryId/rules/:ruleId | repo:manage | ||
| PATCH | /api/tenants/:tenantId/repositories/:repositoryId/rules/:ruleId | repo:manage | RuleUpdate | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/rules/effective | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/sast-runs | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/sast-runs/:sastRunId | repo:view | ||
| GET | /api/tenants/:tenantId/repositories/:repositoryId/suppressions | repo:view | ||
| POST | /api/tenants/:tenantId/repositories/:repositoryId/suppressions/:suppressionId/decision | repo:manage | SuppressionDecision | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/tracker-links | repo:view | no | |
| GET | /api/tenants/:tenantId/repositories/:repositoryId/triage-runs | repo:view | ||
| GET | /api/tenants/:tenantId/repository-defaults | tenant:view | ||
| PUT | /api/tenants/:tenantId/repository-defaults | tenant:manage | RepositoryDefaultsUpdate | |
| GET | /api/tenants/:tenantId/rules | tenant:view | ||
| POST | /api/tenants/:tenantId/rules | tenant:manage | RuleCreate | |
| DELETE | /api/tenants/:tenantId/rules/:ruleId | tenant:manage | ||
| PATCH | /api/tenants/:tenantId/rules/:ruleId | tenant:manage | RuleUpdate | |
| GET | /api/tenants/:tenantId/settings | tenant:view | ||
| PUT | /api/tenants/:tenantId/settings | tenant:manage | TenantSettingsUpdate | |
| GET | /api/tenants/:tenantId/tracker-connections | tenant:manage | no | |
| POST | /api/tenants/:tenantId/tracker-connections | tenant:manage | yes | TrackerConnectionCreate |
| DELETE | /api/tenants/:tenantId/tracker-connections/:connectionId | tenant:manage | yes | |
| PATCH | /api/tenants/:tenantId/tracker-connections/:connectionId | tenant:manage | yes | TrackerConnectionUpdate |
| POST | /api/tenants/:tenantId/tracker-connections/:connectionId/backfill | tenant:manage | yes | |
| POST | /api/tenants/:tenantId/tracker-connections/:connectionId/oauth/start | tenant:manage | yes | |
| POST | /api/tenants/:tenantId/tracker-connections/:connectionId/test | tenant:manage | yes | |
| POST | /api/tenants/:tenantId/tracker-connections/:connectionId/validate-mapping | tenant:manage | yes | |
| POST | /api/tenants/:tenantId/tracker-connections/:connectionId/webhook-secret | tenant:manage | yes | |
| GET | /auth/break-glass | public | ||
| GET | /auth/github/callback | public | ||
| GET | /auth/github/login | public | ||
| POST | /auth/logout | authenticated | ||
| GET | /auth/oidc/:slug/callback | public | no | |
| GET | /auth/oidc/:slug/login | public | no | |
| GET | /auth/providers | public | no | |
| GET | /auth/trackers/jira/callback | authenticated | yes | |
| GET | /healthz | public | ||
| DELETE | /mcp | public | ||
| GET | /mcp | public | ||
| POST | /mcp | authenticated | ||
| GET | /readyz | public | ||
| GET | /setup/github/callback | public | ||
| GET | /setup/github/installed | public | ||
| GET | /setup/github/manifest | public | ||
| POST | /setup/github/register | public | SetupRegisterApp | |
| GET | /setup/github/state | public | ||
| GET | /version | public | ||
| POST | /webhooks/azure-boards/:connectionId | public | no | |
| POST | /webhooks/azure-devops/:connectionId | public | ||
| POST | /webhooks/bitbucket-dc/:connectionId | public | no | |
| POST | /webhooks/bitbucket/:connectionId | public | no | |
| POST | /webhooks/forgejo/:connectionId | public | no | |
| POST | /webhooks/gitea/:connectionId | public | no | |
| POST | /webhooks/github | public | ||
| POST | /webhooks/gitlab/:connectionId | public | ||
| POST | /webhooks/jira/:connectionId | public | no | |
| POST | /webhooks/linear/:connectionId | public | no |