{ "openapi": "3.1.1", "info": { "title": "Creuser.Web | v1", "version": "1.0.0" }, "paths": { "/api/auth/login": { "post": { "tags": [ "Auth" ], "operationId": "Login", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfUserResult" } } } } } } }, "/api/auth/logout": { "post": { "tags": [ "Auth" ], "operationId": "Logout", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/auth/me": { "get": { "tags": [ "Auth" ], "operationId": "GetCurrentUser", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfUserResult" } } } } } } }, "/api/auth/change-password": { "post": { "tags": [ "Auth" ], "operationId": "ChangePassword", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/admin/users": { "post": { "tags": [ "Admin" ], "operationId": "CreateUser", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfCreateUserResult" } } } } } }, "get": { "tags": [ "Admin" ], "operationId": "ListUsers", "parameters": [ { "name": "skip", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } }, { "name": "take", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfUserResult" } } } } } } }, "/api/admin/users/{id}/reset-password": { "post": { "tags": [ "Admin" ], "operationId": "ResetUserPassword", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/ResetPasswordRequest" } ] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfCreateUserResult" } } } } } } }, "/api/admin/users/{id}/active": { "post": { "tags": [ "Admin" ], "operationId": "SetUserActive", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetActiveRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/admin/users/{id}/role": { "put": { "tags": [ "Admin" ], "operationId": "SetUserRole", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserRoleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfUserResult" } } } } } } }, "/api/admin/users/{id}": { "delete": { "tags": [ "Admin" ], "operationId": "DeleteUser", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/branding": { "get": { "tags": [ "Branding" ], "operationId": "GetBranding", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfBrandingConfig" } } } } } }, "put": { "tags": [ "Branding" ], "operationId": "UpdateBranding", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandingConfig" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfBrandingConfig" } } } } } } }, "/api/branding/assets/logo": { "post": { "tags": [ "Branding" ], "operationId": "UploadLogo", "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "$ref": "#/components/schemas/IFormFile" } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfBrandingAssetResult" } } } } } } }, "/api/environment": { "get": { "tags": [ "Environment" ], "operationId": "GetEnvironment", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfEnvironmentConfigView" } } } } } }, "put": { "tags": [ "Environment" ], "operationId": "UpdateEnvironment", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentConfig" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfEnvironmentConfigView" } } } } } } }, "/api/environment/secrets": { "get": { "tags": [ "Environment" ], "operationId": "ListEnvironmentSecrets", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfstring" } } } } } } }, "/api/environment/secrets/{name}": { "put": { "tags": [ "Environment" ], "operationId": "SetEnvironmentSecret", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetSecretRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } }, "delete": { "tags": [ "Environment" ], "operationId": "DeleteEnvironmentSecret", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/agents/health": { "get": { "tags": [ "Agents" ], "operationId": "CheckAgentHealth", "parameters": [ { "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfAgentHealthResult" } } } } } } }, "/api/agents/chat": { "post": { "tags": [ "Agents" ], "operationId": "AgentChat", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentChatRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfAgentChatResult" } } } } } } }, "/api/workspaces": { "get": { "tags": [ "Workspaces" ], "operationId": "ListWorkspaces", "parameters": [ { "name": "skip", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } }, { "name": "take", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfWorkspaceResult" } } } } } }, "post": { "tags": [ "Workspaces" ], "operationId": "CreateWorkspace", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWorkspaceRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspaceResult" } } } } } } }, "/api/workspaces/{slug}": { "get": { "tags": [ "Workspaces" ], "operationId": "GetWorkspace", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspaceResult" } } } } } }, "put": { "tags": [ "Workspaces" ], "operationId": "UpdateWorkspace", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWorkspaceRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspaceResult" } } } } } }, "delete": { "tags": [ "Workspaces" ], "operationId": "DeleteWorkspace", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/workspaces/test": { "post": { "tags": [ "Workspaces" ], "operationId": "TestWorkspaceConnection", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TestWorkspaceConnectionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspaceConnectionTestResult" } } } } } } }, "/api/workspaces/{slug}/sync": { "post": { "tags": [ "Workspaces" ], "operationId": "SyncWorkspace", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "force", "in": "query", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspaceSyncResult" } } } } } } }, "/api/workspaces/{slug}/plugins": { "get": { "tags": [ "Workspaces" ], "operationId": "ListWorkspacePlugins", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfWorkspacePluginsResult" } } } } } } }, "/api/workspaces/{slug}/jobs": { "get": { "tags": [ "Jobs" ], "operationId": "ListJobs", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfJobScriptResult" } } } } } }, "post": { "tags": [ "Jobs" ], "operationId": "CreateJob", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateJobScriptRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfJobScriptResult" } } } } } } }, "/api/workspaces/{slug}/jobs/{jobId}": { "get": { "tags": [ "Jobs" ], "operationId": "GetJob", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfJobScriptResult" } } } } } }, "put": { "tags": [ "Jobs" ], "operationId": "UpdateJob", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateJobScriptRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfJobScriptResult" } } } } } }, "delete": { "tags": [ "Jobs" ], "operationId": "DeleteJob", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/workspaces/{slug}/jobs/{jobId}/run": { "post": { "tags": [ "Jobs" ], "operationId": "RunJob", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/RunJobScriptRequest" } ] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfJobRunResult" } } } } } } }, "/api/workspaces/{slug}/jobs/{jobId}/runs": { "get": { "tags": [ "Jobs" ], "operationId": "ListJobRuns", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfJobRunResult" } } } } } } }, "/api/workspaces/{slug}/runs": { "get": { "tags": [ "Jobs" ], "operationId": "ListWorkspaceRuns", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfJobRunResult" } } } } } } }, "/api/workspaces/{slug}/runs/{runId}": { "get": { "tags": [ "Jobs" ], "operationId": "GetRun", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "runId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfJobRunDetailResult" } } } } } } }, "/api/tools": { "get": { "tags": [ "Tools" ], "operationId": "ListTools", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfToolEntry" } } } } } } }, "/api/workspaces/{slug}/schedules": { "get": { "tags": [ "Schedules" ], "operationId": "ListSchedules", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfScheduleResult" } } } } } }, "post": { "tags": [ "Schedules" ], "operationId": "CreateSchedule", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfScheduleResult" } } } } } } }, "/api/workspaces/{slug}/schedules/{scheduleId}": { "put": { "tags": [ "Schedules" ], "operationId": "UpdateSchedule", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "scheduleId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfScheduleResult" } } } } } }, "delete": { "tags": [ "Schedules" ], "operationId": "DeleteSchedule", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "scheduleId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfboolean" } } } } } } }, "/api/workspaces/{slug}/schedules/{scheduleId}/fire": { "post": { "tags": [ "Schedules" ], "operationId": "FireSchedule", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "scheduleId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfGuid" } } } } } } }, "/api/workspaces/{slug}/conventions": { "get": { "tags": [ "Projections" ], "operationId": "ListConventions", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfConventionsListResult" } } } } } } }, "/api/workspaces/{slug}/entities": { "get": { "tags": [ "Projections" ], "operationId": "QueryEntities", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "kind", "in": "query", "schema": { "type": "string" } }, { "name": "entitySlug", "in": "query", "schema": { "type": "string" } }, { "name": "pathGlob", "in": "query", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfEntitySummary" } } } } } } }, "/api/workspaces/{slug}/entities/{kind}/{entitySlug}": { "get": { "tags": [ "Projections" ], "operationId": "GetEntity", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "entitySlug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfEntityDetail" } } } } } } }, "/api/workspaces/{slug}/projections/sync": { "post": { "tags": [ "Projections" ], "operationId": "SyncProjection", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfSyncProjectionResult" } } } } } } }, "/api/workspaces/{slug}/plans": { "get": { "tags": [ "Plans" ], "operationId": "ListPlans", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } }, { "name": "take", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfIReadOnlyListOfPlanSummary" } } } } } } }, "/api/workspaces/{slug}/plans/{planId}": { "get": { "tags": [ "Plans" ], "operationId": "GetPlan", "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "planId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfPlanDetail" } } } } } } }, "/api/ping": { "get": { "tags": [ "Diagnostics" ], "summary": "Liveness probe", "description": "Returns a small payload echoing the server's wall-clock time. Used by the SPA and external monitors to confirm the API is reachable through the dev proxy and reverse proxies.", "operationId": "Ping", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfPingResponse" } } } } } } }, "/api/echo": { "post": { "tags": [ "Diagnostics" ], "summary": "Echo a message back, optionally repeated", "description": "Demonstrates the full request/validation/envelope/ProblemDetails chain. Provided as a smoke-test endpoint for the dev proxy and the generated TypeScript client.", "operationId": "Echo", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EchoRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResultOfEchoResponse" } } } } } } } }, "components": { "schemas": { "AgentChatRequest": { "required": [ "message" ], "type": "object", "properties": { "message": { "type": "string" }, "history": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/ChatTurn" } }, "provider": { "type": [ "null", "string" ] }, "currentScreen": { "type": [ "null", "string" ] } } }, "AgentChatResult": { "required": [ "ok", "reply", "provider", "model", "latencyMs", "error" ], "type": "object", "properties": { "ok": { "type": "boolean" }, "reply": { "type": "string" }, "provider": { "type": [ "null", "string" ] }, "model": { "type": [ "null", "string" ] }, "latencyMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "error": { "type": [ "null", "string" ] } } }, "AgentHealthResult": { "required": [ "ok", "provider", "model", "latencyMs", "reply", "error" ], "type": "object", "properties": { "ok": { "type": "boolean" }, "provider": { "type": [ "null", "string" ] }, "model": { "type": [ "null", "string" ] }, "latencyMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "reply": { "type": [ "null", "string" ] }, "error": { "type": [ "null", "string" ] } } }, "AiProvidersConfig": { "type": "object", "properties": { "defaultProvider": { "type": [ "null", "string" ] }, "anthropic": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/AnthropicConfig" } ] }, "openAI": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/OpenAIConfig" } ] }, "local": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/LocalProviderConfig" } ] } } }, "AnthropicConfig": { "type": "object", "properties": { "apiKeySecret": { "type": [ "null", "string" ] }, "defaultModel": { "type": [ "null", "string" ] }, "baseUrl": { "type": [ "null", "string" ] } } }, "ApiResultOfAgentChatResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/AgentChatResult" } ] } } }, "ApiResultOfAgentHealthResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/AgentHealthResult" } ] } } }, "ApiResultOfboolean": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": "boolean" } } }, "ApiResultOfBrandingAssetResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/BrandingAssetResult" } ] } } }, "ApiResultOfBrandingConfig": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/BrandingConfig" } ] } } }, "ApiResultOfConventionsListResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/ConventionsListResult" } ] } } }, "ApiResultOfCreateUserResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/CreateUserResult" } ] } } }, "ApiResultOfEchoResponse": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/EchoResponse" } ] } } }, "ApiResultOfEntityDetail": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/EntityDetail" } ] } } }, "ApiResultOfEnvironmentConfigView": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/EnvironmentConfigView" } ] } } }, "ApiResultOfGuid": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "string" ], "format": "uuid" } } }, "ApiResultOfIReadOnlyListOfEntitySummary": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/EntitySummary" } } } }, "ApiResultOfIReadOnlyListOfJobRunResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/JobRunResult" } } } }, "ApiResultOfIReadOnlyListOfJobScriptResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/JobScriptResult" } } } }, "ApiResultOfIReadOnlyListOfPlanSummary": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/PlanSummary" } } } }, "ApiResultOfIReadOnlyListOfScheduleResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/ScheduleResult" } } } }, "ApiResultOfIReadOnlyListOfstring": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "type": "string" } } } }, "ApiResultOfIReadOnlyListOfToolEntry": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/ToolEntry" } } } }, "ApiResultOfIReadOnlyListOfUserResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/UserResult" } } } }, "ApiResultOfIReadOnlyListOfWorkspaceResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/WorkspaceResult" } } } }, "ApiResultOfJobRunDetailResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/JobRunDetailResult" } ] } } }, "ApiResultOfJobRunResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/JobRunResult" } ] } } }, "ApiResultOfJobScriptResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/JobScriptResult" } ] } } }, "ApiResultOfPingResponse": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/PingResponse" } ] } } }, "ApiResultOfPlanDetail": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/PlanDetail" } ] } } }, "ApiResultOfScheduleResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/ScheduleResult" } ] } } }, "ApiResultOfSyncProjectionResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/SyncProjectionResult" } ] } } }, "ApiResultOfUserResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/UserResult" } ] } } }, "ApiResultOfWorkspaceConnectionTestResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/WorkspaceConnectionTestResult" } ] } } }, "ApiResultOfWorkspacePluginsResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/WorkspacePluginsResult" } ] } } }, "ApiResultOfWorkspaceResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/WorkspaceResult" } ] } } }, "ApiResultOfWorkspaceSyncResult": { "required": [ "result" ], "type": "object", "properties": { "result": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/WorkspaceSyncResult" } ] } } }, "BrandingAssetResult": { "required": [ "url", "contentType", "size" ], "type": "object", "properties": { "url": { "type": "string" }, "contentType": { "type": "string" }, "size": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" } } }, "BrandingConfig": { "required": [ "productName", "logoUrl", "faviconUrl", "loginBackgroundUrl", "loginTagline", "mode", "palette", "chrome", "chromeLight", "fontFamily", "fontFamilyMono", "customCss", "footerText", "supportEmail" ], "type": "object", "properties": { "productName": { "type": "string" }, "logoUrl": { "type": [ "null", "string" ] }, "faviconUrl": { "type": [ "null", "string" ] }, "loginBackgroundUrl": { "type": [ "null", "string" ] }, "loginTagline": { "type": [ "null", "string" ] }, "mode": { "type": "string" }, "palette": { "$ref": "#/components/schemas/BrandPalette" }, "chrome": { "$ref": "#/components/schemas/ChromeTokens" }, "chromeLight": { "$ref": "#/components/schemas/ChromeTokens" }, "fontFamily": { "type": [ "null", "string" ] }, "fontFamilyMono": { "type": [ "null", "string" ] }, "customCss": { "type": [ "null", "string" ] }, "footerText": { "type": [ "null", "string" ] }, "supportEmail": { "type": [ "null", "string" ] } } }, "BrandPalette": { "type": "object", "properties": { "primary": { "type": [ "null", "string" ] }, "secondary": { "type": [ "null", "string" ] }, "accent": { "type": [ "null", "string" ] }, "positive": { "type": [ "null", "string" ] }, "negative": { "type": [ "null", "string" ] }, "info": { "type": [ "null", "string" ] }, "warning": { "type": [ "null", "string" ] }, "dark": { "type": [ "null", "string" ] }, "darkPage": { "type": [ "null", "string" ] } } }, "ChangePasswordRequest": { "required": [ "currentPassword", "newPassword", "confirmPassword" ], "type": "object", "properties": { "currentPassword": { "type": "string" }, "newPassword": { "type": "string" }, "confirmPassword": { "type": "string" } } }, "ChatTurn": { "required": [ "role", "content" ], "type": "object", "properties": { "role": { "type": "string" }, "content": { "type": "string" } } }, "ChromeTokens": { "type": "object", "properties": { "bgPage": { "type": [ "null", "string" ] }, "bgSurface": { "type": [ "null", "string" ] }, "bgHeader": { "type": [ "null", "string" ] }, "bgSidebar": { "type": [ "null", "string" ] }, "bgElevated": { "type": [ "null", "string" ] }, "fgPrimary": { "type": [ "null", "string" ] }, "fgSecondary": { "type": [ "null", "string" ] }, "fgTertiary": { "type": [ "null", "string" ] }, "borderSubtle": { "type": [ "null", "string" ] }, "borderDefault": { "type": [ "null", "string" ] }, "borderStrong": { "type": [ "null", "string" ] } } }, "ConventionLoadError": { "required": [ "source", "message" ], "type": "object", "properties": { "source": { "type": [ "null", "string" ] }, "message": { "type": "string" } } }, "ConventionsListResult": { "required": [ "conventions", "errors" ], "type": "object", "properties": { "conventions": { "type": "array", "items": { "$ref": "#/components/schemas/ConventionSummary" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/ConventionLoadError" } } } }, "ConventionSummary": { "required": [ "id", "description", "priority", "glob", "extends", "contentHash", "sourcePath" ], "type": "object", "properties": { "id": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "priority": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "glob": { "type": "string" }, "extends": { "type": [ "null", "string" ] }, "contentHash": { "type": "string" }, "sourcePath": { "type": [ "null", "string" ] } } }, "CreateJobScriptRequest": { "required": [ "slug", "name", "description", "pattern", "frontmatter", "body", "status" ], "type": "object", "properties": { "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "pattern": { "type": "string" }, "frontmatter": { "type": "string" }, "body": { "type": "string" }, "status": { "type": "string" } } }, "CreateScheduleRequest": { "required": [ "jobScriptId", "kind", "cronExpression", "enabled" ], "type": "object", "properties": { "jobScriptId": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "cronExpression": { "type": [ "null", "string" ] }, "enabled": { "type": "boolean" } } }, "CreateUserRequest": { "required": [ "email", "displayName", "role", "temporaryPassword" ], "type": "object", "properties": { "email": { "type": "string" }, "displayName": { "type": "string" }, "role": { "type": "string" }, "temporaryPassword": { "type": [ "null", "string" ] } } }, "CreateUserResult": { "required": [ "userId", "email", "displayName", "role", "temporaryPassword" ], "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "email": { "type": "string" }, "displayName": { "type": "string" }, "role": { "type": "string" }, "temporaryPassword": { "type": "string" } } }, "CreateWorkspaceRequest": { "required": [ "slug", "name", "description", "type" ], "type": "object", "properties": { "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "type": { "type": "string" }, "gitSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/GitWorkspaceSettingsDto" } ] }, "localSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/LocalWorkspaceSettingsDto" } ] } } }, "EchoRequest": { "required": [ "message", "repeat" ], "type": "object", "properties": { "message": { "type": "string" }, "repeat": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int32" } } }, "EchoResponse": { "required": [ "message" ], "type": "object", "properties": { "message": { "type": "string" } } }, "EntityDetail": { "required": [ "id", "kind", "slug", "path", "conventionId", "metadataJson", "contentHash", "lastSeenAt", "refsOut", "refsIn" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "slug": { "type": "string" }, "path": { "type": "string" }, "conventionId": { "type": "string" }, "metadataJson": { "type": "string" }, "contentHash": { "type": "string" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "refsOut": { "type": "array", "items": { "$ref": "#/components/schemas/EntityRefSummary" } }, "refsIn": { "type": "array", "items": { "$ref": "#/components/schemas/EntityRefSummary" } } } }, "EntityRefSummary": { "required": [ "id", "toEntityId", "relationship", "targetKind", "targetSlug" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "toEntityId": { "type": [ "null", "string" ], "format": "uuid" }, "relationship": { "type": "string" }, "targetKind": { "type": [ "null", "string" ] }, "targetSlug": { "type": [ "null", "string" ] } } }, "EntitySummary": { "required": [ "id", "kind", "slug", "path", "conventionId", "contentHash" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "slug": { "type": "string" }, "path": { "type": "string" }, "conventionId": { "type": "string" }, "contentHash": { "type": "string" } } }, "EnvironmentConfig": { "required": [ "general", "smtp", "aiProviders" ], "type": "object", "properties": { "general": { "$ref": "#/components/schemas/GeneralConfig" }, "smtp": { "$ref": "#/components/schemas/SmtpConfig" }, "aiProviders": { "$ref": "#/components/schemas/AiProvidersConfig" } } }, "EnvironmentConfigView": { "required": [ "config", "secretsPresent" ], "type": "object", "properties": { "config": { "$ref": "#/components/schemas/EnvironmentConfig" }, "secretsPresent": { "type": "object", "additionalProperties": { "type": "boolean" } } } }, "GeneralConfig": { "type": "object", "properties": { "baseUrl": { "type": [ "null", "string" ] }, "timezone": { "type": [ "null", "string" ] } } }, "GitWorkspaceSettingsDto": { "required": [ "repositoryUrl" ], "type": "object", "properties": { "repositoryUrl": { "type": "string" }, "authMode": { "type": "string", "default": "none" }, "authSecret": { "type": [ "null", "string" ] }, "authCredential": { "type": [ "null", "string" ] }, "workingBranch": { "type": "string", "default": "creuser/main" }, "sourceBranch": { "type": "string", "default": "main" }, "mode": { "type": "string", "default": "direct-push" }, "pushFrequency": { "type": "string", "default": "every-commit" } } }, "IFormFile": { "type": "string", "format": "binary" }, "JobRunDetailResult": { "required": [ "run", "steps" ], "type": "object", "properties": { "run": { "$ref": "#/components/schemas/JobRunResult" }, "steps": { "type": "array", "items": { "$ref": "#/components/schemas/JobRunStepResult" } } } }, "JobRunResult": { "required": [ "runId", "jobScriptId", "workspaceId", "status", "triggerKind", "startedAt", "completedAt", "durationMs", "totalTokensUsed", "totalCostUsd", "failureMessage", "startCommitSha", "endCommitSha" ], "type": "object", "properties": { "runId": { "type": "string", "format": "uuid" }, "jobScriptId": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "triggerKind": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time" }, "durationMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "totalTokensUsed": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "totalCostUsd": { "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", "type": [ "null", "number", "string" ], "format": "double" }, "failureMessage": { "type": [ "null", "string" ] }, "startCommitSha": { "type": [ "null", "string" ] }, "endCommitSha": { "type": [ "null", "string" ] }, "planId": { "type": [ "null", "string" ], "format": "uuid" } } }, "JobRunStepResult": { "required": [ "stepId", "position", "stepType", "name", "status", "idempotencyKey", "cachedFromStepId", "inputsJson", "outputsJson", "fileChangeCount", "commitSha", "startedAt", "completedAt", "durationMs", "tokensUsed", "costUsd", "errorMessage" ], "type": "object", "properties": { "stepId": { "type": "string", "format": "uuid" }, "position": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "stepType": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "idempotencyKey": { "type": "string" }, "cachedFromStepId": { "type": [ "null", "string" ], "format": "uuid" }, "inputsJson": { "type": "string" }, "outputsJson": { "type": [ "null", "string" ] }, "fileChangeCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "commitSha": { "type": [ "null", "string" ] }, "startedAt": { "type": "string", "format": "date-time" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time" }, "durationMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "tokensUsed": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "costUsd": { "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", "type": [ "null", "number", "string" ], "format": "double" }, "errorMessage": { "type": [ "null", "string" ] } } }, "JobScriptResult": { "required": [ "jobScriptId", "workspaceId", "slug", "name", "description", "pattern", "frontmatter", "body", "status", "createdAt", "updatedAt" ], "type": "object", "properties": { "jobScriptId": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" }, "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "pattern": { "type": "string" }, "frontmatter": { "type": "string" }, "body": { "type": "string" }, "status": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "LocalProviderConfig": { "type": "object", "properties": { "baseUrl": { "type": [ "null", "string" ] }, "defaultModel": { "type": [ "null", "string" ] }, "apiKeySecret": { "type": [ "null", "string" ] }, "kind": { "type": [ "null", "string" ] } } }, "LocalWorkspaceSettingsDto": { "required": [ "path" ], "type": "object", "properties": { "path": { "type": "string" }, "writable": { "type": "boolean", "default": true } } }, "LoginRequest": { "required": [ "email", "password" ], "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "OpenAIConfig": { "type": "object", "properties": { "apiKeySecret": { "type": [ "null", "string" ] }, "defaultModel": { "type": [ "null", "string" ] }, "baseUrl": { "type": [ "null", "string" ] }, "azureDeployment": { "type": [ "null", "string" ] } } }, "PingResponse": { "required": [ "message", "serverTime" ], "type": "object", "properties": { "message": { "type": "string" }, "serverTime": { "type": "string", "format": "date-time" } } }, "PlanDetail": { "required": [ "id", "workspaceId", "jobScriptId", "goal", "stepsJson", "reasoning", "model", "provider", "tokensUsed", "createdAt" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" }, "jobScriptId": { "type": "string", "format": "uuid" }, "goal": { "type": "string" }, "stepsJson": { "type": "string" }, "reasoning": { "type": [ "null", "string" ] }, "model": { "type": "string" }, "provider": { "type": "string" }, "tokensUsed": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "createdAt": { "type": "string", "format": "date-time" } } }, "PlanSummary": { "required": [ "id", "workspaceId", "jobScriptId", "goal", "stepCount", "reasoning", "model", "provider", "tokensUsed", "createdAt" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" }, "jobScriptId": { "type": "string", "format": "uuid" }, "goal": { "type": "string" }, "stepCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "reasoning": { "type": [ "null", "string" ] }, "model": { "type": "string" }, "provider": { "type": "string" }, "tokensUsed": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "createdAt": { "type": "string", "format": "date-time" } } }, "ProjectionReport": { "required": [ "syncedAt", "scanDurationMs", "conventionCount", "entitiesByKind", "entityTotal", "refsResolved", "refsUnresolved", "schemaFailures", "conventionConflicts", "conventionVersions" ], "type": "object", "properties": { "syncedAt": { "type": "string", "format": "date-time" }, "scanDurationMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "conventionCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "entitiesByKind": { "type": "object", "additionalProperties": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } }, "entityTotal": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "refsResolved": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "refsUnresolved": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "schemaFailures": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "conventionConflicts": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "conventionVersions": { "type": "object", "additionalProperties": { "type": "string" } } } }, "ResetPasswordRequest": { "type": "object", "properties": { "temporaryPassword": { "type": [ "null", "string" ] } } }, "RunJobScriptRequest": { "required": [ "parameters" ], "type": "object", "properties": { "parameters": { "type": [ "null", "object" ] } } }, "ScheduleResult": { "required": [ "scheduleId", "workspaceId", "jobScriptId", "jobName", "kind", "cronExpression", "enabled", "nextDueAt", "lastFiredAt", "lastRunId", "createdAt" ], "type": "object", "properties": { "scheduleId": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" }, "jobScriptId": { "type": "string", "format": "uuid" }, "jobName": { "type": "string" }, "kind": { "type": "string" }, "cronExpression": { "type": [ "null", "string" ] }, "enabled": { "type": "boolean" }, "nextDueAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastFiredAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastRunId": { "type": [ "null", "string" ], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" } } }, "SetActiveRequest": { "required": [ "isActive" ], "type": "object", "properties": { "isActive": { "type": "boolean" } } }, "SetSecretRequest": { "required": [ "value" ], "type": "object", "properties": { "value": { "type": "string" } } }, "SetUserRoleRequest": { "required": [ "role" ], "type": "object", "properties": { "role": { "type": "string" } } }, "SmtpConfig": { "type": "object", "properties": { "host": { "type": [ "null", "string" ] }, "port": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int32" }, "username": { "type": [ "null", "string" ] }, "passwordSecret": { "type": [ "null", "string" ] }, "encryption": { "type": [ "null", "string" ] }, "fromAddress": { "type": [ "null", "string" ] }, "fromName": { "type": [ "null", "string" ] } } }, "SyncProjectionResult": { "required": [ "report" ], "type": "object", "properties": { "report": { "$ref": "#/components/schemas/ProjectionReport" } } }, "TestWorkspaceConnectionRequest": { "required": [ "type" ], "type": "object", "properties": { "type": { "type": "string" }, "gitSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/GitWorkspaceSettingsDto" } ] }, "localSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/LocalWorkspaceSettingsDto" } ] } } }, "ToolEntry": { "required": [ "name", "category", "description", "source" ], "type": "object", "properties": { "name": { "type": "string" }, "category": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "source": { "type": "string" } } }, "UpdateJobScriptRequest": { "required": [ "name", "description", "pattern", "frontmatter", "body", "status" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "pattern": { "type": "string" }, "frontmatter": { "type": "string" }, "body": { "type": "string" }, "status": { "type": "string" } } }, "UpdateScheduleRequest": { "required": [ "kind", "cronExpression", "enabled" ], "type": "object", "properties": { "kind": { "type": "string" }, "cronExpression": { "type": [ "null", "string" ] }, "enabled": { "type": "boolean" } } }, "UpdateWorkspaceRequest": { "required": [ "name", "description", "type" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "type": { "type": "string" }, "gitSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/GitWorkspaceSettingsDto" } ] }, "localSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/LocalWorkspaceSettingsDto" } ] } } }, "UserResult": { "required": [ "userId", "email", "displayName", "role", "isActive", "mustChangePassword", "lastLoginAt" ], "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "email": { "type": "string" }, "displayName": { "type": "string" }, "role": { "type": "string" }, "isActive": { "type": "boolean" }, "mustChangePassword": { "type": "boolean" }, "lastLoginAt": { "type": [ "null", "string" ], "format": "date-time" } } }, "WorkspaceConnectionTestResult": { "required": [ "ok", "latencyMs", "error" ], "type": "object", "properties": { "ok": { "type": "boolean" }, "latencyMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "error": { "type": [ "null", "string" ] } } }, "WorkspacePluginInfo": { "required": [ "pluginId", "name", "version", "author", "description", "enabled", "status", "statusMessage", "provides", "requiredTools", "loadedAt" ], "type": "object", "properties": { "pluginId": { "type": "string" }, "name": { "type": "string" }, "version": { "type": "string" }, "author": { "type": [ "null", "string" ] }, "description": { "type": [ "null", "string" ] }, "enabled": { "type": "boolean" }, "status": { "type": "string" }, "statusMessage": { "type": [ "null", "string" ] }, "provides": { "type": "array", "items": { "type": "string" } }, "requiredTools": { "type": "array", "items": { "type": "string" } }, "loadedAt": { "type": [ "null", "string" ], "format": "date-time" } } }, "WorkspacePluginsResult": { "required": [ "plugins", "note" ], "type": "object", "properties": { "plugins": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspacePluginInfo" } }, "note": { "type": [ "null", "string" ] } } }, "WorkspaceResult": { "required": [ "workspaceId", "slug", "name", "description", "type", "gitSettings", "localSettings", "authSecretPresent", "createdAt", "updatedAt", "lastSyncAt", "lastSyncSha", "lastSyncStatus", "lastSyncMessage" ], "type": "object", "properties": { "workspaceId": { "type": "string", "format": "uuid" }, "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "null", "string" ] }, "type": { "type": "string" }, "gitSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/GitWorkspaceSettingsDto" } ] }, "localSettings": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/LocalWorkspaceSettingsDto" } ] }, "authSecretPresent": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "lastSyncAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastSyncSha": { "type": [ "null", "string" ] }, "lastSyncStatus": { "type": [ "null", "string" ] }, "lastSyncMessage": { "type": [ "null", "string" ] } } }, "WorkspaceSyncResult": { "required": [ "ok", "slug", "sha", "latencyMs", "syncedAt", "message", "error" ], "type": "object", "properties": { "ok": { "type": "boolean" }, "slug": { "type": "string" }, "sha": { "type": [ "null", "string" ] }, "latencyMs": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "syncedAt": { "type": "string", "format": "date-time" }, "message": { "type": [ "null", "string" ] }, "error": { "type": [ "null", "string" ] }, "dirtyCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 0 }, "requiresForce": { "type": "boolean", "default": false } } } } }, "tags": [ { "name": "Auth" }, { "name": "Admin" }, { "name": "Branding" }, { "name": "Environment" }, { "name": "Agents" }, { "name": "Workspaces" }, { "name": "Jobs" }, { "name": "Tools" }, { "name": "Schedules" }, { "name": "Projections" }, { "name": "Plans" }, { "name": "Diagnostics" } ] }