Skip to main content
PATCH
Resize computer
Resizes a running computer. Every field is optional. Send only what you want to change.
vcpus and bandwidth_limit_mbps apply to the live computer. Disk growth applies live on Linux; a Windows computer restarts in place to grow its disk. A mem_gb change applies live on a Linux computer that supports live memory resize, and restarts any other computer in place. connection_rotated is true when the ports or VNC password changed. When it is, re-fetch GET /computers/{id} and reconnect.
The computer must be running. The response reports the values the computer actually accepted, not the ones you asked for: a dimension that failed to apply comes back with its previous value.

Path parameters

string
required
Computer UUID or instance_id. Both resolve to the same computer.

Body parameters

number
New vCPU count: 0.5, 1, 2, 4, 8, or 16, as a JSON number. Any other value returns 400. A value above your per-computer ceiling returns 403. Omitted leaves CPU alone.
integer
New RAM in GB: 4, 8, 16, or 32, as a JSON number. Any other value returns 400. A resize tops out at the host’s boot-memory ceiling, 32 GB by default, whatever your plan allows. 64 is accepted only on a fleet configured above that ceiling; otherwise a 64 GB computer is only reachable at create time. A value above your per-computer ceiling returns 403. Omitted leaves RAM alone.
integer
New disk size in GB. Disk can only grow; a value below the current size returns 400. A value below 1 or above this computer’s ceiling also returns 400, with max_disk_gb in the body. Omitted leaves the disk alone. Call GET /computers/{id}/resize to read the ceiling first.
integer
New bandwidth cap in Mbps. Must be a non-negative number and no higher than the workspace owner’s plan limit; both violations return 400. 0 is accepted but leaves the cap unchanged. Omitted leaves the cap alone.
integer
Idle minutes before the computer suspends itself. 0 means always-on. Omitted leaves the current setting alone. This is applied separately from the four hardware dimensions and is not reflected in results. Orgo does not check the value before resizing: a value the host rejects, such as a negative number or more than 43200 (30 days), returns 500 after any hardware change has already applied.

Response

Returns the effective configuration after the resize attempt.
number
Effective vCPU count.
integer
Effective RAM in GB.
integer
Effective disk size in GB.
integer
Effective bandwidth limit in Mbps.
integer
The auto_stop_minutes you sent, echoed back. Absent when you did not send it.
boolean
true when the computer’s ports or VNC password changed. Re-fetch the computer’s connection details before reconnecting.
boolean | null
true when the resize restarted the computer, false when it applied live. null when the host does not report it.
array
Names of connection values the host reports as changed: any of api_port, novnc_port, vnc_password, ssh_host_port, or ip. Empty when nothing changed or the host does not report changes.
array
One entry per attempted dimension: { "dimension": "vcpus" | "mem_mb" | "disk_gb" | "bandwidth_mbps", "requested": number, "applied": number, "ok": boolean, "error"?: string }. This is an array, not an object keyed by dimension. Iterate it and switch on dimension. A dimension sent at its current value has no entry. Absent when the request included no hardware dimension.
boolean
true when at least one dimension failed, false otherwise. It is true on both 207 and 422, so use the HTTP status to tell a mixed result from a total failure. Absent when the request included no hardware dimension.

Status codes

  • 200: every requested dimension applied
  • 207: some dimensions applied and others failed (check results)
  • 422: every requested dimension failed

Example

Response

Errors

Read the ceilings before resizing

GET /computers/{id}/resize returns this computer’s headroom, so you can size a request before making it. It takes the same path parameter and no body.
integer
The computer’s current disk size in GB.
integer
Per-computer disk included in the workspace owner’s plan.
integer
Storage add-on blocks the owner has purchased.
integer
Those blocks expressed in GB.
integer
The largest disk_size_gb this computer can be resized to. It is the plan’s base plus whatever add-on storage the owner’s other computers have not already claimed, up to 300 GB.
integer
The largest mem_gb this computer can be resized to, already bounded by the live-resize limit and by the RAM the owner’s other computers leave in the account’s pool.
number
The largest vcpus this computer can be resized to.
integer
The largest bandwidth_limit_mbps the workspace owner’s plan allows.
integer
Pooled RAM the owner has purchased, in GB.
number
Pooled vCPU the owner has purchased.
boolean
true when a mem_gb change applies without restarting the computer. Absent when the host cannot say, for example when the computer is not running.
A computer that cannot be resized, such as a physical device or an operating system without resize support, returns 200 with a different shape: resizable: false, reason, code, and current_disk_gb, max_disk_gb, max_ram_gb, and max_cpu all set to its current size.

Authorizations

Authorization
string
header
required

API key authentication. Get your key at orgo.ai/workspaces

Path Parameters

id
string
required

Computer ID

Body

application/json
vcpus
enum<number>

New vCPU count. Omitted, the CPU is left alone. Capped by the workspace owner's plan; call GET /computers/{id}/resize for the ceiling.

Available options:
0.5,
1,
2,
4,
8,
16
mem_gb
enum<integer>

New RAM in GB. Omitted, the RAM is left alone. A resize tops out at the host's boot-memory ceiling, 32 GB by default, whatever your plan allows: 64 returns 400 unless the fleet is configured above that ceiling, so a 64 GB computer is otherwise reachable only at create time. Above your per-computer ceiling, or more than your other computers leave in the account's RAM pool, returns 403. Call GET /computers/{id}/resize for the ceiling.

Available options:
4,
8,
16,
32
disk_size_gb
integer

New disk size in GB. Omitted, the disk is left alone. Grow only: a smaller value returns 400. Below 1 or above this computer's ceiling also returns 400, with max_disk_gb.

bandwidth_limit_mbps
integer

New bandwidth cap in Mbps. Omitted, the cap is left alone. Must be non-negative and no higher than the owner's plan limit; either violation returns 400.

auto_stop_minutes
integer

Idle minutes before the computer suspends itself. 0 means always-on. Omitted, the setting is left alone. Applied separately from the hardware dimensions and not reflected in results. Orgo does not check the value first: a value the host rejects, such as a negative number or more than 43200 (30 days), returns 500 after any hardware change has already applied.

Response

Every requested dimension applied

The effective configuration after the resize attempt. A dimension that failed to apply comes back with its previous value.

vcpus
number

Effective vCPU count.

mem_gb
integer

Effective RAM in GB.

disk_size_gb
integer

Effective disk size in GB.

bandwidth_limit_mbps
integer

Effective bandwidth limit in Mbps.

auto_stop_minutes
integer

The auto_stop_minutes you sent, echoed back. Absent when you did not send it.

connection_rotated
boolean

true when the computer's ports or VNC password changed. Re-fetch GET /computers/{id} before reconnecting.

restarted
boolean | null

true when the resize restarted the computer, false when it applied live, null when the host does not report it.

identity_changed
enum<string>[]

Connection values the host reports as changed. Empty when nothing changed or the host does not report changes.

Available options:
api_port,
novnc_port,
vnc_password,
ssh_host_port,
ip
results
object[]

One entry per attempted hardware dimension. Absent when the request included no hardware dimension.

partial
boolean

true when at least one dimension failed. true on both 207 and 422. Absent when the request included no hardware dimension.