Computer Actions
Take screenshot
Capture the current desktop and return a URL to the stored image.
GET
/
computers
/
{id}
/
screenshot
Take screenshot
curl --request GET \
--url https://www.orgo.ai/api/computers/{id}/screenshot \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/computers/{id}/screenshot"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.orgo.ai/api/computers/{id}/screenshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.orgo.ai/api/computers/{id}/screenshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.orgo.ai/api/computers/{id}/screenshot"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.orgo.ai/api/computers/{id}/screenshot")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}/screenshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"image": "/api/storage/<workspace-id>/2026-08-05T05-51-55-743Z_<uuid>.jpg"
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}Captures a screenshot of the computer’s display, uploads it to storage, and returns a URL you can fetch.
Path parameters
string
required
Computer ID (UUID).
Response
boolean
true if the screenshot was captured and stored.string
Public URL of the uploaded PNG.
object
Example
curl https://www.orgo.ai/api/computers/a3bb189e-8bf9-3888-9912-ace4e6543002/screenshot \
-H "Authorization: Bearer $ORGO_API_KEY"
import requests
response = requests.get(
f"https://www.orgo.ai/api/computers/{computer_id}/screenshot",
headers={"Authorization": f"Bearer {api_key}"}
)
data = response.json()
image_url = data["image"]
# Download the PNG
img = requests.get(image_url)
with open("screenshot.png", "wb") as f:
f.write(img.content)
const response = await fetch(`https://www.orgo.ai/api/computers/${computerId}/screenshot`, {
headers: { 'Authorization': `Bearer ${apiKey}` }
});
const { image } = await response.json();
// Download the PNG
const img = await fetch(image);
const buffer = Buffer.from(await img.arrayBuffer());
fs.writeFileSync('screenshot.png', buffer);
Response
{
"success": true,
"image": "https://storage.orgo.ai/screenshots/4d96f9a0/2026-04-20/abc123.png",
"metadata": {
"id": "9f2b7c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"timestamp": "2026-04-20T12:00:00Z",
"size": 187342,
"storage_path": "screenshots/4d96f9a0/2026-04-20/abc123.png"
}
}
Errors
| Status | Meaning |
|---|---|
400 | Computer instance not available. |
401 | Missing or invalid API key. |
403 | You do not have access to this computer. |
404 | Computer not found. |
500 | Capture or upload failed. |
⌘I
Take screenshot
curl --request GET \
--url https://www.orgo.ai/api/computers/{id}/screenshot \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/computers/{id}/screenshot"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.orgo.ai/api/computers/{id}/screenshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.orgo.ai/api/computers/{id}/screenshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.orgo.ai/api/computers/{id}/screenshot"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.orgo.ai/api/computers/{id}/screenshot")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}/screenshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"image": "/api/storage/<workspace-id>/2026-08-05T05-51-55-743Z_<uuid>.jpg"
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}