Get computer
Retrieve a computer by ID.
Path parameters
instance_id. Both resolve to the same computer.Response
canView, canWrite, and canManageAccess, each a boolean.password, secret, token, api_key, or authorized_keys removed.linux, windows, macos, android, or ios.0.5 vCPU computers.creating, running, restarting, updating, suspending, suspended, resuming, frozen, stopped, error, deleted. See Status values.http://{host}:{port}. This is an internal fleet address, not a dashboard link and not the endpoint you connect to. Use connection_url to connect. The value is rewritten whenever the computer restarts, is started again, or has its RAM resized. It still holds the last host’s address after the computer is stopped, so it is only meaningful while the computer is running.POST /computers returns as instance_id. It changes when the computer is started from its archive or wakes from storage, so keep id (the UUID) as your handle and read this fresh from this endpoint. null while the computer has no host (frozen, or asleep in storage). This endpoint returns the field under its legacy name only.www.orgo.ai. Empty while the computer has no instance id, such as when it is frozen or asleep in storage.https://www.orgo.ai/desktops/{instance_id}). Append /ws/websockify, /ws/terminal, or /ws/audio for the WebSocket endpoints; HTTP Desktop API calls go to https://www.orgo.ai/api/desktops/{instance_id}/proxy/{endpoint}. Empty while the computer has no instance id, such as when it is frozen or asleep in storage.null when you have view-only access to the workspace, for an MCP sign-in, or when the stored credential cannot be decrypted.true when the computer’s workspace keeps screens private, so the Orgo dashboard keeps the screen covered until someone chooses to show it.host_cpu (family, name, and signature, or null), cpu_model, hypervisor, qemu, boot, fallback, and launched_at. null when the host has not reported a launch record for the computer’s current VM.null for a computer on Orgo’s servers.suspended computer is. null for any other status. where is host (resumes on interaction) or storage (moved off its host; Start, Resume, or any action wakes it in about a minute). since is when it went to sleep. A computer in storage also carries reason (hours, idle, or null), waking ({ since, expected_seconds } while a wake runs, else null), and wake_error (why the last wake failed, else null).suspending, suspended, or resuming: state (capturing, uploading, stored, resuming, resumed, failed, or abandoned), where (host or storage), saving (true while its copy is still being saved; Resume and Delete still work meanwhile), and region (the storage region, or null). null for any other status or when nothing is recorded. Get suspension has the full record.Status values
Example
Response
Errors
Rename a computer
PATCH /computers/{id} updates a computer’s name and its mascot. It takes the same path parameter as GET, and requires that you own the workspace. A view-only member gets 403, and a member with write access who is not the owner gets 404 with Access denied.
400.color (stone, pearl, graphite, ink, green, blue, red, orange, purple, cyan, pink, yellow, teal, coral), expression (deadpan, friendly, focused, thinking, excited, sleepy, surprised, skeptical, worried, mischievous), and accessory (none, beanie, tophat, party, glasses, sunglasses, bow). Unrecognised fields and values are dropped rather than rejected, so a field you send with an unknown value falls back to the default. null clears the mascot; omitting the field leaves it alone; any other non-object value returns 400.id, name, bot_mascot (null when unset), and updated_at.
Authorizations
API key authentication. Get your key at orgo.ai/workspaces
Path Parameters
Computer ID
Response
Computer details
A computer. No single response carries every field: POST /computers returns workspace_id, project_id, instance_id, fly_instance_id, and the connect fields, plus hardware and launch when the host reports them; GET /computers/{id} returns project_id, project_name, permissions, fly_instance_id, the connect fields, private_screens, hardware, device_tag, asleep, and suspension; a computer embedded in a workspace carries the stored row. Each operation's example shows what that operation returns.
Unique computer identifier
"a3bb189e-8bf9-3888-9912-ace4e6543002"
Computer name
"agent-1"
ID of the workspace the computer belongs to. Returned by POST /computers; GET /computers/{id} returns it as project_id.
"550e8400-e29b-41d4-a716-446655440000"
Name of the parent workspace
"production"
Operating system. ios is a physical handset rather than a virtual computer.
linux, windows, macos, android, ios "linux"
RAM in GB. 10 or 12 occurs only on macOS.
4, 8, 10, 12, 16, 32, 64 4
vCPU cores.
0.5, 1, 2, 4, 6, 8, 16 1
Current status. suspending while a suspend is being saved, resuming while a resume brings it back from storage.
creating, running, restarting, updating, suspending, suspended, resuming, frozen, stopped, error, deleted "running"
Base URL of the computer's own API on the host that runs it, as http://<host>:<port>. Plain HTTP, and reachable only from inside Orgo's network. It is not a dashboard link and not an endpoint you can call. Use connection_url from your own code.
"http://198.51.100.24:8081"
Identifier of the computer's current VM, returned by POST /computers. It changes when the computer is started from archive or woken from storage, so use id to refer to the computer. null while it has no host (frozen, or asleep in storage).
"a3881618"
Same-origin host for the computer's connection endpoints: www.orgo.ai. Empty while the computer has no instance id, such as when it is frozen or asleep in storage.
"www.orgo.ai"
Same-origin connection base (https://www.orgo.ai/desktops/{instance_id}). Append /ws/websockify, /ws/terminal, or /ws/audio for WebSocket endpoints; HTTP Desktop API calls go to https://www.orgo.ai/api/desktops/{instance_id}/proxy/{endpoint}.
"https://www.orgo.ai/desktops/a3881618"
VNC / WebSocket Bearer token. Rotates on restart, on start, and on a RAM resize, so do not persist it. null when you have view-only access to the workspace, or when the stored credential cannot be decrypted.
"a06db12a8683df96"
ID of the parent workspace, under its older name. POST /computers returns it as a deprecated alias of workspace_id; GET /computers/{id} returns only this name.
"550e8400-e29b-41d4-a716-446655440000"
The instance id under its legacy name. The same value POST /computers returns as instance_id. GET /computers/{id} returns only this name. It changes when the computer is started from archive or woken from storage, so use id. null while it has no host (frozen, or asleep in storage).
"a3881618"
What your role in the workspace allows.
Returned by GET /computers/{id}. true when the computer's workspace keeps screens private, so the Orgo dashboard keeps the screen covered until someone chooses to show it.
false
The computer's placement and connection record: provider, id, name, webUrl, vncHost, vncPort, apiPort, serverAddress, resolution, and fromPool, plus hypervisor and templateTerminals when they apply. GET /computers/{id} and the workspace endpoints remove every field whose name contains password, secret, token, api_key, or authorized_keys, in any letter case and at any depth.
What the computer runs on, from its current VM's launch record. GET /computers/{id} always returns it, null when the host has not reported a launch record for the computer's current VM. POST /computers returns it, with launch, only when the host reports how it launched the computer.
Returned by GET /computers/{id}. The Device ID Orgo prints on a physical device (or, for a macOS VM, on the Mac it runs on). null for a VM on Orgo's servers. Read-only.
Returned by GET /computers/{id}. Where a suspended computer is. null when it is not suspended.
Returned by GET /computers/{id}. The current suspension of a suspended, suspending or resuming computer. null otherwise, or when nothing is recorded.
Returned by POST /computers alongside hardware, when the host reports how it launched the computer: the host's launch record for the new computer, without the host's name or the source its state was restored from.
Display resolution in WIDTHxHEIGHTxDEPTH format. Returned by POST /computers.
"1280x720x24"
Returned by POST /computers only, present and true when you asked for a gpu and a CPU computer was created instead.
Present only alongside gpu_downgraded, explaining the downgrade.