OpenHands / docs /openapi.json
Backup-bdg's picture
Upload 964 files
51ff9e5 verified
raw
history blame
57 kB
{
"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": []
}
]
}