From c6a4324bda202966eb7428e7253c0928433d1241 Mon Sep 17 00:00:00 2001 From: mamoodi Date: Mon, 9 Jun 2025 11:42:37 -0400 Subject: [PATCH] Update Cloud API docs (#9008) --- docs/static/img/api-key-generation.png | Bin 0 -> 18944 bytes docs/static/img/docs/api-key-generation.png | Bin 26836 -> 0 bytes docs/usage/cloud/cloud-api.mdx | 164 ++++++++++---------- docs/usage/installation.mdx | 2 +- docs/usage/local-setup.mdx | 6 +- 5 files changed, 83 insertions(+), 89 deletions(-) create mode 100644 docs/static/img/api-key-generation.png delete mode 100644 docs/static/img/docs/api-key-generation.png diff --git a/docs/static/img/api-key-generation.png b/docs/static/img/api-key-generation.png new file mode 100644 index 0000000000000000000000000000000000000000..750607640139602c13bcc3570dcc9a782d59d1ff GIT binary patch literal 18944 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 a@Q1xeXis*i#Gfe8i9epMelF{r5}E)+YAO2w literal 0 HcmV?d00001 diff --git a/docs/static/img/docs/api-key-generation.png b/docs/static/img/docs/api-key-generation.png deleted file mode 100644 index 713a4a79d43abc83d1b6834bd94e6892214c157b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26836 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 diff --git a/docs/usage/cloud/cloud-api.mdx b/docs/usage/cloud/cloud-api.mdx index c4565cccaa..12438a6b70 100644 --- a/docs/usage/cloud/cloud-api.mdx +++ b/docs/usage/cloud/cloud-api.mdx @@ -1,9 +1,11 @@ --- title: Cloud API -description: OpenHands Cloud provides a REST API that allows you to programmatically interact with the service. This guide explains how to obtain an API key and use the API to start conversations. +description: OpenHands Cloud provides a REST API that allows you to programmatically interact with OpenHands. + This guide explains how to obtain an API key and use the API to start conversations and retrieve their status. --- -For more detailed information about the API, refer to the [OpenHands API Reference](https://docs.all-hands.dev/swagger-ui/). +For the available API endpoints, refer to the +[OpenHands API Reference](https://docs.all-hands.dev/api-reference). ## Obtaining an API Key @@ -16,7 +18,7 @@ To use the OpenHands Cloud API, you'll need to generate an API key: 5. Give your key a descriptive name (Example: "Development" or "Production") and select `Create`. 6. Copy the generated API key and store it securely. It will only be shown once. -![API Key Generation](/static/img/docs/api-key-generation.png) +![API Key Generation](/static/img/api-key-generation.png) ## API Usage @@ -33,87 +35,81 @@ To start a new conversation with OpenHands to perform a task, you'll need to mak #### Examples -

-cURL -```bash -curl -X POST "https://app.all-hands.dev/api/conversations" \ - -H "Authorization: Bearer YOUR_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "initial_user_msg": "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", - "repository": "yourusername/your-repo" - }' -``` -
+ + ```bash + curl -X POST "https://app.all-hands.dev/api/conversations" \ + -H "Authorization: Bearer YOUR_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "initial_user_msg": "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", + "repository": "yourusername/your-repo" + }' + ``` + -
-Python (with requests) + + ```python + import requests -```python -import requests + api_key = "YOUR_API_KEY" + url = "https://app.all-hands.dev/api/conversations" -api_key = "YOUR_API_KEY" -url = "https://app.all-hands.dev/api/conversations" - -headers = { - "Authorization": f"Bearer {api_key}", - "Content-Type": "application/json" -} - -data = { - "initial_user_msg": "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", - "repository": "yourusername/your-repo" -} - -response = requests.post(url, headers=headers, json=data) -conversation = response.json() - -print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['conversation_id']}") -print(f"Status: {conversation['status']}") -``` -
- -
-TypeScript/JavaScript (with fetch) - -```typescript -const apiKey = "YOUR_API_KEY"; -const url = "https://app.all-hands.dev/api/conversations"; - -const headers = { - "Authorization": `Bearer ${apiKey}`, - "Content-Type": "application/json" -}; - -const data = { - initial_user_msg: "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", - repository: "yourusername/your-repo" -}; - -async function startConversation() { - try { - const response = await fetch(url, { - method: "POST", - headers: headers, - body: JSON.stringify(data) - }); - - const conversation = await response.json(); - - console.log(`Conversation Link: https://app.all-hands.dev/conversations/${conversation.id}`); - console.log(`Status: ${conversation.status}`); - - return conversation; - } catch (error) { - console.error("Error starting conversation:", error); + headers = { + "Authorization": f"Bearer {api_key}", + "Content-Type": "application/json" } -} -startConversation(); -``` + data = { + "initial_user_msg": "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", + "repository": "yourusername/your-repo" + } -
+ response = requests.post(url, headers=headers, json=data) + conversation = response.json() + + print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['conversation_id']}") + print(f"Status: {conversation['status']}") + ``` + + + + ```typescript + const apiKey = "YOUR_API_KEY"; + const url = "https://app.all-hands.dev/api/conversations"; + + const headers = { + "Authorization": `Bearer ${apiKey}`, + "Content-Type": "application/json" + }; + + const data = { + initial_user_msg: "Check whether there is any incorrect information in the README.md file and send a PR to fix it if so.", + repository: "yourusername/your-repo" + }; + + async function startConversation() { + try { + const response = await fetch(url, { + method: "POST", + headers: headers, + body: JSON.stringify(data) + }); + + const conversation = await response.json(); + + console.log(`Conversation Link: https://app.all-hands.dev/conversations/${conversation.id}`); + console.log(`Status: ${conversation.status}`); + + return conversation; + } catch (error) { + console.error("Error starting conversation:", error); + } + } + + startConversation(); + ``` + #### Response @@ -145,14 +141,12 @@ GET https://app.all-hands.dev/api/conversations/{conversation_id} #### Example -
-cURL - -```bash -curl -X GET "https://app.all-hands.dev/api/conversations/{conversation_id}" \ - -H "Authorization: Bearer YOUR_API_KEY" -``` -
+ + ```bash + curl -X GET "https://app.all-hands.dev/api/conversations/{conversation_id}" \ + -H "Authorization: Bearer YOUR_API_KEY" + ``` + #### Response diff --git a/docs/usage/installation.mdx b/docs/usage/installation.mdx index 8e0ab99619..7d4f7a9af5 100644 --- a/docs/usage/installation.mdx +++ b/docs/usage/installation.mdx @@ -12,7 +12,7 @@ To get started with OpenHands Cloud, visit [app.all-hands.dev](https://app.all-h For more information see [getting started with OpenHands Cloud.](/usage/cloud/openhands-cloud) -## Running OpenHands Locally +## Running OpenHands on Your Own Run OpenHands on your local system and bring your own LLM and API key. diff --git a/docs/usage/local-setup.mdx b/docs/usage/local-setup.mdx index f059273cac..a3f5550efb 100644 --- a/docs/usage/local-setup.mdx +++ b/docs/usage/local-setup.mdx @@ -62,17 +62,17 @@ A system with a modern processor and a minimum of **4GB RAM** is recommended to ### Start the App ```bash -docker pull docker.all-hands.dev/all-hands-ai/runtime:0.40-nikolaik +docker pull docker.all-hands.dev/all-hands-ai/runtime:0.41-nikolaik docker run -it --rm --pull=always \ - -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.40-nikolaik \ + -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.41-nikolaik \ -e LOG_ALL_EVENTS=true \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.openhands-state:/.openhands-state \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ - docker.all-hands.dev/all-hands-ai/openhands:0.40 + docker.all-hands.dev/all-hands-ai/openhands:0.41 ``` You'll find OpenHands running at http://localhost:3000!