Files
turnstone/sdk/typescript/openapi-console.json
T
Patrick Buckley 341d2f604f fix: address PR #118 review feedback
- Regenerate OpenAPI snapshots (openapi-console.json) to include license
  and compatibility fields in SkillInfo/CreateSkillRequest/UpdateSkillRequest
- Omit version from create/update payloads when blank so server applies
  default "1.0.0" instead of storing empty string
- Push enabled_only + limit filters into list_skills_by_activation storage
  query (protocol, SQLite, PostgreSQL) instead of loading all rows and
  filtering in Python; session.py now passes enabled_only=True, limit=30
- License length cap ([:128]) was already applied in previous commit
2026-03-17 16:09:06 -07:00

7606 lines
186 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "turnstone Console API",
"version": "0.8.2",
"description": "Cluster-wide visibility and control across all turnstone nodes."
},
"paths": {
"/v1/api/cluster/overview": {
"get": {
"summary": "Cluster state summary",
"operationId": "v1_api_cluster_overview_get",
"tags": [
"Cluster"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterOverviewResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/nodes": {
"get": {
"summary": "Paginated node list",
"operationId": "v1_api_cluster_nodes_get",
"tags": [
"Cluster"
],
"parameters": [
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "activity",
"enum": [
"activity",
"tokens",
"name"
]
},
"description": "Sort field"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 100
},
"description": "Page size"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterNodesResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/workstreams": {
"get": {
"summary": "Filtered workstream list",
"operationId": "v1_api_cluster_workstreams_get",
"tags": [
"Cluster"
],
"parameters": [
{
"name": "state",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"running",
"thinking",
"attention",
"idle",
"error"
]
},
"description": "Filter by state"
},
{
"name": "node",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by node_id"
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Search in name/title/node"
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "state",
"enum": [
"state",
"tokens",
"name"
]
},
"description": "Sort field"
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 1
},
"description": "Page number"
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 50
},
"description": "Items per page (max 200)"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterWorkstreamsResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/node/{node_id}": {
"get": {
"summary": "Single node detail",
"operationId": "v1_api_cluster_node_{node_id}_get",
"tags": [
"Cluster"
],
"parameters": [
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeDetailResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/workstreams/new": {
"post": {
"summary": "Create workstream via MQ dispatch",
"operationId": "v1_api_cluster_workstreams_new_post",
"tags": [
"Cluster"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsoleCreateWsRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsoleCreateWsResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"503": {
"description": "Error 503",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/snapshot": {
"get": {
"summary": "Full cluster state snapshot",
"operationId": "v1_api_cluster_snapshot_get",
"tags": [
"Cluster"
],
"description": "Returns the complete cluster state: all nodes with their workstreams and overview aggregates. Used for initial load and reconnection.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterSnapshotResponse"
}
}
}
}
}
}
},
"/v1/api/cluster/events": {
"get": {
"summary": "Cluster SSE event stream",
"operationId": "v1_api_cluster_events_get",
"tags": [
"Streaming"
],
"description": "Server-Sent Events stream for real-time cluster updates. First event is a 'snapshot' with full cluster state, followed by node_joined, node_lost, cluster_state, ws_created, ws_closed, ws_rename events.",
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v1/api/auth/login": {
"post": {
"summary": "Authenticate with a token",
"operationId": "v1_api_auth_login_post",
"tags": [
"Auth"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthLoginRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthLoginResponse"
}
}
}
},
"401": {
"description": "Error 401",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/auth/setup": {
"post": {
"summary": "Create first admin user",
"operationId": "v1_api_auth_setup_post",
"tags": [
"Auth"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthSetupRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthSetupResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"503": {
"description": "Error 503",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/auth/status": {
"get": {
"summary": "Return auth state",
"operationId": "v1_api_auth_status_get",
"tags": [
"Auth"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthStatusResponse"
}
}
}
}
}
}
},
"/v1/api/auth/logout": {
"post": {
"summary": "Clear auth cookie",
"operationId": "v1_api_auth_logout_post",
"tags": [
"Auth"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
}
}
}
},
"/v1/api/auth/oidc/authorize": {
"get": {
"summary": "Redirect to OIDC provider for SSO login",
"operationId": "v1_api_auth_oidc_authorize_get",
"tags": [
"Auth"
],
"responses": {
"302": {
"description": "Success"
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"503": {
"description": "Error 503",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/auth/oidc/callback": {
"get": {
"summary": "OIDC callback \u2014 validates code, provisions user, sets JWT cookie, redirects to app",
"operationId": "v1_api_auth_oidc_callback_get",
"tags": [
"Auth"
],
"responses": {
"302": {
"description": "Success"
}
}
}
},
"/v1/api/auth/whoami": {
"get": {
"summary": "Return authenticated user info and permissions",
"operationId": "v1_api_auth_whoami_get",
"tags": [
"Auth"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthWhoamiResponse"
}
}
}
},
"401": {
"description": "Error 401",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users": {
"get": {
"summary": "List all users",
"operationId": "v1_api_admin_users_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListUsersResponse"
}
}
}
}
}
},
"post": {
"summary": "Create a user",
"operationId": "v1_api_admin_users_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserInfo"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}": {
"delete": {
"summary": "Delete a user and their tokens",
"operationId": "v1_api_admin_users_{user_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}/tokens": {
"get": {
"summary": "List tokens for a user",
"operationId": "v1_api_admin_users_{user_id}_tokens_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTokensResponse"
}
}
}
}
}
},
"post": {
"summary": "Create an API token (raw token shown once)",
"operationId": "v1_api_admin_users_{user_id}_tokens_post",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTokenRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTokenResponse"
}
}
}
}
}
}
},
"/v1/api/admin/tokens/{token_id}": {
"delete": {
"summary": "Revoke an API token",
"operationId": "v1_api_admin_tokens_{token_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "token_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}/channels": {
"get": {
"summary": "List channel links for a user",
"operationId": "v1_api_admin_users_{user_id}_channels_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListChannelUsersResponse"
}
}
}
}
}
},
"post": {
"summary": "Link a channel account to a user",
"operationId": "v1_api_admin_users_{user_id}_channels_post",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateChannelUserRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelUserInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/channels/{channel_type}/{channel_user_id}": {
"delete": {
"summary": "Unlink a channel account",
"operationId": "v1_api_admin_channels_{channel_type}_{channel_user_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "channel_type",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "channel_user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}/oidc-identities": {
"get": {
"summary": "List OIDC identities linked to a user",
"operationId": "v1_api_admin_users_{user_id}_oidc-identities_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v1/api/admin/oidc-identities": {
"delete": {
"summary": "Unlink an OIDC identity (issuer + subject as query params)",
"operationId": "v1_api_admin_oidc-identities_delete",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/schedules": {
"get": {
"summary": "List all scheduled tasks",
"operationId": "v1_api_admin_schedules_get",
"tags": [
"Schedules"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSchedulesResponse"
}
}
}
}
}
},
"post": {
"summary": "Create a scheduled task",
"operationId": "v1_api_admin_schedules_post",
"tags": [
"Schedules"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateScheduleRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScheduleInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/schedules/{task_id}": {
"get": {
"summary": "Get a scheduled task",
"operationId": "v1_api_admin_schedules_{task_id}_get",
"tags": [
"Schedules"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScheduleInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"summary": "Update a scheduled task",
"operationId": "v1_api_admin_schedules_{task_id}_put",
"tags": [
"Schedules"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateScheduleRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScheduleInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a scheduled task",
"operationId": "v1_api_admin_schedules_{task_id}_delete",
"tags": [
"Schedules"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/schedules/{task_id}/runs": {
"get": {
"summary": "List run history for a scheduled task",
"operationId": "v1_api_admin_schedules_{task_id}_runs_get",
"tags": [
"Schedules"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 50
},
"description": "Max results (default 50, max 200)"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListScheduleRunsResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/roles": {
"get": {
"summary": "List all roles",
"operationId": "v1_api_admin_roles_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListRolesResponse"
}
}
}
}
}
},
"post": {
"summary": "Create a custom role",
"operationId": "v1_api_admin_roles_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateRoleRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/roles/{role_id}": {
"put": {
"summary": "Update a role",
"operationId": "v1_api_admin_roles_{role_id}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "role_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateRoleRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a custom role",
"operationId": "v1_api_admin_roles_{role_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "role_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}/roles": {
"get": {
"summary": "List roles assigned to a user",
"operationId": "v1_api_admin_users_{user_id}_roles_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListUserRolesResponse"
}
}
}
}
}
},
"post": {
"summary": "Assign a role to a user",
"operationId": "v1_api_admin_users_{user_id}_roles_post",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssignRoleRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/users/{user_id}/roles/{role_id}": {
"delete": {
"summary": "Unassign a role from a user",
"operationId": "v1_api_admin_users_{user_id}_roles_{role_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "role_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/orgs": {
"get": {
"summary": "List organizations",
"operationId": "v1_api_admin_orgs_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOrgsResponse"
}
}
}
}
}
}
},
"/v1/api/admin/orgs/{org_id}": {
"get": {
"summary": "Get organization details",
"operationId": "v1_api_admin_orgs_{org_id}_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrgInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"summary": "Update organization settings",
"operationId": "v1_api_admin_orgs_{org_id}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateOrgRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrgInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/policies": {
"get": {
"summary": "List tool policies",
"operationId": "v1_api_admin_policies_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListToolPoliciesResponse"
}
}
}
}
}
},
"post": {
"summary": "Create a tool policy",
"operationId": "v1_api_admin_policies_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateToolPolicyRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ToolPolicyInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/policies/{policy_id}": {
"put": {
"summary": "Update a tool policy",
"operationId": "v1_api_admin_policies_{policy_id}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "policy_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateToolPolicyRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ToolPolicyInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a tool policy",
"operationId": "v1_api_admin_policies_{policy_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "policy_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/discover": {
"get": {
"summary": "Search external skill registries for available skills",
"operationId": "v1_api_admin_skills_discover_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Search query"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "Max results (default 20, max 100)"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillDiscoverResponse"
}
}
}
},
"502": {
"description": "Error 502",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/install": {
"post": {
"summary": "Install skill(s) from an external source",
"operationId": "v1_api_admin_skills_install_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillInstallRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillInstallResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"502": {
"description": "Error 502",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills": {
"get": {
"summary": "List skills",
"operationId": "v1_api_admin_skills_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSkillsResponse"
}
}
}
}
}
},
"post": {
"summary": "Create a skill",
"operationId": "v1_api_admin_skills_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSkillRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/{skill_id}": {
"get": {
"summary": "Get a skill by ID",
"operationId": "v1_api_admin_skills_{skill_id}_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"summary": "Update a skill",
"operationId": "v1_api_admin_skills_{skill_id}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSkillRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a skill",
"operationId": "v1_api_admin_skills_{skill_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/{skill_id}/versions": {
"get": {
"summary": "List version history for a skill",
"operationId": "v1_api_admin_skills_{skill_id}_versions_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSkillVersionsResponse"
}
}
}
}
}
}
},
"/v1/api/skills": {
"get": {
"summary": "List available skills (summary)",
"operationId": "v1_api_skills_get",
"tags": [
"Skills"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSkillSummaryResponse"
}
}
}
}
}
}
},
"/v1/api/admin/usage": {
"get": {
"summary": "Aggregated usage data",
"operationId": "v1_api_admin_usage_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Start timestamp (ISO8601, defaults to last 7 days)"
},
{
"name": "until",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "End timestamp (ISO8601)"
},
{
"name": "user_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by user"
},
{
"name": "model",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by model"
},
{
"name": "group_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"day",
"hour",
"model",
"user"
]
},
"description": "Group results"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsageResponse"
}
}
}
}
}
}
},
"/v1/api/admin/audit": {
"get": {
"summary": "Paginated audit events",
"operationId": "v1_api_admin_audit_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "action",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by action type"
},
{
"name": "user_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by user"
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Start timestamp (ISO8601)"
},
{
"name": "until",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "End timestamp (ISO8601)"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 50
},
"description": "Page size"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListAuditEventsResponse"
}
}
}
}
}
}
},
"/v1/api/admin/verdicts": {
"get": {
"summary": "Paginated intent verdicts",
"operationId": "v1_api_admin_verdicts_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "ws_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by workstream"
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Start timestamp (ISO8601)"
},
{
"name": "until",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "End timestamp (ISO8601)"
},
{
"name": "risk_level",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"description": "Filter by risk level"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 100
},
"description": "Page size (max 500)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListVerdictsResponse"
}
}
}
}
}
}
},
"/v1/api/admin/output-assessments": {
"get": {
"summary": "Paginated output guard assessments",
"operationId": "v1_api_admin_output-assessments_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "ws_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by workstream"
},
{
"name": "risk_level",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"description": "Filter by risk level"
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Start timestamp (ISO8601)"
},
{
"name": "until",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "End timestamp (ISO8601)"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 100
},
"description": "Page size (max 500)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOutputAssessmentsResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/{skill_id}/rescan": {
"post": {
"summary": "Re-scan a skill for security signals",
"operationId": "v1_api_admin_skills_{skill_id}_rescan_post",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v1/api/admin/skills/{skill_id}/resources": {
"get": {
"summary": "List resource files for a skill",
"operationId": "v1_api_admin_skills_{skill_id}_resources_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSkillResourcesResponse"
}
}
}
}
}
},
"post": {
"summary": "Upload a resource file to a skill",
"operationId": "v1_api_admin_skills_{skill_id}_resources_post",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSkillResourceRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillResourceInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/skills/{skill_id}/resources/{path}": {
"get": {
"summary": "Get a single skill resource by path",
"operationId": "v1_api_admin_skills_{skill_id}_resources_{path}_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SkillResourceInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a skill resource by path",
"operationId": "v1_api_admin_skills_{skill_id}_resources_{path}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "skill_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/memories": {
"get": {
"summary": "List structured memories",
"operationId": "v1_api_admin_memories_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by memory type"
},
{
"name": "scope",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by scope"
},
{
"name": "scope_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by scope identifier"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 100
},
"description": "Page size (max 200)"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListAdminMemoriesResponse"
}
}
}
}
}
}
},
"/v1/api/admin/memories/search": {
"get": {
"summary": "Search memories by query",
"operationId": "v1_api_admin_memories_search_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "q",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Search query"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by memory type"
},
{
"name": "scope",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by scope"
},
{
"name": "scope_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by scope identifier"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 20
},
"description": "Max results"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListAdminMemoriesResponse"
}
}
}
}
}
}
},
"/v1/api/admin/memories/{memory_id}": {
"get": {
"summary": "Get a single memory by ID",
"operationId": "v1_api_admin_memories_{memory_id}_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "memory_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AdminMemoryInfo"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete a memory by ID",
"operationId": "v1_api_admin_memories_{memory_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "memory_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/settings": {
"get": {
"summary": "List all settings with effective values",
"operationId": "v1_api_admin_settings_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "reveal",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Show secret values in plaintext"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSettingsResponse"
}
}
}
}
}
}
},
"/v1/api/admin/settings/schema": {
"get": {
"summary": "Return the full settings registry schema",
"operationId": "v1_api_admin_settings_schema_get",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListSettingSchemaResponse"
}
}
}
}
}
}
},
"/v1/api/admin/settings/{key}": {
"put": {
"summary": "Set a configuration setting value",
"operationId": "v1_api_admin_settings_{key}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSettingRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SettingInfo"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Reset a setting to its default value",
"operationId": "v1_api_admin_settings_{key}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "node_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Node ID for node-scoped settings"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-registry/search": {
"get": {
"summary": "Search the MCP Registry for available servers",
"operationId": "v1_api_admin_mcp-registry_search_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Search query"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "Max results (default 20, max 100)"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Pagination cursor for next page"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegistrySearchResponse"
}
}
}
},
"502": {
"description": "Error 502",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-registry/install": {
"post": {
"summary": "Install an MCP server from the registry",
"operationId": "v1_api_admin_mcp-registry_install_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegistryInstallRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerDetail"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"502": {
"description": "Error 502",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-servers": {
"get": {
"summary": "List MCP server definitions with live status",
"operationId": "v1_api_admin_mcp-servers_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "reveal",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
},
"description": "Show secret env/header values"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListMcpServersResponse"
}
}
}
}
}
},
"post": {
"summary": "Create an MCP server definition",
"operationId": "v1_api_admin_mcp-servers_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateMcpServerRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerDetail"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-servers/{server_id}": {
"get": {
"summary": "Get a single MCP server with status",
"operationId": "v1_api_admin_mcp-servers_{server_id}_get",
"tags": [
"Admin"
],
"parameters": [
{
"name": "server_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerDetail"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"summary": "Update an MCP server definition",
"operationId": "v1_api_admin_mcp-servers_{server_id}_put",
"tags": [
"Admin"
],
"parameters": [
{
"name": "server_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMcpServerRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerDetail"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Error 409",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"summary": "Delete an MCP server definition",
"operationId": "v1_api_admin_mcp-servers_{server_id}_delete",
"tags": [
"Admin"
],
"parameters": [
{
"name": "server_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusResponse"
}
}
}
},
"404": {
"description": "Error 404",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-servers/reload": {
"post": {
"summary": "Tell all nodes to re-read MCP server config from DB and reconcile",
"operationId": "v1_api_admin_mcp-servers_reload_post",
"tags": [
"Admin"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpReloadResponse"
}
}
}
}
}
}
},
"/v1/api/admin/mcp-servers/import": {
"post": {
"summary": "Import MCP servers from a JSON config file",
"operationId": "v1_api_admin_mcp-servers_import_post",
"tags": [
"Admin"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImportMcpConfigRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImportMcpConfigResponse"
}
}
}
},
"400": {
"description": "Error 400",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/health": {
"get": {
"summary": "Console health check",
"operationId": "health_get",
"tags": [
"Observability"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsoleHealthResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ErrorResponse": {
"description": "Standard error response body.",
"properties": {
"error": {
"description": "Error message",
"title": "Error",
"type": "string"
}
},
"required": [
"error"
],
"title": "ErrorResponse",
"type": "object"
},
"StatusResponse": {
"description": "Generic success response.",
"properties": {
"status": {
"default": "ok",
"examples": [
"ok"
],
"title": "Status",
"type": "string"
}
},
"title": "StatusResponse",
"type": "object"
},
"AuthLoginRequest": {
"description": "POST /v1/api/auth/login request body.\n\nEither username+password or token must be provided.",
"properties": {
"username": {
"default": "",
"description": "Login username",
"title": "Username",
"type": "string"
},
"password": {
"default": "",
"description": "Login password",
"title": "Password",
"type": "string"
},
"token": {
"default": "",
"description": "Legacy: bearer token to authenticate",
"title": "Token",
"type": "string"
}
},
"title": "AuthLoginRequest",
"type": "object"
},
"AuthLoginResponse": {
"description": "POST /v1/api/auth/login success response.",
"properties": {
"status": {
"default": "ok",
"title": "Status",
"type": "string"
},
"user_id": {
"default": "",
"description": "Authenticated user ID",
"title": "User Id",
"type": "string"
},
"role": {
"description": "Legacy role",
"examples": [
"full",
"read"
],
"title": "Role",
"type": "string"
},
"scopes": {
"default": "",
"description": "Comma-separated scopes",
"examples": [
"read,write,approve"
],
"title": "Scopes",
"type": "string"
},
"jwt": {
"default": "",
"description": "JWT session token (if JWT auth is configured)",
"title": "Jwt",
"type": "string"
}
},
"required": [
"role"
],
"title": "AuthLoginResponse",
"type": "object"
},
"AuthSetupRequest": {
"description": "POST /v1/api/auth/setup request body.",
"properties": {
"username": {
"description": "Login username (1-64 ASCII characters)",
"title": "Username",
"type": "string"
},
"display_name": {
"description": "Display name",
"title": "Display Name",
"type": "string"
},
"password": {
"description": "Password (minimum 8 characters)",
"title": "Password",
"type": "string"
}
},
"required": [
"username",
"display_name",
"password"
],
"title": "AuthSetupRequest",
"type": "object"
},
"AuthSetupResponse": {
"description": "POST /v1/api/auth/setup success response.",
"properties": {
"status": {
"default": "ok",
"title": "Status",
"type": "string"
},
"user_id": {
"title": "User Id",
"type": "string"
},
"username": {
"title": "Username",
"type": "string"
},
"role": {
"default": "full",
"title": "Role",
"type": "string"
},
"scopes": {
"default": "approve,read,write",
"title": "Scopes",
"type": "string"
},
"jwt": {
"default": "",
"description": "JWT session token",
"title": "Jwt",
"type": "string"
}
},
"required": [
"user_id",
"username"
],
"title": "AuthSetupResponse",
"type": "object"
},
"AuthStatusResponse": {
"description": "GET /v1/api/auth/status response.",
"properties": {
"auth_enabled": {
"title": "Auth Enabled",
"type": "boolean"
},
"has_users": {
"title": "Has Users",
"type": "boolean"
},
"setup_required": {
"title": "Setup Required",
"type": "boolean"
},
"oidc_enabled": {
"default": false,
"title": "Oidc Enabled",
"type": "boolean"
},
"oidc_provider_name": {
"default": "",
"title": "Oidc Provider Name",
"type": "string"
},
"password_enabled": {
"default": true,
"title": "Password Enabled",
"type": "boolean"
}
},
"required": [
"auth_enabled",
"has_users",
"setup_required"
],
"title": "AuthStatusResponse",
"type": "object"
},
"CreateUserRequest": {
"description": "POST /v1/api/admin/users request body.",
"properties": {
"username": {
"description": "Login username (unique)",
"title": "Username",
"type": "string"
},
"display_name": {
"description": "Human-readable display name",
"title": "Display Name",
"type": "string"
},
"password": {
"description": "Initial password",
"title": "Password",
"type": "string"
}
},
"required": [
"username",
"display_name",
"password"
],
"title": "CreateUserRequest",
"type": "object"
},
"UserInfo": {
"description": "User record (no password_hash).",
"properties": {
"user_id": {
"title": "User Id",
"type": "string"
},
"username": {
"title": "Username",
"type": "string"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"user_id",
"username",
"display_name",
"created"
],
"title": "UserInfo",
"type": "object"
},
"ListUsersResponse": {
"description": "GET /v1/api/admin/users response.",
"properties": {
"users": {
"items": {
"$ref": "#/components/schemas/UserInfo"
},
"title": "Users",
"type": "array"
}
},
"required": [
"users"
],
"title": "ListUsersResponse",
"type": "object"
},
"CreateTokenRequest": {
"description": "POST /v1/api/admin/users/{user_id}/tokens request body.",
"properties": {
"name": {
"default": "",
"description": "Human label for the token",
"title": "Name",
"type": "string"
},
"scopes": {
"default": "read,write,approve",
"description": "Comma-separated scopes: read, write, approve",
"title": "Scopes",
"type": "string"
},
"expires_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Days until expiry (null = no expiry)",
"title": "Expires Days"
}
},
"title": "CreateTokenRequest",
"type": "object"
},
"CreateTokenResponse": {
"description": "POST /v1/api/admin/users/{user_id}/tokens response (raw token shown once).",
"properties": {
"token": {
"description": "Raw API token \u2014 save this, it cannot be retrieved again",
"title": "Token",
"type": "string"
},
"token_id": {
"title": "Token Id",
"type": "string"
},
"token_prefix": {
"title": "Token Prefix",
"type": "string"
},
"scopes": {
"title": "Scopes",
"type": "string"
}
},
"required": [
"token",
"token_id",
"token_prefix",
"scopes"
],
"title": "CreateTokenResponse",
"type": "object"
},
"ListTokensResponse": {
"description": "GET /v1/api/admin/users/{user_id}/tokens response.",
"properties": {
"tokens": {
"items": {
"$ref": "#/components/schemas/TokenInfo"
},
"title": "Tokens",
"type": "array"
}
},
"required": [
"tokens"
],
"title": "ListTokensResponse",
"type": "object"
},
"TokenInfo": {
"description": "Token metadata (never includes the hash or raw token).",
"properties": {
"token_id": {
"title": "Token Id",
"type": "string"
},
"token_prefix": {
"title": "Token Prefix",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"scopes": {
"title": "Scopes",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"expires": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires"
}
},
"required": [
"token_id",
"token_prefix",
"name",
"scopes",
"created"
],
"title": "TokenInfo",
"type": "object"
},
"ChannelUserInfo": {
"properties": {
"channel_type": {
"title": "Channel Type",
"type": "string"
},
"channel_user_id": {
"title": "Channel User Id",
"type": "string"
},
"user_id": {
"title": "User Id",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"channel_type",
"channel_user_id",
"user_id",
"created"
],
"title": "ChannelUserInfo",
"type": "object"
},
"CreateChannelUserRequest": {
"properties": {
"channel_type": {
"description": "Channel type (e.g. discord, slack)",
"title": "Channel Type",
"type": "string"
},
"channel_user_id": {
"description": "External channel user identifier",
"title": "Channel User Id",
"type": "string"
}
},
"required": [
"channel_type",
"channel_user_id"
],
"title": "CreateChannelUserRequest",
"type": "object"
},
"ListChannelUsersResponse": {
"properties": {
"channels": {
"items": {
"$ref": "#/components/schemas/ChannelUserInfo"
},
"title": "Channels",
"type": "array"
}
},
"required": [
"channels"
],
"title": "ListChannelUsersResponse",
"type": "object"
},
"ClusterOverviewResponse": {
"properties": {
"nodes": {
"default": 0,
"title": "Nodes",
"type": "integer"
},
"workstreams": {
"default": 0,
"title": "Workstreams",
"type": "integer"
},
"states": {
"$ref": "#/components/schemas/StateCounts",
"default": {
"running": 0,
"thinking": 0,
"attention": 0,
"idle": 0,
"error": 0
}
},
"aggregate": {
"$ref": "#/components/schemas/ClusterAggregate",
"default": {
"total_tokens": 0,
"total_tool_calls": 0
}
},
"version_drift": {
"default": false,
"title": "Version Drift",
"type": "boolean"
},
"versions": {
"default": [],
"items": {
"type": "string"
},
"title": "Versions",
"type": "array"
}
},
"title": "ClusterOverviewResponse",
"type": "object"
},
"ClusterAggregate": {
"properties": {
"total_tokens": {
"default": 0,
"title": "Total Tokens",
"type": "integer"
},
"total_tool_calls": {
"default": 0,
"title": "Total Tool Calls",
"type": "integer"
}
},
"title": "ClusterAggregate",
"type": "object"
},
"StateCounts": {
"properties": {
"running": {
"default": 0,
"title": "Running",
"type": "integer"
},
"thinking": {
"default": 0,
"title": "Thinking",
"type": "integer"
},
"attention": {
"default": 0,
"title": "Attention",
"type": "integer"
},
"idle": {
"default": 0,
"title": "Idle",
"type": "integer"
},
"error": {
"default": 0,
"title": "Error",
"type": "integer"
}
},
"title": "StateCounts",
"type": "object"
},
"ClusterNodesResponse": {
"properties": {
"nodes": {
"items": {
"$ref": "#/components/schemas/ClusterNodeInfo"
},
"title": "Nodes",
"type": "array"
},
"total": {
"default": 0,
"title": "Total",
"type": "integer"
}
},
"required": [
"nodes"
],
"title": "ClusterNodesResponse",
"type": "object"
},
"ClusterNodeInfo": {
"properties": {
"node_id": {
"title": "Node Id",
"type": "string"
},
"server_url": {
"default": "",
"title": "Server Url",
"type": "string"
},
"ws_total": {
"default": 0,
"title": "Ws Total",
"type": "integer"
},
"ws_running": {
"default": 0,
"title": "Ws Running",
"type": "integer"
},
"ws_thinking": {
"default": 0,
"title": "Ws Thinking",
"type": "integer"
},
"ws_attention": {
"default": 0,
"title": "Ws Attention",
"type": "integer"
},
"ws_idle": {
"default": 0,
"title": "Ws Idle",
"type": "integer"
},
"ws_error": {
"default": 0,
"title": "Ws Error",
"type": "integer"
},
"total_tokens": {
"default": 0,
"title": "Total Tokens",
"type": "integer"
},
"started": {
"default": 0.0,
"title": "Started",
"type": "number"
},
"reachable": {
"default": true,
"title": "Reachable",
"type": "boolean"
},
"health": {
"additionalProperties": true,
"title": "Health",
"type": "object"
},
"version": {
"default": "",
"title": "Version",
"type": "string"
}
},
"required": [
"node_id"
],
"title": "ClusterNodeInfo",
"type": "object"
},
"ClusterWorkstreamsResponse": {
"properties": {
"workstreams": {
"items": {
"$ref": "#/components/schemas/ClusterWorkstreamInfo"
},
"title": "Workstreams",
"type": "array"
},
"total": {
"default": 0,
"title": "Total",
"type": "integer"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 50,
"title": "Per Page",
"type": "integer"
},
"pages": {
"default": 1,
"title": "Pages",
"type": "integer"
}
},
"required": [
"workstreams"
],
"title": "ClusterWorkstreamsResponse",
"type": "object"
},
"ClusterWorkstreamInfo": {
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
},
"state": {
"default": "",
"title": "State",
"type": "string"
},
"node": {
"default": "",
"title": "Node",
"type": "string"
},
"title": {
"default": "",
"title": "Title",
"type": "string"
},
"tokens": {
"default": 0,
"title": "Tokens",
"type": "integer"
},
"context_ratio": {
"default": 0.0,
"title": "Context Ratio",
"type": "number"
},
"activity": {
"default": "",
"title": "Activity",
"type": "string"
},
"activity_state": {
"default": "",
"title": "Activity State",
"type": "string"
},
"tool_calls": {
"default": 0,
"title": "Tool Calls",
"type": "integer"
}
},
"required": [
"id"
],
"title": "ClusterWorkstreamInfo",
"type": "object"
},
"NodeDetailResponse": {
"properties": {
"node_id": {
"title": "Node Id",
"type": "string"
},
"server_url": {
"default": "",
"title": "Server Url",
"type": "string"
},
"health": {
"additionalProperties": true,
"title": "Health",
"type": "object"
},
"workstreams": {
"default": [],
"items": {
"$ref": "#/components/schemas/ClusterWorkstreamInfo"
},
"title": "Workstreams",
"type": "array"
},
"aggregate": {
"additionalProperties": {
"type": "integer"
},
"title": "Aggregate",
"type": "object"
},
"reachable": {
"default": true,
"title": "Reachable",
"type": "boolean"
}
},
"required": [
"node_id"
],
"title": "NodeDetailResponse",
"type": "object"
},
"ClusterSnapshotResponse": {
"properties": {
"nodes": {
"items": {
"$ref": "#/components/schemas/ClusterSnapshotNode"
},
"title": "Nodes",
"type": "array"
},
"overview": {
"$ref": "#/components/schemas/ClusterOverviewResponse"
},
"timestamp": {
"default": 0.0,
"title": "Timestamp",
"type": "number"
}
},
"required": [
"nodes",
"overview"
],
"title": "ClusterSnapshotResponse",
"type": "object"
},
"ClusterSnapshotNode": {
"properties": {
"node_id": {
"title": "Node Id",
"type": "string"
},
"server_url": {
"default": "",
"title": "Server Url",
"type": "string"
},
"max_ws": {
"default": 10,
"title": "Max Ws",
"type": "integer"
},
"reachable": {
"default": true,
"title": "Reachable",
"type": "boolean"
},
"version": {
"default": "",
"title": "Version",
"type": "string"
},
"health": {
"additionalProperties": true,
"title": "Health",
"type": "object"
},
"aggregate": {
"additionalProperties": {
"type": "integer"
},
"title": "Aggregate",
"type": "object"
},
"workstreams": {
"default": [],
"items": {
"$ref": "#/components/schemas/ClusterWorkstreamInfo"
},
"title": "Workstreams",
"type": "array"
}
},
"required": [
"node_id"
],
"title": "ClusterSnapshotNode",
"type": "object"
},
"ConsoleCreateWsRequest": {
"properties": {
"node_id": {
"default": "",
"description": "Target node: specific ID, 'auto', 'pool', or empty for auto",
"title": "Node Id",
"type": "string"
},
"name": {
"default": "",
"description": "Workstream name (auto-generated if empty)",
"title": "Name",
"type": "string"
},
"model": {
"default": "",
"description": "Model alias from node registry",
"title": "Model",
"type": "string"
},
"initial_message": {
"default": "",
"description": "Optional first message sent after creation",
"title": "Initial Message",
"type": "string"
},
"skill": {
"default": "",
"description": "Skill name (replaces default skills)",
"title": "Skill",
"type": "string"
}
},
"title": "ConsoleCreateWsRequest",
"type": "object"
},
"ConsoleCreateWsResponse": {
"properties": {
"status": {
"default": "ok",
"title": "Status",
"type": "string"
},
"correlation_id": {
"default": "",
"title": "Correlation Id",
"type": "string"
},
"target_node": {
"default": "",
"title": "Target Node",
"type": "string"
}
},
"title": "ConsoleCreateWsResponse",
"type": "object"
},
"ConsoleHealthResponse": {
"properties": {
"status": {
"default": "ok",
"examples": [
"ok"
],
"title": "Status",
"type": "string"
},
"service": {
"default": "turnstone-console",
"title": "Service",
"type": "string"
},
"nodes": {
"default": 0,
"title": "Nodes",
"type": "integer"
},
"workstreams": {
"default": 0,
"title": "Workstreams",
"type": "integer"
},
"version_drift": {
"default": false,
"title": "Version Drift",
"type": "boolean"
},
"versions": {
"default": [],
"items": {
"type": "string"
},
"title": "Versions",
"type": "array"
}
},
"title": "ConsoleHealthResponse",
"type": "object"
},
"CreateScheduleRequest": {
"description": "POST /v1/api/admin/schedules request body.",
"properties": {
"name": {
"description": "Human-readable schedule name",
"title": "Name",
"type": "string"
},
"description": {
"default": "",
"description": "Optional description",
"title": "Description",
"type": "string"
},
"schedule_type": {
"description": "'cron' or 'at'",
"title": "Schedule Type",
"type": "string"
},
"cron_expr": {
"default": "",
"description": "Cron expression (when schedule_type='cron')",
"title": "Cron Expr",
"type": "string"
},
"at_time": {
"default": "",
"description": "ISO8601 timestamp (when schedule_type='at')",
"title": "At Time",
"type": "string"
},
"target_mode": {
"default": "auto",
"description": "auto, pool, all, or specific node_id",
"title": "Target Mode",
"type": "string"
},
"model": {
"default": "",
"description": "Model alias for the workstream",
"title": "Model",
"type": "string"
},
"initial_message": {
"description": "Message sent to the new workstream",
"title": "Initial Message",
"type": "string"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"auto_approve_tools": {
"items": {
"type": "string"
},
"title": "Auto Approve Tools",
"type": "array"
},
"skill": {
"default": "",
"description": "Skill name (replaces default skills)",
"title": "Skill",
"type": "string"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
}
},
"required": [
"name",
"schedule_type",
"initial_message"
],
"title": "CreateScheduleRequest",
"type": "object"
},
"UpdateScheduleRequest": {
"description": "PUT /v1/api/admin/schedules/{task_id} request body (partial update).",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
},
"schedule_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Schedule Type"
},
"cron_expr": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cron Expr"
},
"at_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "At Time"
},
"target_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Mode"
},
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model"
},
"initial_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Initial Message"
},
"auto_approve": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Auto Approve"
},
"auto_approve_tools": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Auto Approve Tools"
},
"skill": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Skill"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Enabled"
}
},
"title": "UpdateScheduleRequest",
"type": "object"
},
"ScheduleInfo": {
"description": "Scheduled task details.",
"properties": {
"task_id": {
"title": "Task Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"schedule_type": {
"title": "Schedule Type",
"type": "string"
},
"cron_expr": {
"default": "",
"title": "Cron Expr",
"type": "string"
},
"at_time": {
"default": "",
"title": "At Time",
"type": "string"
},
"target_mode": {
"default": "auto",
"title": "Target Mode",
"type": "string"
},
"model": {
"default": "",
"title": "Model",
"type": "string"
},
"initial_message": {
"title": "Initial Message",
"type": "string"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"auto_approve_tools": {
"items": {
"type": "string"
},
"title": "Auto Approve Tools",
"type": "array"
},
"skill": {
"default": "",
"title": "Skill",
"type": "string"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
},
"created_by": {
"default": "",
"title": "Created By",
"type": "string"
},
"last_run": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Last Run"
},
"next_run": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Run"
},
"created": {
"default": "",
"title": "Created",
"type": "string"
},
"updated": {
"default": "",
"title": "Updated",
"type": "string"
}
},
"required": [
"task_id",
"name",
"schedule_type",
"initial_message"
],
"title": "ScheduleInfo",
"type": "object"
},
"ListSchedulesResponse": {
"description": "GET /v1/api/admin/schedules response.",
"properties": {
"schedules": {
"items": {
"$ref": "#/components/schemas/ScheduleInfo"
},
"title": "Schedules",
"type": "array"
}
},
"required": [
"schedules"
],
"title": "ListSchedulesResponse",
"type": "object"
},
"ListScheduleRunsResponse": {
"description": "GET /v1/api/admin/schedules/{task_id}/runs response.",
"properties": {
"runs": {
"items": {
"$ref": "#/components/schemas/ScheduleRunInfo"
},
"title": "Runs",
"type": "array"
}
},
"required": [
"runs"
],
"title": "ListScheduleRunsResponse",
"type": "object"
},
"ScheduleRunInfo": {
"description": "Single execution record for a scheduled task.",
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
},
"task_id": {
"title": "Task Id",
"type": "string"
},
"node_id": {
"default": "",
"title": "Node Id",
"type": "string"
},
"ws_id": {
"default": "",
"title": "Ws Id",
"type": "string"
},
"correlation_id": {
"default": "",
"title": "Correlation Id",
"type": "string"
},
"started": {
"title": "Started",
"type": "string"
},
"status": {
"default": "dispatched",
"title": "Status",
"type": "string"
},
"error": {
"default": "",
"title": "Error",
"type": "string"
}
},
"required": [
"run_id",
"task_id",
"started"
],
"title": "ScheduleRunInfo",
"type": "object"
},
"RoleInfo": {
"properties": {
"role_id": {
"title": "Role Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"permissions": {
"title": "Permissions",
"type": "string"
},
"builtin": {
"title": "Builtin",
"type": "boolean"
},
"org_id": {
"title": "Org Id",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
}
},
"required": [
"role_id",
"name",
"display_name",
"permissions",
"builtin",
"org_id",
"created",
"updated"
],
"title": "RoleInfo",
"type": "object"
},
"CreateRoleRequest": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"display_name": {
"default": "",
"title": "Display Name",
"type": "string"
},
"permissions": {
"default": "read",
"title": "Permissions",
"type": "string"
}
},
"required": [
"name"
],
"title": "CreateRoleRequest",
"type": "object"
},
"UpdateRoleRequest": {
"properties": {
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Display Name"
},
"permissions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Permissions"
}
},
"title": "UpdateRoleRequest",
"type": "object"
},
"ListRolesResponse": {
"properties": {
"roles": {
"items": {
"$ref": "#/components/schemas/RoleInfo"
},
"title": "Roles",
"type": "array"
}
},
"required": [
"roles"
],
"title": "ListRolesResponse",
"type": "object"
},
"AssignRoleRequest": {
"properties": {
"role_id": {
"title": "Role Id",
"type": "string"
}
},
"required": [
"role_id"
],
"title": "AssignRoleRequest",
"type": "object"
},
"UserRoleInfo": {
"properties": {
"role_id": {
"title": "Role Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"permissions": {
"title": "Permissions",
"type": "string"
},
"builtin": {
"title": "Builtin",
"type": "boolean"
},
"org_id": {
"title": "Org Id",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
},
"assigned_by": {
"title": "Assigned By",
"type": "string"
},
"assignment_created": {
"title": "Assignment Created",
"type": "string"
}
},
"required": [
"role_id",
"name",
"display_name",
"permissions",
"builtin",
"org_id",
"created",
"updated",
"assigned_by",
"assignment_created"
],
"title": "UserRoleInfo",
"type": "object"
},
"ListUserRolesResponse": {
"properties": {
"roles": {
"items": {
"$ref": "#/components/schemas/UserRoleInfo"
},
"title": "Roles",
"type": "array"
}
},
"required": [
"roles"
],
"title": "ListUserRolesResponse",
"type": "object"
},
"OrgInfo": {
"properties": {
"org_id": {
"title": "Org Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"settings": {
"title": "Settings",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
}
},
"required": [
"org_id",
"name",
"display_name",
"settings",
"created",
"updated"
],
"title": "OrgInfo",
"type": "object"
},
"UpdateOrgRequest": {
"properties": {
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Display Name"
},
"settings": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Settings"
}
},
"title": "UpdateOrgRequest",
"type": "object"
},
"ListOrgsResponse": {
"properties": {
"orgs": {
"items": {
"$ref": "#/components/schemas/OrgInfo"
},
"title": "Orgs",
"type": "array"
}
},
"required": [
"orgs"
],
"title": "ListOrgsResponse",
"type": "object"
},
"ToolPolicyInfo": {
"properties": {
"policy_id": {
"title": "Policy Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"tool_pattern": {
"title": "Tool Pattern",
"type": "string"
},
"action": {
"title": "Action",
"type": "string"
},
"priority": {
"title": "Priority",
"type": "integer"
},
"org_id": {
"title": "Org Id",
"type": "string"
},
"enabled": {
"title": "Enabled",
"type": "boolean"
},
"created_by": {
"title": "Created By",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
}
},
"required": [
"policy_id",
"name",
"tool_pattern",
"action",
"priority",
"org_id",
"enabled",
"created_by",
"created",
"updated"
],
"title": "ToolPolicyInfo",
"type": "object"
},
"CreateToolPolicyRequest": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"tool_pattern": {
"title": "Tool Pattern",
"type": "string"
},
"action": {
"title": "Action",
"type": "string"
},
"priority": {
"default": 0,
"title": "Priority",
"type": "integer"
},
"org_id": {
"default": "",
"title": "Org Id",
"type": "string"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
}
},
"required": [
"name",
"tool_pattern",
"action"
],
"title": "CreateToolPolicyRequest",
"type": "object"
},
"UpdateToolPolicyRequest": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"tool_pattern": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tool Pattern"
},
"action": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action"
},
"priority": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Priority"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Enabled"
}
},
"title": "UpdateToolPolicyRequest",
"type": "object"
},
"ListToolPoliciesResponse": {
"properties": {
"policies": {
"items": {
"$ref": "#/components/schemas/ToolPolicyInfo"
},
"title": "Policies",
"type": "array"
}
},
"required": [
"policies"
],
"title": "ListToolPoliciesResponse",
"type": "object"
},
"UsageBreakdownItem": {
"properties": {
"key": {
"default": "",
"title": "Key",
"type": "string"
},
"prompt_tokens": {
"default": 0,
"title": "Prompt Tokens",
"type": "integer"
},
"completion_tokens": {
"default": 0,
"title": "Completion Tokens",
"type": "integer"
},
"tool_calls_count": {
"default": 0,
"title": "Tool Calls Count",
"type": "integer"
},
"cache_creation_tokens": {
"default": 0,
"title": "Cache Creation Tokens",
"type": "integer"
},
"cache_read_tokens": {
"default": 0,
"title": "Cache Read Tokens",
"type": "integer"
}
},
"title": "UsageBreakdownItem",
"type": "object"
},
"UsageResponse": {
"properties": {
"summary": {
"items": {
"$ref": "#/components/schemas/UsageBreakdownItem"
},
"title": "Summary",
"type": "array"
},
"breakdown": {
"items": {
"$ref": "#/components/schemas/UsageBreakdownItem"
},
"title": "Breakdown",
"type": "array"
}
},
"required": [
"summary",
"breakdown"
],
"title": "UsageResponse",
"type": "object"
},
"AuditEventInfo": {
"properties": {
"event_id": {
"title": "Event Id",
"type": "string"
},
"timestamp": {
"title": "Timestamp",
"type": "string"
},
"user_id": {
"title": "User Id",
"type": "string"
},
"action": {
"title": "Action",
"type": "string"
},
"resource_type": {
"title": "Resource Type",
"type": "string"
},
"resource_id": {
"title": "Resource Id",
"type": "string"
},
"detail": {
"title": "Detail",
"type": "string"
},
"ip_address": {
"title": "Ip Address",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"event_id",
"timestamp",
"user_id",
"action",
"resource_type",
"resource_id",
"detail",
"ip_address",
"created"
],
"title": "AuditEventInfo",
"type": "object"
},
"ListAuditEventsResponse": {
"properties": {
"events": {
"items": {
"$ref": "#/components/schemas/AuditEventInfo"
},
"title": "Events",
"type": "array"
}
},
"required": [
"events"
],
"title": "ListAuditEventsResponse",
"type": "object"
},
"VerdictInfo": {
"description": "Intent validation verdict.",
"properties": {
"verdict_id": {
"title": "Verdict Id",
"type": "string"
},
"ws_id": {
"title": "Ws Id",
"type": "string"
},
"call_id": {
"title": "Call Id",
"type": "string"
},
"func_name": {
"title": "Func Name",
"type": "string"
},
"func_args": {
"default": "",
"title": "Func Args",
"type": "string"
},
"intent_summary": {
"title": "Intent Summary",
"type": "string"
},
"risk_level": {
"title": "Risk Level",
"type": "string"
},
"confidence": {
"title": "Confidence",
"type": "number"
},
"recommendation": {
"title": "Recommendation",
"type": "string"
},
"reasoning": {
"title": "Reasoning",
"type": "string"
},
"evidence": {
"default": "[]",
"title": "Evidence",
"type": "string"
},
"tier": {
"title": "Tier",
"type": "string"
},
"judge_model": {
"default": "",
"title": "Judge Model",
"type": "string"
},
"user_decision": {
"default": "",
"title": "User Decision",
"type": "string"
},
"latency_ms": {
"default": 0,
"title": "Latency Ms",
"type": "integer"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"verdict_id",
"ws_id",
"call_id",
"func_name",
"intent_summary",
"risk_level",
"confidence",
"recommendation",
"reasoning",
"tier",
"created"
],
"title": "VerdictInfo",
"type": "object"
},
"ListVerdictsResponse": {
"description": "Response for verdict listing.",
"properties": {
"verdicts": {
"items": {
"$ref": "#/components/schemas/VerdictInfo"
},
"title": "Verdicts",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"verdicts",
"total"
],
"title": "ListVerdictsResponse",
"type": "object"
},
"OutputAssessmentInfo": {
"description": "Output guard assessment.",
"properties": {
"assessment_id": {
"title": "Assessment Id",
"type": "string"
},
"ws_id": {
"title": "Ws Id",
"type": "string"
},
"call_id": {
"title": "Call Id",
"type": "string"
},
"func_name": {
"title": "Func Name",
"type": "string"
},
"flags": {
"default": "[]",
"title": "Flags",
"type": "string"
},
"risk_level": {
"default": "none",
"title": "Risk Level",
"type": "string"
},
"annotations": {
"default": "[]",
"title": "Annotations",
"type": "string"
},
"output_length": {
"default": 0,
"title": "Output Length",
"type": "integer"
},
"redacted": {
"default": 0,
"title": "Redacted",
"type": "integer"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"assessment_id",
"ws_id",
"call_id",
"func_name",
"created"
],
"title": "OutputAssessmentInfo",
"type": "object"
},
"ListOutputAssessmentsResponse": {
"description": "Response for output assessment listing.",
"properties": {
"assessments": {
"items": {
"$ref": "#/components/schemas/OutputAssessmentInfo"
},
"title": "Assessments",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"assessments",
"total"
],
"title": "ListOutputAssessmentsResponse",
"type": "object"
},
"AdminMemoryInfo": {
"properties": {
"memory_id": {
"title": "Memory Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"scope_id": {
"default": "",
"title": "Scope Id",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
},
"last_accessed": {
"default": "",
"title": "Last Accessed",
"type": "string"
},
"access_count": {
"default": 0,
"title": "Access Count",
"type": "integer"
}
},
"required": [
"memory_id",
"name",
"type",
"scope",
"content",
"created",
"updated"
],
"title": "AdminMemoryInfo",
"type": "object"
},
"ListAdminMemoriesResponse": {
"properties": {
"memories": {
"items": {
"$ref": "#/components/schemas/AdminMemoryInfo"
},
"title": "Memories",
"type": "array"
},
"total": {
"default": 0,
"title": "Total",
"type": "integer"
}
},
"required": [
"memories"
],
"title": "ListAdminMemoriesResponse",
"type": "object"
},
"SettingInfo": {
"properties": {
"key": {
"title": "Key",
"type": "string"
},
"value": {
"default": null,
"title": "Value"
},
"source": {
"default": "default",
"title": "Source",
"type": "string"
},
"type": {
"default": "str",
"title": "Type",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"section": {
"default": "",
"title": "Section",
"type": "string"
},
"is_secret": {
"default": false,
"title": "Is Secret",
"type": "boolean"
},
"node_id": {
"default": "",
"title": "Node Id",
"type": "string"
},
"changed_by": {
"default": "",
"title": "Changed By",
"type": "string"
},
"updated": {
"default": "",
"title": "Updated",
"type": "string"
},
"restart_required": {
"default": false,
"title": "Restart Required",
"type": "boolean"
}
},
"required": [
"key"
],
"title": "SettingInfo",
"type": "object"
},
"ListSettingsResponse": {
"properties": {
"settings": {
"items": {
"$ref": "#/components/schemas/SettingInfo"
},
"title": "Settings",
"type": "array"
}
},
"required": [
"settings"
],
"title": "ListSettingsResponse",
"type": "object"
},
"SettingSchemaInfo": {
"properties": {
"key": {
"title": "Key",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
},
"default": {
"default": null,
"title": "Default"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"section": {
"default": "",
"title": "Section",
"type": "string"
},
"is_secret": {
"default": false,
"title": "Is Secret",
"type": "boolean"
},
"min_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Value"
},
"max_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Value"
},
"choices": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Choices"
},
"restart_required": {
"default": false,
"title": "Restart Required",
"type": "boolean"
}
},
"required": [
"key",
"type"
],
"title": "SettingSchemaInfo",
"type": "object"
},
"ListSettingSchemaResponse": {
"properties": {
"schema": {
"items": {
"$ref": "#/components/schemas/SettingSchemaInfo"
},
"title": "Schema",
"type": "array"
}
},
"required": [
"schema"
],
"title": "ListSettingSchemaResponse",
"type": "object"
},
"UpdateSettingRequest": {
"properties": {
"value": {
"title": "Value"
},
"node_id": {
"default": "",
"title": "Node Id",
"type": "string"
}
},
"required": [
"value"
],
"title": "UpdateSettingRequest",
"type": "object"
},
"McpServerDetail": {
"properties": {
"server_id": {
"title": "Server Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"transport": {
"title": "Transport",
"type": "string"
},
"command": {
"default": "",
"title": "Command",
"type": "string"
},
"args": {
"default": "[]",
"title": "Args",
"type": "string"
},
"url": {
"default": "",
"title": "Url",
"type": "string"
},
"headers": {
"default": "{}",
"title": "Headers",
"type": "string"
},
"env": {
"default": "{}",
"title": "Env",
"type": "string"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
},
"created_by": {
"default": "",
"title": "Created By",
"type": "string"
},
"registry_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Registry Name"
},
"registry_version": {
"default": "",
"title": "Registry Version",
"type": "string"
},
"registry_meta": {
"default": "{}",
"title": "Registry Meta",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
},
"status": {
"additionalProperties": {
"$ref": "#/components/schemas/McpServerStatus"
},
"title": "Status",
"type": "object"
},
"source": {
"default": "",
"title": "Source",
"type": "string"
}
},
"required": [
"server_id",
"name",
"transport",
"created",
"updated"
],
"title": "McpServerDetail",
"type": "object"
},
"McpServerStatus": {
"properties": {
"connected": {
"default": false,
"title": "Connected",
"type": "boolean"
},
"tools": {
"default": 0,
"title": "Tools",
"type": "integer"
},
"resources": {
"default": 0,
"title": "Resources",
"type": "integer"
},
"prompts": {
"default": 0,
"title": "Prompts",
"type": "integer"
},
"error": {
"default": "",
"title": "Error",
"type": "string"
},
"transport": {
"default": "",
"title": "Transport",
"type": "string"
},
"command": {
"default": "",
"title": "Command",
"type": "string"
},
"url": {
"default": "",
"title": "Url",
"type": "string"
}
},
"title": "McpServerStatus",
"type": "object"
},
"CreateMcpServerRequest": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"transport": {
"title": "Transport",
"type": "string"
},
"command": {
"default": "",
"title": "Command",
"type": "string"
},
"args": {
"default": [],
"items": {
"type": "string"
},
"title": "Args",
"type": "array"
},
"url": {
"default": "",
"title": "Url",
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"title": "Headers",
"type": "object"
},
"env": {
"additionalProperties": {
"type": "string"
},
"title": "Env",
"type": "object"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
}
},
"required": [
"name",
"transport"
],
"title": "CreateMcpServerRequest",
"type": "object"
},
"UpdateMcpServerRequest": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"transport": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transport"
},
"command": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Command"
},
"args": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Args"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
},
"headers": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Headers"
},
"env": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Env"
},
"auto_approve": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Auto Approve"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Enabled"
}
},
"title": "UpdateMcpServerRequest",
"type": "object"
},
"ListMcpServersResponse": {
"properties": {
"servers": {
"items": {
"$ref": "#/components/schemas/McpServerDetail"
},
"title": "Servers",
"type": "array"
}
},
"required": [
"servers"
],
"title": "ListMcpServersResponse",
"type": "object"
},
"ImportMcpConfigRequest": {
"properties": {
"config": {
"additionalProperties": true,
"description": "JSON config object with mcpServers key",
"title": "Config",
"type": "object"
}
},
"required": [
"config"
],
"title": "ImportMcpConfigRequest",
"type": "object"
},
"ImportMcpConfigResponse": {
"properties": {
"imported": {
"default": [],
"items": {
"type": "string"
},
"title": "Imported",
"type": "array"
},
"skipped": {
"default": [],
"items": {
"type": "string"
},
"title": "Skipped",
"type": "array"
},
"errors": {
"default": [],
"items": {
"type": "string"
},
"title": "Errors",
"type": "array"
}
},
"title": "ImportMcpConfigResponse",
"type": "object"
},
"McpReloadResponse": {
"properties": {
"status": {
"default": "ok",
"title": "Status",
"type": "string"
},
"results": {
"additionalProperties": true,
"title": "Results",
"type": "object"
}
},
"title": "McpReloadResponse",
"type": "object"
},
"RegistrySearchResponse": {
"properties": {
"servers": {
"items": {
"$ref": "#/components/schemas/RegistryServerInfo"
},
"title": "Servers",
"type": "array"
},
"total": {
"default": 0,
"title": "Total",
"type": "integer"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Cursor"
}
},
"required": [
"servers"
],
"title": "RegistrySearchResponse",
"type": "object"
},
"RegistryPackageInfo": {
"properties": {
"registry_type": {
"default": "",
"title": "Registry Type",
"type": "string"
},
"identifier": {
"default": "",
"title": "Identifier",
"type": "string"
},
"version": {
"default": "",
"title": "Version",
"type": "string"
},
"transport_type": {
"default": "stdio",
"title": "Transport Type",
"type": "string"
},
"environment_variables": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Environment Variables",
"type": "array"
}
},
"title": "RegistryPackageInfo",
"type": "object"
},
"RegistryRemoteInfo": {
"properties": {
"type": {
"default": "streamable-http",
"title": "Type",
"type": "string"
},
"url": {
"default": "",
"title": "Url",
"type": "string"
},
"headers": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Headers",
"type": "array"
},
"variables": {
"additionalProperties": {
"additionalProperties": true,
"type": "object"
},
"title": "Variables",
"type": "object"
}
},
"title": "RegistryRemoteInfo",
"type": "object"
},
"RegistryServerInfo": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"title": {
"default": "",
"title": "Title",
"type": "string"
},
"version": {
"default": "",
"title": "Version",
"type": "string"
},
"website_url": {
"default": "",
"title": "Website Url",
"type": "string"
},
"repository": {
"additionalProperties": {
"type": "string"
},
"title": "Repository",
"type": "object"
},
"icons": {
"items": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"title": "Icons",
"type": "array"
},
"remotes": {
"items": {
"$ref": "#/components/schemas/RegistryRemoteInfo"
},
"title": "Remotes",
"type": "array"
},
"packages": {
"items": {
"$ref": "#/components/schemas/RegistryPackageInfo"
},
"title": "Packages",
"type": "array"
},
"meta": {
"additionalProperties": true,
"title": "Meta",
"type": "object"
},
"installed": {
"default": false,
"title": "Installed",
"type": "boolean"
},
"installed_server_id": {
"default": "",
"title": "Installed Server Id",
"type": "string"
},
"installed_version": {
"default": "",
"title": "Installed Version",
"type": "string"
},
"update_available": {
"default": false,
"title": "Update Available",
"type": "boolean"
}
},
"required": [
"name"
],
"title": "RegistryServerInfo",
"type": "object"
},
"RegistryInstallRequest": {
"properties": {
"registry_name": {
"title": "Registry Name",
"type": "string"
},
"source": {
"title": "Source",
"type": "string"
},
"index": {
"default": 0,
"title": "Index",
"type": "integer"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
},
"variables": {
"additionalProperties": {
"type": "string"
},
"title": "Variables",
"type": "object"
},
"env": {
"additionalProperties": {
"type": "string"
},
"title": "Env",
"type": "object"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"title": "Headers",
"type": "object"
}
},
"required": [
"registry_name",
"source"
],
"title": "RegistryInstallRequest",
"type": "object"
},
"SkillDiscoverResponse": {
"properties": {
"skills": {
"items": {
"$ref": "#/components/schemas/SkillDiscoverListing"
},
"title": "Skills",
"type": "array"
}
},
"required": [
"skills"
],
"title": "SkillDiscoverResponse",
"type": "object"
},
"SkillDiscoverListing": {
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"author": {
"default": "",
"title": "Author",
"type": "string"
},
"source": {
"default": "",
"title": "Source",
"type": "string"
},
"source_url": {
"default": "",
"title": "Source Url",
"type": "string"
},
"install_count": {
"default": 0,
"title": "Install Count",
"type": "integer"
},
"tags": {
"items": {
"type": "string"
},
"title": "Tags",
"type": "array"
},
"installed": {
"default": false,
"title": "Installed",
"type": "boolean"
},
"scan_status": {
"default": "",
"title": "Scan Status",
"type": "string"
},
"template_id": {
"default": "",
"title": "Template Id",
"type": "string"
}
},
"required": [
"id",
"name"
],
"title": "SkillDiscoverListing",
"type": "object"
},
"SkillInstallRequest": {
"properties": {
"source": {
"title": "Source",
"type": "string"
},
"skill_id": {
"default": "",
"title": "Skill Id",
"type": "string"
},
"url": {
"default": "",
"title": "Url",
"type": "string"
}
},
"required": [
"source"
],
"title": "SkillInstallRequest",
"type": "object"
},
"SkillInstallResponse": {
"properties": {
"installed": {
"items": {
"$ref": "#/components/schemas/SkillInfo"
},
"title": "Installed",
"type": "array"
},
"skipped": {
"default": [],
"items": {
"$ref": "#/components/schemas/SkillInstallSkipped"
},
"title": "Skipped",
"type": "array"
},
"total": {
"default": 0,
"title": "Total",
"type": "integer"
}
},
"required": [
"installed"
],
"title": "SkillInstallResponse",
"type": "object"
},
"SkillInfo": {
"properties": {
"template_id": {
"description": "Skill ID",
"title": "Template Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"category": {
"title": "Category",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"tags": {
"items": {
"type": "string"
},
"title": "Tags",
"type": "array"
},
"variables": {
"default": "[]",
"title": "Variables",
"type": "string"
},
"is_default": {
"title": "Is Default",
"type": "boolean"
},
"activation": {
"default": "named",
"title": "Activation",
"type": "string"
},
"org_id": {
"title": "Org Id",
"type": "string"
},
"created_by": {
"title": "Created By",
"type": "string"
},
"origin": {
"default": "manual",
"title": "Origin",
"type": "string"
},
"mcp_server": {
"default": "",
"title": "Mcp Server",
"type": "string"
},
"readonly": {
"default": false,
"title": "Readonly",
"type": "boolean"
},
"source_url": {
"default": "",
"title": "Source Url",
"type": "string"
},
"version": {
"default": "1.0.0",
"title": "Version",
"type": "string"
},
"author": {
"default": "",
"title": "Author",
"type": "string"
},
"token_estimate": {
"default": 0,
"title": "Token Estimate",
"type": "integer"
},
"model": {
"default": "",
"title": "Model",
"type": "string"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Temperature"
},
"reasoning_effort": {
"default": "",
"title": "Reasoning Effort",
"type": "string"
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Tokens"
},
"token_budget": {
"default": 0,
"title": "Token Budget",
"type": "integer"
},
"agent_max_turns": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Max Turns"
},
"notify_on_complete": {
"default": "{}",
"title": "Notify On Complete",
"type": "string"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
},
"allowed_tools": {
"default": "[]",
"title": "Allowed Tools",
"type": "string"
},
"license": {
"default": "",
"title": "License",
"type": "string"
},
"compatibility": {
"default": "",
"title": "Compatibility",
"type": "string"
},
"scan_status": {
"default": "",
"title": "Scan Status",
"type": "string"
},
"scan_report": {
"default": "{}",
"title": "Scan Report",
"type": "string"
},
"scan_version": {
"default": "",
"title": "Scan Version",
"type": "string"
},
"resource_count": {
"default": 0,
"title": "Resource Count",
"type": "integer"
},
"created": {
"title": "Created",
"type": "string"
},
"updated": {
"title": "Updated",
"type": "string"
}
},
"required": [
"template_id",
"name",
"category",
"content",
"is_default",
"org_id",
"created_by",
"created",
"updated"
],
"title": "SkillInfo",
"type": "object"
},
"SkillInstallSkipped": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"reason": {
"title": "Reason",
"type": "string"
}
},
"required": [
"name",
"reason"
],
"title": "SkillInstallSkipped",
"type": "object"
},
"SkillVersionInfo": {
"properties": {
"id": {
"title": "Id",
"type": "integer"
},
"skill_id": {
"title": "Skill Id",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
},
"snapshot": {
"title": "Snapshot",
"type": "string"
},
"changed_by": {
"title": "Changed By",
"type": "string"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"id",
"skill_id",
"version",
"snapshot",
"changed_by",
"created"
],
"title": "SkillVersionInfo",
"type": "object"
},
"CreateSkillRequest": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"category": {
"default": "general",
"title": "Category",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"tags": {
"default": "[]",
"title": "Tags",
"type": "string"
},
"variables": {
"default": "[]",
"title": "Variables",
"type": "string"
},
"is_default": {
"default": false,
"title": "Is Default",
"type": "boolean"
},
"activation": {
"default": "named",
"title": "Activation",
"type": "string"
},
"org_id": {
"default": "",
"title": "Org Id",
"type": "string"
},
"author": {
"default": "",
"title": "Author",
"type": "string"
},
"version": {
"default": "1.0.0",
"title": "Version",
"type": "string"
},
"model": {
"default": "",
"title": "Model",
"type": "string"
},
"auto_approve": {
"default": false,
"title": "Auto Approve",
"type": "boolean"
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Temperature"
},
"reasoning_effort": {
"default": "",
"title": "Reasoning Effort",
"type": "string"
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Tokens"
},
"token_budget": {
"default": 0,
"title": "Token Budget",
"type": "integer"
},
"agent_max_turns": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Max Turns"
},
"notify_on_complete": {
"default": "{}",
"title": "Notify On Complete",
"type": "string"
},
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
},
"allowed_tools": {
"default": "[]",
"title": "Allowed Tools",
"type": "string"
},
"license": {
"default": "",
"title": "License",
"type": "string"
},
"compatibility": {
"default": "",
"title": "Compatibility",
"type": "string"
}
},
"required": [
"name",
"content"
],
"title": "CreateSkillRequest",
"type": "object"
},
"UpdateSkillRequest": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
},
"tags": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tags"
},
"variables": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Variables"
},
"is_default": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Is Default"
},
"activation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Activation"
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version"
},
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model"
},
"auto_approve": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Auto Approve"
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Temperature"
},
"reasoning_effort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reasoning Effort"
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Tokens"
},
"token_budget": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Token Budget"
},
"agent_max_turns": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Max Turns"
},
"notify_on_complete": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notify On Complete"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Enabled"
},
"allowed_tools": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Allowed Tools"
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "License"
},
"compatibility": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Compatibility"
}
},
"title": "UpdateSkillRequest",
"type": "object"
},
"ListSkillsResponse": {
"properties": {
"skills": {
"items": {
"$ref": "#/components/schemas/SkillInfo"
},
"title": "Skills",
"type": "array"
}
},
"required": [
"skills"
],
"title": "ListSkillsResponse",
"type": "object"
},
"ListSkillVersionsResponse": {
"properties": {
"versions": {
"items": {
"$ref": "#/components/schemas/SkillVersionInfo"
},
"title": "Versions",
"type": "array"
}
},
"required": [
"versions"
],
"title": "ListSkillVersionsResponse",
"type": "object"
},
"SkillResourceInfo": {
"properties": {
"resource_id": {
"title": "Resource Id",
"type": "string"
},
"skill_id": {
"title": "Skill Id",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"content": {
"default": "",
"title": "Content",
"type": "string"
},
"content_type": {
"default": "text/plain",
"title": "Content Type",
"type": "string"
},
"size": {
"default": 0,
"title": "Size",
"type": "integer"
},
"created": {
"title": "Created",
"type": "string"
}
},
"required": [
"resource_id",
"skill_id",
"path",
"created"
],
"title": "SkillResourceInfo",
"type": "object"
},
"CreateSkillResourceRequest": {
"properties": {
"path": {
"title": "Path",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"content_type": {
"default": "text/plain",
"title": "Content Type",
"type": "string"
}
},
"required": [
"path",
"content"
],
"title": "CreateSkillResourceRequest",
"type": "object"
},
"ListSkillResourcesResponse": {
"properties": {
"resources": {
"items": {
"$ref": "#/components/schemas/SkillResourceInfo"
},
"title": "Resources",
"type": "array"
}
},
"required": [
"resources"
],
"title": "ListSkillResourcesResponse",
"type": "object"
},
"SkillSummary": {
"properties": {
"name": {
"description": "Skill name",
"title": "Name",
"type": "string"
},
"category": {
"default": "",
"description": "Skill category",
"title": "Category",
"type": "string"
},
"description": {
"default": "",
"description": "Skill description for discovery",
"title": "Description",
"type": "string"
},
"tags": {
"description": "Semantic tags",
"items": {
"type": "string"
},
"title": "Tags",
"type": "array"
},
"is_default": {
"default": false,
"description": "Whether auto-applied to all sessions",
"title": "Is Default",
"type": "boolean"
},
"activation": {
"default": "named",
"description": "Activation mode: default, named, search",
"title": "Activation",
"type": "string"
},
"origin": {
"default": "manual",
"description": "Source: manual, mcp, skills.sh, github",
"title": "Origin",
"type": "string"
},
"author": {
"default": "",
"description": "Skill author",
"title": "Author",
"type": "string"
},
"version": {
"default": "1.0.0",
"description": "Skill version",
"title": "Version",
"type": "string"
}
},
"required": [
"name"
],
"title": "SkillSummary",
"type": "object"
},
"ListSkillSummaryResponse": {
"properties": {
"skills": {
"items": {
"$ref": "#/components/schemas/SkillSummary"
},
"title": "Skills",
"type": "array"
}
},
"required": [
"skills"
],
"title": "ListSkillSummaryResponse",
"type": "object"
}
}
}
}