{ "openapi": "3.0.3", "info": { "title": "OpenHands API", "description": "OpenHands: Code Less, Make More", "version": "1.0.0" }, "servers": [ { "url": "https://app.all-hands.dev", "description": "Production server" }, { "url": "http://localhost:3000", "description": "Local development server" } ], "paths": { "/health": { "get": { "summary": "Health check", "description": "Check if the API is running", "operationId": "health", "responses": { "200": { "description": "API is running", "content": { "text/plain": { "schema": { "type": "string", "example": "OK" } } } } } } }, "/api/conversations/{conversation_id}/config": { "get": { "summary": "Get runtime configuration", "description": "Retrieve the runtime configuration (session ID and runtime ID)", "operationId": "getRemoteRuntimeConfig", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Runtime configuration", "content": { "application/json": { "schema": { "type": "object", "properties": { "runtime_id": { "type": "string", "nullable": true }, "session_id": { "type": "string", "nullable": true } } } } } } } } }, "/api/conversations/{conversation_id}/vscode-url": { "get": { "summary": "Get VSCode URL", "description": "Get the VSCode URL for the conversation", "operationId": "getVscodeUrl", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "VSCode URL", "content": { "application/json": { "schema": { "type": "object", "properties": { "vscode_url": { "type": "string", "nullable": true } } } } } }, "500": { "description": "Error getting VSCode URL", "content": { "application/json": { "schema": { "type": "object", "properties": { "vscode_url": { "type": "string", "nullable": true }, "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/web-hosts": { "get": { "summary": "Get runtime hosts", "description": "Get the hosts used by the runtime", "operationId": "getHosts", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Runtime hosts", "content": { "application/json": { "schema": { "type": "object", "properties": { "hosts": { "type": "array", "items": { "type": "string" } } } } } } }, "500": { "description": "Error getting runtime hosts", "content": { "application/json": { "schema": { "type": "object", "properties": { "hosts": { "type": "array", "items": { "type": "string" }, "nullable": true }, "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/submit-feedback": { "post": { "summary": "Submit feedback", "description": "Submit user feedback for a conversation", "operationId": "submitFeedback", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string", "format": "email" }, "version": { "type": "string" }, "permissions": { "type": "string", "default": "private" }, "polarity": { "type": "string" }, "feedback": { "type": "string" } } } } } }, "responses": { "200": { "description": "Feedback submitted successfully", "content": { "application/json": { "schema": { "type": "object" } } } }, "500": { "description": "Error submitting feedback", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/list-files": { "get": { "summary": "List files", "description": "List files in the specified path", "operationId": "listFiles", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Path to list files from" } ], "responses": { "200": { "description": "List of files", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "404": { "description": "Runtime not initialized", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } }, "500": { "description": "Error listing files", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/select-file": { "get": { "summary": "Get file content", "description": "Retrieve the content of a specified file", "operationId": "selectFile", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "file", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Path of the file to be retrieved" } ], "responses": { "200": { "description": "File content", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string" } } } } } }, "415": { "description": "Unable to open binary file", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } }, "500": { "description": "Error opening file", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/zip-directory": { "get": { "summary": "Download workspace as zip", "description": "Download the current workspace as a zip file", "operationId": "zipCurrentWorkspace", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Workspace zip file", "content": { "application/zip": { "schema": { "type": "string", "format": "binary" } } } }, "500": { "description": "Error zipping workspace", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/git/changes": { "get": { "summary": "Get git changes", "description": "Get git changes in the workspace", "operationId": "gitChanges", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Git changes", "content": { "application/json": { "schema": { "type": "object" } } } }, "500": { "description": "Error getting git changes", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/git/diff": { "get": { "summary": "Get git diff", "description": "Get git diff for a specific file", "operationId": "gitDiff", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Path of the file to get diff for" } ], "responses": { "200": { "description": "Git diff", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "Error getting git diff", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/trajectory": { "get": { "summary": "Get trajectory", "description": "Get the conversation trajectory", "operationId": "getTrajectory", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Conversation trajectory", "content": { "application/json": { "schema": { "type": "object", "properties": { "trajectory": { "type": "array", "items": { "type": "object" } } } } } } }, "500": { "description": "Error getting trajectory", "content": { "application/json": { "schema": { "type": "object", "properties": { "trajectory": { "type": "array", "items": { "type": "object" }, "nullable": true }, "error": { "type": "string" } } } } } } } } }, "/api/conversations/{conversation_id}/security/{path}": { "get": { "summary": "Security analyzer API (GET)", "description": "Catch-all route for security analyzer API GET requests", "operationId": "securityApiGet", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Security analyzer API path" } ], "responses": { "200": { "description": "Security analyzer response", "content": { "application/json": { "schema": { "type": "object" } } } }, "404": { "description": "Security analyzer not initialized", "content": { "application/json": { "schema": { "type": "object", "properties": { "detail": { "type": "string" } } } } } } } }, "post": { "summary": "Security analyzer API (POST)", "description": "Catch-all route for security analyzer API POST requests", "operationId": "securityApiPost", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Security analyzer API path" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Security analyzer response", "content": { "application/json": { "schema": { "type": "object" } } } }, "404": { "description": "Security analyzer not initialized", "content": { "application/json": { "schema": { "type": "object", "properties": { "detail": { "type": "string" } } } } } } } }, "put": { "summary": "Security analyzer API (PUT)", "description": "Catch-all route for security analyzer API PUT requests", "operationId": "securityApiPut", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Security analyzer API path" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Security analyzer response", "content": { "application/json": { "schema": { "type": "object" } } } }, "404": { "description": "Security analyzer not initialized", "content": { "application/json": { "schema": { "type": "object", "properties": { "detail": { "type": "string" } } } } } } } }, "delete": { "summary": "Security analyzer API (DELETE)", "description": "Catch-all route for security analyzer API DELETE requests", "operationId": "securityApiDelete", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" }, { "name": "path", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Security analyzer API path" } ], "responses": { "200": { "description": "Security analyzer response", "content": { "application/json": { "schema": { "type": "object" } } } }, "404": { "description": "Security analyzer not initialized", "content": { "application/json": { "schema": { "type": "object", "properties": { "detail": { "type": "string" } } } } } } } } }, "/api/conversations": { "post": { "summary": "Create new conversation", "description": "Initialize a new conversation", "operationId": "newConversation", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "repository": { "type": "string", "nullable": true, "description": "Full name of the repository (e.g., owner/repo)" }, "git_provider": { "type": "string", "nullable": true, "description": "The Git provider (e.g., github or gitlab). If omitted, all configured providers are checked for the repository." }, "selected_branch": { "type": "string", "nullable": true }, "initial_user_msg": { "type": "string", "nullable": true }, "conversation_instructions": { "type": "string", "nullable": true, "description": "Optional instructions the agent must follow throughout the conversation while addressing the user's initial task" }, "image_urls": { "type": "array", "items": { "type": "string" }, "nullable": true }, "replay_json": { "type": "string", "nullable": true } } } } } }, "responses": { "200": { "description": "Conversation created successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "conversation_id": { "type": "string" } } } } } }, "400": { "description": "Error creating conversation", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "example": "error" }, "message": { "type": "string" }, "msg_id": { "type": "string" } } } } } } } }, "get": { "summary": "Search conversations", "description": "Search for conversations", "operationId": "searchConversations", "parameters": [ { "name": "page_id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Page ID for pagination" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 20 }, "description": "Number of conversations to return" } ], "responses": { "200": { "description": "Conversations", "content": { "application/json": { "schema": { "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "title": { "type": "string" }, "last_updated_at": { "type": "string", "format": "date-time" }, "created_at": { "type": "string", "format": "date-time" }, "selected_repository": { "type": "string", "nullable": true }, "status": { "type": "string", "enum": ["RUNNING", "STOPPED"] }, "trigger": { "type": "string", "enum": ["GUI", "API"] } } } }, "next_page_id": { "type": "string", "nullable": true } } } } } } } } }, "/api/conversations/{conversation_id}": { "get": { "summary": "Get conversation", "description": "Get conversation details", "operationId": "getConversation", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Conversation details", "content": { "application/json": { "schema": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "title": { "type": "string" }, "last_updated_at": { "type": "string", "format": "date-time" }, "created_at": { "type": "string", "format": "date-time" }, "selected_repository": { "type": "string", "nullable": true }, "status": { "type": "string", "enum": ["RUNNING", "STOPPED"] }, "trigger": { "type": "string", "enum": ["GUI", "API"] } } } } } }, "404": { "description": "Conversation not found", "content": { "application/json": { "schema": { "type": "object", "nullable": true } } } } } }, "patch": { "summary": "Update conversation", "description": "Update conversation details", "operationId": "updateConversation", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } } } } }, "responses": { "200": { "description": "Conversation updated successfully", "content": { "application/json": { "schema": { "type": "boolean" } } } } } }, "delete": { "summary": "Delete conversation", "description": "Delete a conversation", "operationId": "deleteConversation", "parameters": [ { "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Conversation ID" } ], "responses": { "200": { "description": "Conversation deleted successfully", "content": { "application/json": { "schema": { "type": "boolean" } } } } } } }, "/api/user/repositories": { "get": { "summary": "Get user repositories", "description": "Get repositories for the authenticated user", "operationId": "getUserRepositories", "parameters": [ { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "default": "pushed" }, "description": "Sort order for repositories" } ], "responses": { "200": { "description": "User repositories", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "full_name": { "type": "string" }, "description": { "type": "string", "nullable": true }, "html_url": { "type": "string" }, "private": { "type": "boolean" }, "fork": { "type": "boolean" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "Unknown error", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/user/info": { "get": { "summary": "Get user info", "description": "Get information about the authenticated user", "operationId": "getUser", "responses": { "200": { "description": "User information", "content": { "application/json": { "schema": { "type": "object", "properties": { "login": { "type": "string" }, "name": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "avatar_url": { "type": "string", "nullable": true } } } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "Unknown error", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/user/search/repositories": { "get": { "summary": "Search repositories", "description": "Search for repositories", "operationId": "searchRepositories", "parameters": [ { "name": "query", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Search query" }, { "name": "per_page", "in": "query", "required": false, "schema": { "type": "integer", "default": 5 }, "description": "Number of repositories to return per page" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "default": "stars" }, "description": "Sort order for repositories" }, { "name": "order", "in": "query", "required": false, "schema": { "type": "string", "default": "desc" }, "description": "Sort direction" } ], "responses": { "200": { "description": "Search results", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "full_name": { "type": "string" }, "description": { "type": "string", "nullable": true }, "html_url": { "type": "string" }, "private": { "type": "boolean" }, "fork": { "type": "boolean" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "Unknown error", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/user/suggested-tasks": { "get": { "summary": "Get suggested tasks", "description": "Get suggested tasks for the authenticated user across their most recently pushed repositories", "operationId": "getSuggestedTasks", "responses": { "200": { "description": "Suggested tasks", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "url": { "type": "string" }, "repository": { "type": "string" }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } } } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "Unknown error", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/settings": { "get": { "summary": "Get settings", "description": "Get user settings", "operationId": "loadSettings", "responses": { "200": { "description": "User settings", "content": { "application/json": { "schema": { "type": "object", "properties": { "language": { "type": "string" }, "agent": { "type": "string" }, "security_analyzer": { "type": "string" }, "confirmation_mode": { "type": "boolean" }, "llm_model": { "type": "string" }, "llm_api_key_set": { "type": "boolean" }, "llm_base_url": { "type": "string", "nullable": true }, "remote_runtime_resource_factor": { "type": "number" }, "enable_default_condenser": { "type": "boolean" }, "enable_sound_notifications": { "type": "boolean" }, "user_consents_to_analytics": { "type": "boolean" }, "provider_tokens_set": { "type": "object", "additionalProperties": { "type": "boolean" } } } } } } }, "401": { "description": "Invalid token", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } }, "404": { "description": "Settings not found", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } }, "post": { "summary": "Store settings", "description": "Store user settings", "operationId": "storeSettings", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "language": { "type": "string" }, "agent": { "type": "string" }, "security_analyzer": { "type": "string" }, "confirmation_mode": { "type": "boolean" }, "llm_model": { "type": "string" }, "llm_api_key": { "type": "string" }, "llm_base_url": { "type": "string", "nullable": true }, "remote_runtime_resource_factor": { "type": "number" }, "enable_default_condenser": { "type": "boolean" }, "enable_sound_notifications": { "type": "boolean" }, "user_consents_to_analytics": { "type": "boolean" }, "provider_tokens": { "type": "object", "additionalProperties": { "type": "string" } } } } } } }, "responses": { "200": { "description": "Settings stored successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } } } } }, "401": { "description": "Invalid token", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } }, "500": { "description": "Error storing settings", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/reset-settings": { "post": { "summary": "Reset settings (Deprecated)", "description": "This endpoint is deprecated and will return a 410 Gone error. Reset functionality has been removed.", "operationId": "resetSettings", "deprecated": true, "responses": { "410": { "description": "Feature removed", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string", "example": "Reset settings functionality has been removed." } } } } } } } } }, "/api/unset-settings-tokens": { "post": { "summary": "Unset settings tokens", "description": "Unset provider tokens in settings", "operationId": "unsetSettingsTokens", "responses": { "200": { "description": "Tokens unset successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } } } } }, "500": { "description": "Error unsetting tokens", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } } } }, "/api/options/models": { "get": { "summary": "Get models", "description": "Get all models supported by LiteLLM", "operationId": "getLitellmModels", "responses": { "200": { "description": "List of models", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/api/options/agents": { "get": { "summary": "Get agents", "description": "Get all agents supported by OpenHands", "operationId": "getAgents", "responses": { "200": { "description": "List of agents", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/api/options/security-analyzers": { "get": { "summary": "Get security analyzers", "description": "Get all supported security analyzers", "operationId": "getSecurityAnalyzers", "responses": { "200": { "description": "List of security analyzers", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/api/options/config": { "get": { "summary": "Get config", "description": "Get current server configuration", "operationId": "getConfig", "responses": { "200": { "description": "Server configuration", "content": { "application/json": { "schema": { "type": "object" } } } } } } } }, "components": { "schemas": { "Repository": { "type": "object", "properties": { "full_name": { "type": "string" }, "description": { "type": "string", "nullable": true }, "html_url": { "type": "string" }, "private": { "type": "boolean" }, "fork": { "type": "boolean" }, "updated_at": { "type": "string", "format": "date-time" } } }, "User": { "type": "object", "properties": { "login": { "type": "string" }, "name": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "avatar_url": { "type": "string", "nullable": true } } }, "SuggestedTask": { "type": "object", "properties": { "title": { "type": "string" }, "url": { "type": "string" }, "repository": { "type": "string" }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "ConversationInfo": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "title": { "type": "string" }, "last_updated_at": { "type": "string", "format": "date-time" }, "created_at": { "type": "string", "format": "date-time" }, "selected_repository": { "type": "string", "nullable": true }, "status": { "type": "string", "enum": ["RUNNING", "STOPPED"] }, "trigger": { "type": "string", "enum": ["GUI", "API"] } } }, "ConversationInfoResultSet": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/ConversationInfo" } }, "next_page_id": { "type": "string", "nullable": true } } }, "FeedbackDataModel": { "type": "object", "properties": { "email": { "type": "string", "format": "email" }, "version": { "type": "string" }, "permissions": { "type": "string", "default": "private" }, "polarity": { "type": "string" }, "feedback": { "type": "string" }, "trajectory": { "type": "array", "items": { "type": "object" } } } }, "Settings": { "type": "object", "properties": { "language": { "type": "string" }, "agent": { "type": "string" }, "security_analyzer": { "type": "string" }, "confirmation_mode": { "type": "boolean" }, "llm_model": { "type": "string" }, "llm_api_key": { "type": "string" }, "llm_base_url": { "type": "string", "nullable": true }, "remote_runtime_resource_factor": { "type": "number" }, "enable_default_condenser": { "type": "boolean" }, "enable_sound_notifications": { "type": "boolean" }, "user_consents_to_analytics": { "type": "boolean" } } }, "GETSettingsModel": { "type": "object", "properties": { "language": { "type": "string" }, "agent": { "type": "string" }, "security_analyzer": { "type": "string" }, "confirmation_mode": { "type": "boolean" }, "llm_model": { "type": "string" }, "llm_api_key_set": { "type": "boolean" }, "llm_base_url": { "type": "string", "nullable": true }, "remote_runtime_resource_factor": { "type": "number" }, "enable_default_condenser": { "type": "boolean" }, "enable_sound_notifications": { "type": "boolean" }, "user_consents_to_analytics": { "type": "boolean" }, "provider_tokens_set": { "type": "object", "additionalProperties": { "type": "boolean" } } } }, "POSTSettingsModel": { "type": "object", "properties": { "language": { "type": "string" }, "agent": { "type": "string" }, "security_analyzer": { "type": "string" }, "confirmation_mode": { "type": "boolean" }, "llm_model": { "type": "string" }, "llm_api_key": { "type": "string" }, "llm_base_url": { "type": "string", "nullable": true }, "remote_runtime_resource_factor": { "type": "number" }, "enable_default_condenser": { "type": "boolean" }, "enable_sound_notifications": { "type": "boolean" }, "user_consents_to_analytics": { "type": "boolean" }, "provider_tokens": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "security": [ { "bearerAuth": [] } ] }