Athena — the assistant
The conversational assistant: sessions, chat turns, background tasks and the assistant’s own configuration.
Every address below is served under the control plane’s base URL. Permission is the guard the route is registered with; who holds it is read from the control plane’s own grant, so it cannot drift from what the server does. A dash means the route carries no permission guard of its own — the access tier below the table is then the whole of what stands in front of it.
Generated from Route. Hand edits to this table are overwritten on the next build — change the Go doc comment, or the generator.
| Route | Permission | Who holds it | Body |
|---|---|---|---|
GET /api/v1/athena/ai-settings |
— | — | — |
PUT /api/v1/athena/ai-settings |
— | — | — |
PUT /api/v1/athena/ai-settings/chat-provider |
— | — | — |
GET /api/v1/athena/ai-settings/claude-md |
— | — | — |
PUT /api/v1/athena/ai-settings/claude-md |
— | — | — |
POST /api/v1/athena/ai-settings/claude-md/reset |
— | — | — |
GET /api/v1/athena/ai-settings/claude-md/versions |
— | — | — |
GET /api/v1/athena/ai-settings/claude-md/versions/{filename} |
— | — | — |
POST /api/v1/athena/ai-settings/claude-md/versions/{filename}/restore |
— | — | — |
GET /api/v1/athena/ai-settings/models |
— | — | — |
POST /api/v1/athena/ai-settings/models/refresh |
— | — | — |
POST /api/v1/athena/ai-settings/oauth/login/complete |
— | — | — |
POST /api/v1/athena/ai-settings/oauth/login/start |
— | — | — |
POST /api/v1/athena/ai-settings/oauth/logout |
— | — | — |
GET /api/v1/athena/ai-settings/oauth/status |
— | — | — |
GET /api/v1/athena/ai-settings/system-prompt |
— | — | — |
PUT /api/v1/athena/ai-settings/system-prompt |
— | — | — |
POST /api/v1/athena/ai-settings/system-prompt/reset |
— | — | — |
GET /api/v1/athena/ai-settings/token-usage |
— | — | — |
PUT /api/v1/athena/ai-settings/token-usage/alert |
— | — | — |
GET /api/v1/athena/audit |
— | — | — |
GET /api/v1/athena/audit/stats |
— | — | — |
POST /api/v1/athena/chat |
— | — | — |
DELETE /api/v1/athena/config/api-key |
— | — | — |
GET /api/v1/athena/config/api-key |
— | — | — |
POST /api/v1/athena/config/api-key |
— | — | — |
GET /api/v1/athena/config/cli-auth |
— | — | — |
POST /api/v1/athena/config/cli-auth/refresh |
— | — | — |
DELETE /api/v1/athena/config/oauth |
— | — | — |
GET /api/v1/athena/config/oauth |
— | — | — |
POST /api/v1/athena/config/oauth |
— | — | — |
GET /api/v1/athena/jobs |
— | — | — |
GET /api/v1/athena/oauth/callback |
— | — | — |
GET /api/v1/athena/oauth/connect |
— | — | — |
POST /api/v1/athena/oauth/disconnect |
— | — | — |
GET /api/v1/athena/oauth/status |
— | — | — |
GET /api/v1/athena/requests/{requestId} |
— | — | — |
POST /api/v1/athena/sessions |
— | — | — |
DELETE /api/v1/athena/sessions/{sessionId} |
— | — | — |
GET /api/v1/athena/sessions/{sessionId} |
— | — | — |
GET /api/v1/athena/status |
— | — | — |
GET /api/v1/athena/tasks |
— | — | — |
POST /api/v1/athena/tasks/cleanup |
— | — | — |
DELETE /api/v1/athena/tasks/{taskId} |
— | — | — |
GET /api/v1/athena/tasks/{taskId} |
— | — | — |
GET /api/v1/athena/tools |
— | — | — |
GET /api/v1/athena/usage |
config:read |
developer, operator, readonly, support |
— |
GET /api/v1/athena/v2/tasks |
— | — | — |
DELETE /api/v1/athena/v2/tasks/{taskId} |
— | — | — |
GET /api/v1/athena/v2/tasks/{taskId} |
— | — | — |
GET /api/v1/athena/v2/tasks/{taskId}/logs |
— | — | — |
Who can reach these at all
Section titled “Who can reach these at all”authenticated — Behind authentication, cross-site-request-forgery validation and tenant extraction. Every call acts inside exactly one tenant.
platform-operator — Platform-operator surface, across tenants. Not part of a tenant’s own API.