Workspaces
Get workspace
Retrieve a workspace by ID.
GET
/
workspaces
/
{id}
Get workspace
curl --request GET \
--url https://www.orgo.ai/api/workspaces/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/workspaces/{id}"
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/workspaces/{id}', 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/workspaces/{id}",
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/workspaces/{id}"
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/workspaces/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/workspaces/{id}")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "production",
"user_id": "<string>",
"status": "active",
"icon_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"desktops": [
{
"id": "a3bb189e-8bf9-3888-9912-ace4e6543002",
"name": "agent-1",
"project_name": "production",
"os": "linux",
"ram": 4,
"cpu": 1,
"disk_size_gb": 8,
"status": "running",
"url": "https://orgo.ai/workspaces/a3bb189e-8bf9-3888-9912-ace4e6543002",
"created_at": "2023-11-07T05:31:56Z",
"instance_id": "a3881618",
"hostname": "www.orgo.ai",
"connection_url": "https://www.orgo.ai/desktops/a3881618",
"vnc_password": "a06db12a8683df96"
}
]
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}Returns a workspace by ID, including its computers (
desktops).
Path parameters
string
required
Workspace ID.
Response
string
Workspace identifier.
string
Workspace name.
string
Owner user ID.
string
Workspace status.
string
Icon URL, if set.
string
ISO 8601 timestamp.
string
ISO 8601 timestamp.
array
Computers in this workspace.
Example
curl https://www.orgo.ai/api/workspaces/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer $ORGO_API_KEY"
import requests
response = requests.get(
f"https://www.orgo.ai/api/workspaces/{workspace_id}",
headers={"Authorization": f"Bearer {api_key}"}
)
workspace = response.json()
print(f"Workspace: {workspace['name']}")
for d in workspace.get("desktops", []):
print(f" - {d['name']}: {d['status']}")
const response = await fetch(`https://www.orgo.ai/api/workspaces/${workspaceId}`, {
headers: { 'Authorization': `Bearer ${apiKey}` }
});
const workspace = await response.json();
console.log(`Workspace: ${workspace.name}`);
workspace.desktops?.forEach(d => {
console.log(` - ${d.name}: ${d.status}`);
});
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "production",
"user_id": "4d96f9a0-7727-4b63-889a-32544c206d7c",
"status": "active",
"icon_url": null,
"created_at": "2026-04-07T10:30:00Z",
"updated_at": "2026-04-07T10:30:00Z",
"desktops": [
{
"id": "a3bb189e-8bf9-3888-9912-ace4e6543002",
"name": "agent-1",
"os": "linux",
"ram": 4,
"cpu": 1,
"status": "running"
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"name": "agent-2",
"os": "linux",
"ram": 8,
"cpu": 2,
"status": "stopped"
}
]
}
Authorizations
API key authentication. Get your key at orgo.ai/workspaces
Path Parameters
Workspace ID
Response
Workspace details
Unique workspace identifier
Example:
"550e8400-e29b-41d4-a716-446655440000"
Workspace name
Example:
"production"
Owner user ID
Available options:
active, inactive Example:
"active"
Optional icon URL
Show child attributes
Show child attributes
⌘I
Get workspace
curl --request GET \
--url https://www.orgo.ai/api/workspaces/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/workspaces/{id}"
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/workspaces/{id}', 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/workspaces/{id}",
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/workspaces/{id}"
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/workspaces/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/workspaces/{id}")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "production",
"user_id": "<string>",
"status": "active",
"icon_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"desktops": [
{
"id": "a3bb189e-8bf9-3888-9912-ace4e6543002",
"name": "agent-1",
"project_name": "production",
"os": "linux",
"ram": 4,
"cpu": 1,
"disk_size_gb": 8,
"status": "running",
"url": "https://orgo.ai/workspaces/a3bb189e-8bf9-3888-9912-ace4e6543002",
"created_at": "2023-11-07T05:31:56Z",
"instance_id": "a3881618",
"hostname": "www.orgo.ai",
"connection_url": "https://www.orgo.ai/desktops/a3881618",
"vnc_password": "a06db12a8683df96"
}
]
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}