Send a follow-up message to an existing conversation.
This REST endpoint provides a simplified way to send messages to a running
conversation without requiring a WebSocket connection.
Alternative Approaches:
This endpoint is a convenience wrapper. You can also interact with the agent
server directly using:
WebSocket: Connect to the agent server’s WebSocket endpoint for
real-time bidirectional communication
Agent Server REST API: Call the agent server’s REST endpoints directly
using the conversation_url from GET /api/v1/app-conversations/{id}
Design Note:
This endpoint is intentionally a thin proxy that forwards messages to the
agent server without additional processing logic. Any custom processing
(validation, transformation, side effects) should be implemented via
webhook callbacks, not in this endpoint. This ensures that direct agent
server invocation and this convenience endpoint remain functionally equivalent.
Prerequisites:
The sandbox must be in RUNNING state
If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first
If the sandbox is STARTING, wait for it to reach RUNNING state
Error responses:
404: Conversation or sandbox not found
409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING)
410: Conversation is archived (sandbox no longer exists)
503: Sandbox is in ERROR state or agent server is unavailable
Args:
conversation_id: The UUID of the conversation to send the message to
request: The message content and options
Returns:
AppSendMessageResponse with success status and sandbox state
Optional message with additional details (e.g., if sandbox was resumed).
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OpenHands Docs","colors":{"primary":"#99873c","light":"#ffe165","dark":"#ffe165"},"logo":{"light":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/logo/light.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=49b636402b03f7279ca5e1afefeec1d2","dark":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/logo/dark.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=e0c4017631cebc3a289798438e2c0d7a"},"favicon":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/openhands/logo-square.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=6ef1bab575660ae6e2d44fcc57bc675f","appearance":{"default":"light"},"background":{"color":{"light":"#f7f3ee","dark":"#0B0D0E"}},"navbar":{"links":[],"primary":{"type":"github","href":"https://github.com/OpenHands/OpenHands"}},"footer":{"socials":{"slack":"https://openhands.dev/joinslack","github":"https://github.com/OpenHands"},"links":[{"header":"Links","items":[{"label":"Company","href":"https://openhands.dev/"},{"label":"Blog","href":"https://openhands.dev/blog"},{"label":"Cloud","href":"https://app.all-hands.dev"},{"label":"Enterprise","href":"https://openhands.dev/enterprise"}]}]},"seo":{"indexing":"navigable"},"integrations":{"gtm":{"tagId":"GTM-M9S7V5BQ"}},"contextual":{"options":["copy","view","download-spec","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"allhandsai","hasAudioNarration":false,"actualSubdomain":"allhandsai","customDomains":["docs.openhands.dev"],"gitSource":{"type":"github","owner":"openhands","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af637bd58c1bbe7022a7b66","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Cloud","count":196},{"language":"default","tag":"Cloud API","count":187},{"language":"default","tag":"REST API Reference","count":185},{"language":"default","tag":"SDK","count":128},{"language":"default","tag":"Guides","count":105},{"language":"default","tag":"API Reference","count":95},{"language":"default","tag":"Enterprise","count":73},{"language":"default","tag":"Agent Canvas","count":64},{"language":"default","tag":"Home","count":58},{"language":"default","tag":"Remote Agent Server","count":55}]},"assistantConfig":{"deflection":{"enabled":true,"email":"contact@openhands.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#banner *{color:rgb(67, 66, 64)}"}],"page":{"pagePath":"openhands/usage/cloud/api-reference/conversations/send-message-to-conversation","slug":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation","pageMetadata":{"title":"Send Message To Conversation","description":"Send a follow-up message to an existing conversation.\n\nThis REST endpoint provides a simplified way to send messages to a running\nconversation without requiring a WebSocket connection.\n\n**Alternative Approaches:**\n\nThis endpoint is a convenience wrapper. You can also interact with the agent\nserver directly using:\n\n1. **WebSocket**: Connect to the agent server's WebSocket endpoint for\n real-time bidirectional communication\n2. **Agent Server REST API**: Call the agent server's REST endpoints directly\n using the `conversation_url` from `GET /api/v1/app-conversations/{id}`\n\n**Design Note:**\n\nThis endpoint is intentionally a thin proxy that forwards messages to the\nagent server without additional processing logic. Any custom processing\n(validation, transformation, side effects) should be implemented via\nwebhook callbacks, not in this endpoint. This ensures that direct agent\nserver invocation and this convenience endpoint remain functionally equivalent.\n\n**Prerequisites:**\n\n- The sandbox must be in RUNNING state\n- If the sandbox is PAUSED, call `POST /api/v1/sandboxes/{sandbox_id}/resume` first\n- If the sandbox is STARTING, wait for it to reach RUNNING state\n\n**Error responses:**\n\n- 404: Conversation or sandbox not found\n- 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING)\n- 410: Conversation is archived (sandbox no longer exists)\n- 503: Sandbox is in ERROR state or agent server is unavailable\n\nArgs:\n conversation_id: The UUID of the conversation to send the message to\n request: The message content and options\n\nReturns:\n AppSendMessageResponse with success status and sandbox state","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/send-message","href":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Send a follow-up message to an existing conversation.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"This REST endpoint provides a simplified way to send messages to a running\\nconversation without requiring a WebSocket connection.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Alternative Approaches:\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"This endpoint is a convenience wrapper. You can also interact with the agent\\nserver directly using:\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"WebSocket\"\n }), \": Connect to the agent server’s WebSocket endpoint for\\nreal-time bidirectional communication\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Agent Server REST API\"\n }), \": Call the agent server’s REST endpoints directly\\nusing the \", _jsx(_components.code, {\n children: \"conversation_url\"\n }), \" from \", _jsx(_components.code, {\n children: \"GET /api/v1/app-conversations/{id}\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Design Note:\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"This endpoint is intentionally a thin proxy that forwards messages to the\\nagent server without additional processing logic. Any custom processing\\n(validation, transformation, side effects) should be implemented via\\nwebhook callbacks, not in this endpoint. This ensures that direct agent\\nserver invocation and this convenience endpoint remain functionally equivalent.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Prerequisites:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"The sandbox must be in RUNNING state\"\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"If the sandbox is PAUSED, call \", _jsx(_components.code, {\n children: \"POST /api/v1/sandboxes/{sandbox_id}/resume\"\n }), \" first\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"If the sandbox is STARTING, wait for it to reach RUNNING state\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Error responses:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"404: Conversation or sandbox not found\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING)\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"410: Conversation is archived (sandbox no longer exists)\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"503: Sandbox is in ERROR state or agent server is unavailable\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Args:\\nconversation_id: The UUID of the conversation to send the message to\\nrequest: The message content and options\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Returns:\\nAppSendMessageResponse with success status and sandbox state\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send Message To Conversation","description":"Send a follow-up message to an existing conversation.\n\nThis REST endpoint provides a simplified way to send messages to a running\nconversation without requiring a WebSocket connection.\n\n**Alternative Approaches:**\n\nThis endpoint is a convenience wrapper. You can also interact with the agent\nserver directly using:\n\n1. **WebSocket**: Connect to the agent server's WebSocket endpoint for\n real-time bidirectional communication\n2. **Agent Server REST API**: Call the agent server's REST endpoints directly\n using the `conversation_url` from `GET /api/v1/app-conversations/{id}`\n\n**Design Note:**\n\nThis endpoint is intentionally a thin proxy that forwards messages to the\nagent server without additional processing logic. Any custom processing\n(validation, transformation, side effects) should be implemented via\nwebhook callbacks, not in this endpoint. This ensures that direct agent\nserver invocation and this convenience endpoint remain functionally equivalent.\n\n**Prerequisites:**\n\n- The sandbox must be in RUNNING state\n- If the sandbox is PAUSED, call `POST /api/v1/sandboxes/{sandbox_id}/resume` first\n- If the sandbox is STARTING, wait for it to reach RUNNING state\n\n**Error responses:**\n\n- 404: Conversation or sandbox not found\n- 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING)\n- 410: Conversation is archived (sandbox no longer exists)\n- 503: Sandbox is in ERROR state or agent server is unavailable\n\nArgs:\n conversation_id: The UUID of the conversation to send the message to\n request: The message content and options\n\nReturns:\n AppSendMessageResponse with success status and sandbox state","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/send-message","href":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/allhandsai/dddab338317a519d/openhands/reo-init.js","/_mintlify/custom/allhandsai/ae719f15d762e1fe/openhands/posthog-init.js","/_mintlify/custom/allhandsai/b35f7f3c3c83fb4c/openhands/canvas-handoff.js","/_mintlify/custom/allhandsai/771d6371c43b73b7/openhands/linkedin-copy-tracking.js","/_mintlify/custom/allhandsai/46724455a27ebfc6/openhands/copy-click-tracking.js"],"openApiReferenceData":{"operation":{"tags":["Conversations"],"summary":"Send Message To Conversation","description":"Send a follow-up message to an existing conversation.\n\nThis REST endpoint provides a simplified way to send messages to a running\nconversation without requiring a WebSocket connection.\n\n**Alternative Approaches:**\n\nThis endpoint is a convenience wrapper. You can also interact with the agent\nserver directly using:\n\n1. **WebSocket**: Connect to the agent server's WebSocket endpoint for\n real-time bidirectional communication\n2. **Agent Server REST API**: Call the agent server's REST endpoints directly\n using the `conversation_url` from `GET /api/v1/app-conversations/{id}`\n\n**Design Note:**\n\nThis endpoint is intentionally a thin proxy that forwards messages to the\nagent server without additional processing logic. Any custom processing\n(validation, transformation, side effects) should be implemented via\nwebhook callbacks, not in this endpoint. This ensures that direct agent\nserver invocation and this convenience endpoint remain functionally equivalent.\n\n**Prerequisites:**\n\n- The sandbox must be in RUNNING state\n- If the sandbox is PAUSED, call `POST /api/v1/sandboxes/{sandbox_id}/resume` first\n- If the sandbox is STARTING, wait for it to reach RUNNING state\n\n**Error responses:**\n\n- 404: Conversation or sandbox not found\n- 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING)\n- 410: Conversation is archived (sandbox no longer exists)\n- 503: Sandbox is in ERROR state or agent server is unavailable\n\nArgs:\n conversation_id: The UUID of the conversation to send the message to\n request: The message content and options\n\nReturns:\n AppSendMessageResponse with success status and sandbox state","operationId":"send_message_to_conversation_api_v1_app_conversations__conversation_id__send_message_post","security":["b8fd7bd0-8b56-4be4-a65b-c4fe1140f398"],"parameters":["0a05704d-9379-4970-99ff-f9b1efc32981"],"requestBody":"be1a4661-73b9-4f9e-bdbe-dcd65e68b6ce","responses":{"200":"1e2f624c-4422-4b6e-be8b-82d801a3d89f","404":"b89dcc3a-0313-4998-964e-16cb9f0fdae1","409":"aa4a7cf5-ab80-4257-9faf-b84702e265ad","410":"6337a7b1-e8bc-46f2-8054-e965c4cedd2b","422":"310d5b9c-5d1d-4d61-b5aa-6b8ac0aecd94","503":"6d7ea0ca-4f12-49f9-9fc9-763befd155c7"},"method":"post","type":"path","servers":[],"path":"/api/v1/app-conversations/{conversation_id}/send-message","baseUrlOptions":[],"title":"Send Message To Conversation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0a05704d-9379-4970-99ff-f9b1efc32981":{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Conversation Id","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content":{"items":{"oneOf":[{"type":"object","title":"TextContent","required":["text"],"properties":{"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"content.items.[INDEX].oneOf.0.text","typeLabel":"string"},"cache_prompt":{"type":"boolean","title":"Cache Prompt","default":false,"uniqueKey":"content.items.[INDEX].oneOf.0.cache_prompt","typeLabel":"boolean"},"type":{"type":"string","const":"text","title":"Type","default":"text","uniqueKey":"content.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"content.items.[INDEX].oneOf.0","typeLabel":"TextContent · object"},{"type":"object","title":"ImageContent","required":["image_urls"],"properties":{"image_urls":{"items":{"type":"string","uniqueKey":"content.items.[INDEX].oneOf.1.image_urls.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Image Urls","isRequired":true,"uniqueKey":"content.items.[INDEX].oneOf.1.image_urls","typeLabel":"string[]"},"cache_prompt":{"type":"boolean","title":"Cache Prompt","default":false,"uniqueKey":"content.items.[INDEX].oneOf.1.cache_prompt","typeLabel":"boolean"},"type":{"type":"string","const":"image","title":"Type","default":"image","uniqueKey":"content.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"content.items.[INDEX].oneOf.1","typeLabel":"ImageContent · object"}],"uniqueKey":"content.items.[INDEX]","typeLabel":"TextContent · object | ImageContent · object"},"type":"array","minItems":1,"title":"Content","description":"The message content as a list of text and/or image content blocks.","isRequired":true,"uniqueKey":"content","typeLabel":"(TextContent · object | ImageContent · object)[]"},"role":{"type":"string","const":"user","title":"Role","description":"The role of the message sender. Currently only \"user\" is supported.","default":"user","uniqueKey":"role","typeLabel":"string"},"run":{"type":"boolean","title":"Run","description":"Whether to automatically run the agent after sending the message.","default":true,"uniqueKey":"run","typeLabel":"boolean"}},"type":"object","required":["content"],"title":"AppSendMessageRequest","description":"Request to send a follow-up message to a conversation.\n\nThis is used to send messages to an existing conversation via REST API,\nas an alternative to WebSocket communication.","uniqueKey":"","typeLabel":"AppSendMessageRequest · object"},"examples":{"Example":{"title":"Example","value":{"content":[{"text":"\u003cstring>","cache_prompt":false,"type":"text"}],"role":"user","run":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"1e2f624c-4422-4b6e-be8b-82d801a3d89f":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the message was successfully sent to the agent.","isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"sandbox_status":{"type":"string","enum":["STARTING","RUNNING","PAUSED","ERROR","MISSING"],"title":"SandboxStatus","description":"The current status of the sandbox after the operation.","isRequired":true,"uniqueKey":"sandbox_status","typeLabel":"enum\u003cstring>"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Optional message with additional details (e.g., if sandbox was resumed).","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Optional message with additional details (e.g., if sandbox was resumed).","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"}},"type":"object","required":["success","sandbox_status"],"title":"AppSendMessageResponse","description":"Response from sending a message to a conversation.","uniqueKey":"","typeLabel":"AppSendMessageResponse · object"},"examples":{"Example":{"title":"Example","value":{"success":true,"sandbox_status":"STARTING","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b89dcc3a-0313-4998-964e-16cb9f0fdae1":{"description":"Conversation or sandbox not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"aa4a7cf5-ab80-4257-9faf-b84702e265ad":{"description":"Sandbox is not running. Resume it first via POST /sandboxes/{id}/resume","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"6337a7b1-e8bc-46f2-8054-e965c4cedd2b":{"description":"Conversation is archived (sandbox no longer exists)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"310d5b9c-5d1d-4d61-b5aa-6b8ac0aecd94":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"6d7ea0ca-4f12-49f9-9fc9-763befd155c7":{"description":"Sandbox is in error state or agent server unavailable","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"b8fd7bd0-8b56-4be4-a65b-c4fe1140f398":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-Access-Token","scopes":[]}}},"servers":{},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Access-Token","scopes":[]},"schema":{"title":"X-Access-Token","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"X-Access-Token"}],"title":"APIKeyHeader"}]},"originalFileLocation":"openapi/openhands-cloud.json"},"subdomain":"allhandsai","siteName":"OpenHands Docs","title":"Send Message To Conversation - OpenHands Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-13T18:51:54.175Z","originalFileLocation":"openhands/usage/cloud/api-reference/conversations/send-message-to-conversation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send a follow-up message to an existing conversation. This REST endpoint provides a simplified way to send messages to a running conversation without requiring a WebSocket connection. Alternative Approaches: This endpoint is a convenience wrapper. You can also interact with the agent server directly using: 1. WebSocket: Connect to the agent server\u0026#x27;s WebSocket endpoint for real-time bidirectional communication 2. Agent Server REST API: Call the agent server\u0026#x27;s REST endpoints directly using the conversation_url from GET /api/v1/app-conversations/{id} Design Note: This endpoint is intentionally a thin proxy that forwards messages to the agent server without additional processing logic. Any custom processing (validation, transformation, side effects) should be implemented via webhook callbacks, not in this endpoint. This ensures that direct agent server invocation and this convenience endpoint remain functionally equivalent. Prerequisites: - The sandbox must be in RUNNING state - If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first - If the sandbox is STARTING, wait for it to reach RUNNING state Error responses: - 404: Conversation or sandbox not found - 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING) - 410: Conversation is archived (sandbox no longer exists) - 503: Sandbox is in ERROR state or agent server is unavailable Args: conversation_id: The UUID of the conversation to send the message to request: The message content and options Returns: AppSendMessageResponse with success status and sandbox state\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpenHands Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send Message To Conversation - OpenHands Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send a follow-up message to an existing conversation. This REST endpoint provides a simplified way to send messages to a running conversation without requiring a WebSocket connection. Alternative Approaches: This endpoint is a convenience wrapper. You can also interact with the agent server directly using: 1. WebSocket: Connect to the agent server\u0026#x27;s WebSocket endpoint for real-time bidirectional communication 2. Agent Server REST API: Call the agent server\u0026#x27;s REST endpoints directly using the conversation_url from GET /api/v1/app-conversations/{id} Design Note: This endpoint is intentionally a thin proxy that forwards messages to the agent server without additional processing logic. Any custom processing (validation, transformation, side effects) should be implemented via webhook callbacks, not in this endpoint. This ensures that direct agent server invocation and this convenience endpoint remain functionally equivalent. Prerequisites: - The sandbox must be in RUNNING state - If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first - If the sandbox is STARTING, wait for it to reach RUNNING state Error responses: - 404: Conversation or sandbox not found - 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING) - 410: Conversation is archived (sandbox no longer exists) - 503: Sandbox is in ERROR state or agent server is unavailable Args: conversation_id: The UUID of the conversation to send the message to request: The message content and options Returns: AppSendMessageResponse with success status and sandbox state\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpenHands Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://allhandsai.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Send+Message+To+Conversation\u0026amp;description=Send+a+follow-up+message+to+an+existing+conversation.%0A%0AThis+REST+endpoint+provides+a+simplified+way+to+send+messages+to+a+running%0Aconversation+without+requiring\u0026amp;theme=2eb43b0b1453a2072ec6e8c0\u0026amp;signature=901870eb1bfe1a74c171db98b440540d0c471c1c426e2969ff2c07363919aa0c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send Message To Conversation - OpenHands Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send a follow-up message to an existing conversation. This REST endpoint provides a simplified way to send messages to a running conversation without requiring a WebSocket connection. Alternative Approaches: This endpoint is a convenience wrapper. You can also interact with the agent server directly using: 1. WebSocket: Connect to the agent server\u0026#x27;s WebSocket endpoint for real-time bidirectional communication 2. Agent Server REST API: Call the agent server\u0026#x27;s REST endpoints directly using the conversation_url from GET /api/v1/app-conversations/{id} Design Note: This endpoint is intentionally a thin proxy that forwards messages to the agent server without additional processing logic. Any custom processing (validation, transformation, side effects) should be implemented via webhook callbacks, not in this endpoint. This ensures that direct agent server invocation and this convenience endpoint remain functionally equivalent. Prerequisites: - The sandbox must be in RUNNING state - If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first - If the sandbox is STARTING, wait for it to reach RUNNING state Error responses: - 404: Conversation or sandbox not found - 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING) - 410: Conversation is archived (sandbox no longer exists) - 503: Sandbox is in ERROR state or agent server is unavailable Args: conversation_id: The UUID of the conversation to send the message to request: The message content and options Returns: AppSendMessageResponse with success status and sandbox state\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://allhandsai.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Send+Message+To+Conversation\u0026amp;description=Send+a+follow-up+message+to+an+existing+conversation.%0A%0AThis+REST+endpoint+provides+a+simplified+way+to+send+messages+to+a+running%0Aconversation+without+requiring\u0026amp;theme=2eb43b0b1453a2072ec6e8c0\u0026amp;signature=901870eb1bfe1a74c171db98b440540d0c471c1c426e2969ff2c07363919aa0c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpenHands Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#99873c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.openhands.dev/#organization\",\"name\":\"OpenHands Docs\",\"url\":\"https://docs.openhands.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/logo/light.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=49b636402b03f7279ca5e1afefeec1d2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.openhands.dev#website\",\"name\":\"OpenHands Docs\",\"url\":\"https://docs.openhands.dev\",\"publisher\":{\"@id\":\"https://docs.openhands.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation#webpage\",\"url\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation\",\"name\":\"Send Message To Conversation\",\"description\":\"Send a follow-up message to an existing conversation. This REST endpoint provides a simplified way to send messages to a running conversation without requiring a WebSocket connection. Alternative Approaches: This endpoint is a convenience wrapper. You can also interact with the agent server directly using: 1. WebSocket: Connect to the agent server's WebSocket endpoint for real-time bidirectional communication 2. Agent Server REST API: Call the agent server's REST endpoints directly using the conversation_url from GET /api/v1/app-conversations/{id} Design Note: This endpoint is intentionally a thin proxy that forwards messages to the agent server without additional processing logic. Any custom processing (validation, transformation, side effects) should be implemented via webhook callbacks, not in this endpoint. This ensures that direct agent server invocation and this convenience endpoint remain functionally equivalent. Prerequisites: - The sandbox must be in RUNNING state - If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first - If the sandbox is STARTING, wait for it to reach RUNNING state Error responses: - 404: Conversation or sandbox not found - 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING) - 410: Conversation is archived (sandbox no longer exists) - 503: Sandbox is in ERROR state or agent server is unavailable Args: conversation_id: The UUID of the conversation to send the message to request: The message content and options Returns: AppSendMessageResponse with success status and sandbox state\",\"dateModified\":\"2026-08-13T18:51:54.175Z\",\"isPartOf\":{\"@id\":\"https://docs.openhands.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cloud API\",\"item\":\"https://docs.openhands.dev/openhands/usage/cloud/cloud-api\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API Reference\",\"item\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/events/search-events\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Conversations\",\"item\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/search-app-conversations\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Send Message To Conversation\",\"item\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation#apireference\",\"headline\":\"Send Message To Conversation\",\"name\":\"Send Message To Conversation\",\"description\":\"Send a follow-up message to an existing conversation. This REST endpoint provides a simplified way to send messages to a running conversation without requiring a WebSocket connection. Alternative Approaches: This endpoint is a convenience wrapper. You can also interact with the agent server directly using: 1. WebSocket: Connect to the agent server's WebSocket endpoint for real-time bidirectional communication 2. Agent Server REST API: Call the agent server's REST endpoints directly using the conversation_url from GET /api/v1/app-conversations/{id} Design Note: This endpoint is intentionally a thin proxy that forwards messages to the agent server without additional processing logic. Any custom processing (validation, transformation, side effects) should be implemented via webhook callbacks, not in this endpoint. This ensures that direct agent server invocation and this convenience endpoint remain functionally equivalent. Prerequisites: - The sandbox must be in RUNNING state - If the sandbox is PAUSED, call POST /api/v1/sandboxes/{sandbox_id}/resume first - If the sandbox is STARTING, wait for it to reach RUNNING state Error responses: - 404: Conversation or sandbox not found - 409: Sandbox exists but is not running (PAUSED, STARTING, STOPPING) - 410: Conversation is archived (sandbox no longer exists) - 503: Sandbox is in ERROR state or agent server is unavailable Args: conversation_id: The UUID of the conversation to send the message to request: The message content and options Returns: AppSendMessageResponse with success status and sandbox state\",\"url\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.openhands.dev/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation#webpage\"},\"dateModified\":\"2026-08-13T18:51:54.175Z\",\"publisher\":{\"@id\":\"https://docs.openhands.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.openhands.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpenHands Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"OpenHands Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation.md","siteName":"OpenHands Docs","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/overview/introduction"}]},{"tab":"Agent Canvas","pages":[{"title":"Agent Canvas","href":"/openhands/usage/agent-canvas/overview"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk"}]},{"tab":"Cloud","pages":[{"group":"OpenHands Cloud","pages":[{"title":"Getting Started","href":"/openhands/usage/cloud/openhands-cloud"},{"title":"Cloud UI","href":"/openhands/usage/cloud/cloud-ui"}]},{"group":"Settings","pages":[{"title":"API Keys Settings","href":"/openhands/usage/settings/api-keys-settings"}]},{"group":"Integrations","pages":[{"title":"Integrations Settings","href":"/openhands/usage/settings/integrations-settings"},{"title":"GitHub Integration","href":"/openhands/usage/cloud/github-installation"},{"title":"GitLab Integration","href":"/openhands/usage/cloud/gitlab-installation"},{"title":"Bitbucket Integration","href":"/openhands/usage/cloud/bitbucket-installation"},{"title":"Slack Integration","href":"/openhands/usage/cloud/slack-installation"},{"title":"Jira Cloud Integration","href":"/openhands/usage/cloud/project-management/jira-integration"}]},{"group":"Cloud API","pages":[{"title":"Cloud API Overview","href":"/openhands/usage/cloud/cloud-api"},{"title":"Plugin Launcher","href":"/openhands/usage/cloud/plugin-launcher"},{"group":"REST API Reference","expanded":false,"pages":[{"group":"Events","pages":[{"title":"Search Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events/search","href":"/openhands/usage/cloud/api-reference/events/search-events"},{"title":"Count Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events/count","href":"/openhands/usage/cloud/api-reference/events/count-events"},{"title":"Batch Get Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events","href":"/openhands/usage/cloud/api-reference/events/batch-get-events"}]},{"group":"Conversations","pages":[{"title":"Search App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/search","href":"/openhands/usage/cloud/api-reference/conversations/search-app-conversations"},{"title":"Count App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/count","href":"/openhands/usage/cloud/api-reference/conversations/count-app-conversations"},{"title":"Batch Get App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations","href":"/openhands/usage/cloud/api-reference/conversations/batch-get-app-conversations"},{"title":"Start App Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations","href":"/openhands/usage/cloud/api-reference/conversations/start-app-conversation"},{"title":"Delete App Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/app-conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/conversations/delete-app-conversation"},{"title":"Update App Conversation","description":null,"deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/v1/app-conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/conversations/update-app-conversation"},{"title":"Send Message To Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/send-message","href":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation"},{"title":"Switch Conversation Profile","description":"Switch the running conversation's LLM to a saved profile.\n\nProfiles live in the app-server's user settings, not on the sandbox FS,\nso we resolve the profile here and hand the LLM directly to the\nagent-server's ``switch_llm`` endpoint.","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/switch_profile","href":"/openhands/usage/cloud/api-reference/conversations/switch-conversation-profile"},{"title":"Switch Conversation Acp Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/switch_acp_model","href":"/openhands/usage/cloud/api-reference/conversations/switch-conversation-acp-model"},{"title":"Stream App Conversation Start","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/stream-start","href":"/openhands/usage/cloud/api-reference/conversations/stream-app-conversation-start"},{"title":"Search App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks/search","href":"/openhands/usage/cloud/api-reference/conversations/search-app-conversation-start-tasks"},{"title":"Count App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks/count","href":"/openhands/usage/cloud/api-reference/conversations/count-app-conversation-start-tasks"},{"title":"Batch Get App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks","href":"/openhands/usage/cloud/api-reference/conversations/batch-get-app-conversation-start-tasks"},{"title":"Read Conversation File","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/file","href":"/openhands/usage/cloud/api-reference/conversations/read-conversation-file"},{"title":"Get Conversation Git Changes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/git/changes","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-git-changes"},{"title":"Get Conversation Git Diff","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/git/diff","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-git-diff"},{"title":"Get Conversation Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/skills","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-skills"},{"title":"Get Conversation Hooks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/hooks","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-hooks"},{"title":"Export Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/download","href":"/openhands/usage/cloud/api-reference/conversations/export-conversation"}]},{"group":"Pending Messages","pages":[{"title":"Queue Pending Message","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/conversations/{conversation_id}/pending-messages","href":"/openhands/usage/cloud/api-reference/pending-messages/queue-pending-message"}]},{"group":"Sandbox","pages":[{"title":"Search Sandboxes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/search","href":"/openhands/usage/cloud/api-reference/sandbox/search-sandboxes"},{"title":"Batch Get Sandboxes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes","href":"/openhands/usage/cloud/api-reference/sandbox/batch-get-sandboxes"},{"title":"Start Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes","href":"/openhands/usage/cloud/api-reference/sandbox/start-sandbox"},{"title":"Pause Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes/{sandbox_id}/pause","href":"/openhands/usage/cloud/api-reference/sandbox/pause-sandbox"},{"title":"Resume Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes/{sandbox_id}/resume","href":"/openhands/usage/cloud/api-reference/sandbox/resume-sandbox"},{"title":"Delete Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/sandboxes/{id}","href":"/openhands/usage/cloud/api-reference/sandbox/delete-sandbox"},{"title":"List Secret Names","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/{sandbox_id}/settings/secrets","href":"/openhands/usage/cloud/api-reference/sandbox/list-secret-names"},{"title":"Get Secret Value","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/{sandbox_id}/settings/secrets/{secret_name}","href":"/openhands/usage/cloud/api-reference/sandbox/get-secret-value"},{"title":"Search Sandbox Specs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandbox-specs/search","href":"/openhands/usage/cloud/api-reference/sandbox/search-sandbox-specs"},{"title":"Batch Get Sandbox Specs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandbox-specs","href":"/openhands/usage/cloud/api-reference/sandbox/batch-get-sandbox-specs"}]},{"group":"Settings","pages":[{"title":"Load Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings","href":"/openhands/usage/cloud/api-reference/settings/load-settings"},{"title":"Store Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings","href":"/openhands/usage/cloud/api-reference/settings/store-settings"},{"title":"Load Settings Schema","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/agent-schema","href":"/openhands/usage/cloud/api-reference/settings/load-settings-schema"},{"title":"Load Conversation Settings Schema","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/conversation-schema","href":"/openhands/usage/cloud/api-reference/settings/load-conversation-settings-schema"},{"title":"List Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/profiles","href":"/openhands/usage/cloud/api-reference/settings/list-profiles"},{"title":"Get Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/get-profile"},{"title":"Save Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/save-profile"},{"title":"Delete Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/delete-profile"},{"title":"Activate Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}/activate","href":"/openhands/usage/cloud/api-reference/settings/activate-profile"},{"title":"Rename Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/settings/rename-profile"}]},{"group":"Secrets","pages":[{"title":"Store Provider Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/secrets/git-providers","href":"/openhands/usage/cloud/api-reference/secrets/store-provider-tokens"},{"title":"Unset Provider Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/secrets/git-providers","href":"/openhands/usage/cloud/api-reference/secrets/unset-provider-tokens"},{"title":"Search Custom Secrets","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/secrets/search","href":"/openhands/usage/cloud/api-reference/secrets/search-custom-secrets"},{"title":"Create Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/secrets","href":"/openhands/usage/cloud/api-reference/secrets/create-custom-secret"},{"title":"Update Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/v1/secrets/{secret_id}","href":"/openhands/usage/cloud/api-reference/secrets/update-custom-secret"},{"title":"Delete Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/secrets/{secret_id}","href":"/openhands/usage/cloud/api-reference/secrets/delete-custom-secret"}]},{"group":"User","pages":[{"title":"Get Current User Git Info","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/git-info","href":"/openhands/usage/cloud/api-reference/user/get-current-user-git-info"},{"title":"Get Current User Saas","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/me","href":"/openhands/usage/cloud/api-reference/user/get-current-user-saas"},{"title":"Get Current User Git Organizations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/git-organizations","href":"/openhands/usage/cloud/api-reference/user/get-current-user-git-organizations"}]},{"group":"Skills","pages":[{"title":"Search Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/skills/search","href":"/openhands/usage/cloud/api-reference/skills/search-skills"},{"title":"Get Marketplace Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/skills/marketplace-skills","href":"/openhands/usage/cloud/api-reference/skills/get-marketplace-skills"}]},{"group":"Webhooks","pages":[{"title":"On Conversation Update","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/webhooks/conversations","href":"/openhands/usage/cloud/api-reference/webhooks/on-conversation-update"},{"title":"On Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/webhooks/events/{conversation_id}","href":"/openhands/usage/cloud/api-reference/webhooks/on-event"},{"title":"Get Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/webhooks/secrets","href":"/openhands/usage/cloud/api-reference/webhooks/get-secret"}]},{"group":"Config","pages":[{"title":"Get Web Client Config","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/web-client/config","href":"/openhands/usage/cloud/api-reference/config/get-web-client-config"},{"title":"Search Models","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/config/models/search","href":"/openhands/usage/cloud/api-reference/config/search-models"},{"title":"Search Providers","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/config/providers/search","href":"/openhands/usage/cloud/api-reference/config/search-providers"}]},{"group":"Git","pages":[{"title":"Search User Installations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/installations/search","href":"/openhands/usage/cloud/api-reference/git/search-user-installations"},{"title":"Search Repositories","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/repositories/search","href":"/openhands/usage/cloud/api-reference/git/search-repositories"},{"title":"Search Branches","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/branches/search","href":"/openhands/usage/cloud/api-reference/git/search-branches"},{"title":"Search Suggested Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/suggested-tasks/search","href":"/openhands/usage/cloud/api-reference/git/search-suggested-tasks"}]},{"group":"Status","pages":[{"title":"Alive","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /alive","href":"/openhands/usage/cloud/api-reference/status/alive"},{"title":"Health","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /health","href":"/openhands/usage/cloud/api-reference/status/health"},{"title":"Get Server Info","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /server_info","href":"/openhands/usage/cloud/api-reference/status/get-server-info"}]},{"group":"API Reference","pages":[{"title":"Is Ready","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /ready","href":"/openhands/usage/cloud/api-reference/is-ready"},{"title":"Is Saas","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /saas","href":"/openhands/usage/cloud/api-reference/is-saas"},{"title":"Authenticate","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/authenticate","href":"/openhands/usage/cloud/api-reference/authenticate"},{"title":"Accept Tos","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/accept_tos","href":"/openhands/usage/cloud/api-reference/accept-tos"},{"title":"Onboarding Status","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/onboarding_status","href":"/openhands/usage/cloud/api-reference/onboarding-status"},{"title":"Complete Onboarding","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/complete_onboarding","href":"/openhands/usage/cloud/api-reference/complete-onboarding"},{"title":"Logout","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/logout","href":"/openhands/usage/cloud/api-reference/logout"},{"title":"Refresh Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/refresh-tokens","href":"/openhands/usage/cloud/api-reference/refresh-tokens"},{"title":"Keycloak Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/keycloak/callback","href":"/openhands/usage/cloud/api-reference/keycloak-callback"},{"title":"Keycloak Offline Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/keycloak/offline/callback","href":"/openhands/usage/cloud/api-reference/keycloak-offline-callback"},{"title":"Github Dummy Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/github/callback","href":"/openhands/usage/cloud/api-reference/github-dummy-callback"},{"title":"Device Authorization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/authorize","href":"/openhands/usage/cloud/api-reference/device-authorization"},{"title":"Device Token","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/token","href":"/openhands/usage/cloud/api-reference/device-token"},{"title":"Device Verification Authenticated","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/verify-authenticated","href":"/openhands/usage/cloud/api-reference/device-verification-authenticated"},{"title":"Get User App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/users/app","href":"/openhands/usage/cloud/api-reference/get-user-app-settings"},{"title":"Update User App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/users/app","href":"/openhands/usage/cloud/api-reference/update-user-app-settings"},{"title":"Github Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/github/events","href":"/openhands/usage/cloud/api-reference/github-events"},{"title":"Gitlab Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/gitlab/events","href":"/openhands/usage/cloud/api-reference/gitlab-events"},{"title":"Get Gitlab Resources","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/gitlab/resources","href":"/openhands/usage/cloud/api-reference/get-gitlab-resources"},{"title":"Reinstall Gitlab Webhook","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/gitlab/reinstall-webhook","href":"/openhands/usage/cloud/api-reference/reinstall-gitlab-webhook"},{"title":"Bitbucket Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/bitbucket/events","href":"/openhands/usage/cloud/api-reference/bitbucket-events"},{"title":"List Pending Invitations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/invite","href":"/openhands/usage/cloud/api-reference/list-pending-invitations"},{"title":"Create Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/members/invite","href":"/openhands/usage/cloud/api-reference/create-invitation"},{"title":"Revoke Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/members/invite/{invitation_id}","href":"/openhands/usage/cloud/api-reference/revoke-invitation"},{"title":"Accept Invitation Redirect","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/members/invite/accept","href":"/openhands/usage/cloud/api-reference/accept-invitation-redirect"},{"title":"Accept Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/members/invite/accept","href":"/openhands/usage/cloud/api-reference/accept-invitation"},{"title":"Install","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/install","href":"/openhands/usage/cloud/api-reference/install"},{"title":"Install Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/install-callback","href":"/openhands/usage/cloud/api-reference/install-callback"},{"title":"Keycloak Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/keycloak-callback","href":"/openhands/usage/cloud/api-reference/keycloak-callback-1"},{"title":"On Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-event","href":"/openhands/usage/cloud/api-reference/on-event"},{"title":"On Options Load","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-options-load","href":"/openhands/usage/cloud/api-reference/on-options-load"},{"title":"On Form Interaction","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-form-interaction","href":"/openhands/usage/cloud/api-reference/on-form-interaction"},{"title":"Jira Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/events","href":"/openhands/usage/cloud/api-reference/jira-events"},{"title":"Create Jira Workspace","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces","href":"/openhands/usage/cloud/api-reference/create-jira-workspace"},{"title":"Get Current Workspace Link","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/workspaces/link","href":"/openhands/usage/cloud/api-reference/get-current-workspace-link"},{"title":"Create Workspace Link","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces/link","href":"/openhands/usage/cloud/api-reference/create-workspace-link"},{"title":"Jira Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/callback","href":"/openhands/usage/cloud/api-reference/jira-callback"},{"title":"Unlink Workspace","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces/unlink","href":"/openhands/usage/cloud/api-reference/unlink-workspace"},{"title":"Validate Workspace Integration","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/workspaces/validate/{workspace_name}","href":"/openhands/usage/cloud/api-reference/validate-workspace-integration"},{"title":"Update Email","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/email","href":"/openhands/usage/cloud/api-reference/update-email"},{"title":"Resend Email Verification","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/email/resend","href":"/openhands/usage/cloud/api-reference/resend-email-verification"},{"title":"Verified Email","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/email/verified","href":"/openhands/usage/cloud/api-reference/verified-email"}]},{"group":"Billing","pages":[{"title":"Get Credits","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/credits","href":"/openhands/usage/cloud/api-reference/billing/get-credits"},{"title":"Get Subscription Access","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/subscription-access","href":"/openhands/usage/cloud/api-reference/billing/get-subscription-access"},{"title":"Has Payment Method","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/has-payment-method","href":"/openhands/usage/cloud/api-reference/billing/has-payment-method"},{"title":"Create Customer Setup Session","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/create-customer-setup-session","href":"/openhands/usage/cloud/api-reference/billing/create-customer-setup-session"},{"title":"Create Checkout Session","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/create-checkout-session","href":"/openhands/usage/cloud/api-reference/billing/create-checkout-session"},{"title":"Success Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/success","href":"/openhands/usage/cloud/api-reference/billing/success-callback"},{"title":"Cancel Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/cancel","href":"/openhands/usage/cloud/api-reference/billing/cancel-callback"}]},{"group":"Sharing","pages":[{"title":"Batch Get Shared Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-conversations","href":"/openhands/usage/cloud/api-reference/sharing/batch-get-shared-conversations"},{"title":"Search Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/search","href":"/openhands/usage/cloud/api-reference/sharing/search-shared-events"},{"title":"Count Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/count","href":"/openhands/usage/cloud/api-reference/sharing/count-shared-events"},{"title":"Batch Get Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events","href":"/openhands/usage/cloud/api-reference/sharing/batch-get-shared-events"},{"title":"Get Shared Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/{conversation_id}/{event_id}","href":"/openhands/usage/cloud/api-reference/sharing/get-shared-event"}]},{"group":"Keys","pages":[{"title":"Check Byor Permitted","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/llm/byor/permitted","href":"/openhands/usage/cloud/api-reference/keys/check-byor-permitted"},{"title":"List Api Keys","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys","href":"/openhands/usage/cloud/api-reference/keys/list-api-keys"},{"title":"Create Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys","href":"/openhands/usage/cloud/api-reference/keys/create-api-key"},{"title":"Delete Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/keys/{key_id}","href":"/openhands/usage/cloud/api-reference/keys/delete-api-key"},{"title":"Get Current Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/current","href":"/openhands/usage/cloud/api-reference/keys/get-current-api-key"},{"title":"Refresh Managed Llm Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys/llm/managed/refresh","href":"/openhands/usage/cloud/api-reference/keys/refresh-managed-llm-api-key"},{"title":"Get Llm Api Key For Byor","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/llm/byor","href":"/openhands/usage/cloud/api-reference/keys/get-llm-api-key-for-byor"},{"title":"Refresh Llm Api Key For Byor","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys/llm/byor/refresh","href":"/openhands/usage/cloud/api-reference/keys/refresh-llm-api-key-for-byor"}]},{"group":"Service","pages":[{"title":"Service Health","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/service/health","href":"/openhands/usage/cloud/api-reference/service/service-health"},{"title":"Get Or Create Api Key For User","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/service/users/{user_id}/orgs/{org_id}/api-keys","href":"/openhands/usage/cloud/api-reference/service/get-or-create-api-key-for-user"},{"title":"Delete User Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/service/users/{user_id}/orgs/{org_id}/api-keys/{key_name}","href":"/openhands/usage/cloud/api-reference/service/delete-user-api-key"}]},{"group":"Orgs","pages":[{"title":"List User Orgs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations","href":"/openhands/usage/cloud/api-reference/orgs/list-user-orgs"},{"title":"Create Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations","href":"/openhands/usage/cloud/api-reference/orgs/create-org"},{"title":"Get Org Defaults Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/settings","href":"/openhands/usage/cloud/api-reference/orgs/get-org-defaults-settings"},{"title":"Update Org Defaults Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/settings","href":"/openhands/usage/cloud/api-reference/orgs/update-org-defaults-settings"},{"title":"Get Legacy Org Defaults Settings","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/llm","href":"/openhands/usage/cloud/api-reference/orgs/get-legacy-org-defaults-settings"},{"title":"Update Legacy Org Defaults Settings","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/llm","href":"/openhands/usage/cloud/api-reference/orgs/update-legacy-org-defaults-settings"},{"title":"Get Org App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/app","href":"/openhands/usage/cloud/api-reference/orgs/get-org-app-settings"},{"title":"Update Org App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/app","href":"/openhands/usage/cloud/api-reference/orgs/update-org-app-settings"},{"title":"Get Org","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/get-org"},{"title":"Delete Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/delete-org"},{"title":"Update Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/update-org"},{"title":"Get Me","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/me","href":"/openhands/usage/cloud/api-reference/orgs/get-me"},{"title":"Get Org Members","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members"},{"title":"Get Org Members Count","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/count","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members-count"},{"title":"Get Org Members Financial","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/financial","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members-financial"},{"title":"Get Org Budget Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/budgets","href":"/openhands/usage/cloud/api-reference/orgs/get-org-budget-settings"},{"title":"Update Org Budget Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/budgets","href":"/openhands/usage/cloud/api-reference/orgs/update-org-budget-settings"},{"title":"Upsert Org Budget Override","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/organizations/{org_id}/budgets/overrides/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/upsert-org-budget-override"},{"title":"Delete Org Budget Override","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/budgets/overrides/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/delete-org-budget-override"},{"title":"Remove Org Member","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/members/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/remove-org-member"},{"title":"Update Org Member","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/members/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/update-org-member"},{"title":"Switch Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/switch","href":"/openhands/usage/cloud/api-reference/orgs/switch-org"},{"title":"Get Git Claims","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/git-claims","href":"/openhands/usage/cloud/api-reference/orgs/get-git-claims"},{"title":"Claim Git Organization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/git-claims","href":"/openhands/usage/cloud/api-reference/orgs/claim-git-organization"},{"title":"Disconnect Git Organization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/git-claims/{claim_id}","href":"/openhands/usage/cloud/api-reference/orgs/disconnect-git-organization"},{"title":"List Org Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations","href":"/openhands/usage/cloud/api-reference/orgs/list-org-conversations"},{"title":"Get Org Conversation Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/stats","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-stats"},{"title":"Get Org Conversation Usage Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/usage-stats","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-usage-stats"},{"title":"Get Org Conversation User Usage Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/user-usage","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-user-usage-stats"},{"title":"Export Org Conversations Csv","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/export","href":"/openhands/usage/cloud/api-reference/orgs/export-org-conversations-csv"},{"title":"Get Org Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation"},{"title":"Stop Org Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/conversations/{conversation_id}/stop","href":"/openhands/usage/cloud/api-reference/orgs/stop-org-conversation"}]},{"group":"Admin","pages":[{"title":"List Super Admins","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/admin/super-admins","href":"/openhands/usage/cloud/api-reference/admin/list-super-admins"},{"title":"Grant Super Admin","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/admin/super-admins","href":"/openhands/usage/cloud/api-reference/admin/grant-super-admin"},{"title":"Revoke Super Admin","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/admin/super-admins/{user_id}","href":"/openhands/usage/cloud/api-reference/admin/revoke-super-admin"}]},{"group":"Organization Profiles","pages":[{"title":"List Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/profiles","href":"/openhands/usage/cloud/api-reference/organization-profiles/list-profiles"},{"title":"Get Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/get-profile"},{"title":"Save Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/save-profile"},{"title":"Delete Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/delete-profile"},{"title":"Activate Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}/activate","href":"/openhands/usage/cloud/api-reference/organization-profiles/activate-profile"},{"title":"Rename Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/organization-profiles/rename-profile"}]},{"group":"Agent Profiles","pages":[{"title":"List Agent Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/agent-profiles","href":"/openhands/usage/cloud/api-reference/agent-profiles/list-agent-profiles"},{"title":"Get Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/get-agent-profile"},{"title":"Save Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/save-agent-profile"},{"title":"Delete Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/delete-agent-profile"},{"title":"Rename Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/agent-profiles/rename-agent-profile"},{"title":"Activate Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{profile_id}/activate","href":"/openhands/usage/cloud/api-reference/agent-profiles/activate-agent-profile"},{"title":"Materialize Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}/materialize","href":"/openhands/usage/cloud/api-reference/agent-profiles/materialize-agent-profile"}]},{"group":"Verified Models","pages":[{"title":"Search Verified Models","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/admin/verified-models","href":"/openhands/usage/cloud/api-reference/verified-models/search-verified-models"},{"title":"Create Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/admin/verified-models","href":"/openhands/usage/cloud/api-reference/verified-models/create-verified-model"},{"title":"Update Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/admin/verified-models/{provider}/{model_name}","href":"/openhands/usage/cloud/api-reference/verified-models/update-verified-model"},{"title":"Delete Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/admin/verified-models/{provider}/{model_name}","href":"/openhands/usage/cloud/api-reference/verified-models/delete-verified-model"}]},{"group":"Analytics","pages":[{"title":"Track Frontend Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/analytics/events","href":"/openhands/usage/cloud/api-reference/analytics/track-frontend-event"}]}]}]}]},{"tab":"Enterprise","pages":[{"title":"Enterprise","href":"/enterprise"}]},{"tab":"Enterprise Cookbook","pages":[{"title":"Enterprise Cookbook","href":"/cookbook"}]}]},"basePath":"","title":"Send Message To Conversation - OpenHands Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}