pub struct CreateSandboxRequest {Show 15 fields
pub template: Option<String>,
pub kind: Option<String>,
pub cpu: Option<u32>,
pub mem_mb: Option<u32>,
pub disk_gb: Option<u32>,
pub envs: Option<HashMap<String, String>>,
pub metadata: Option<HashMap<String, String>>,
pub timeout_ms: Option<u64>,
pub ttl_seconds: Option<u64>,
pub from_snapshot: Option<String>,
pub isolation: Option<String>,
pub lifecycle: Option<Lifecycle>,
pub resolution: Option<String>,
pub record: Option<bool>,
pub volumes: Option<Vec<VolumeAttachment>>,
}Expand description
Wire body for POST /sandboxes. Null/unset fields are omitted.
Fields§
§template: Option<String>§kind: Option<String>§cpu: Option<u32>§mem_mb: Option<u32>§disk_gb: Option<u32>§envs: Option<HashMap<String, String>>§metadata: Option<HashMap<String, String>>§timeout_ms: Option<u64>§ttl_seconds: Option<u64>Legacy, gateway-side FALLBACK idle window in seconds, only used when
timeout_ms is unset — prefer timeout_ms. Kept for parity with the
reference SDKs, which have always accepted it.
from_snapshot: Option<String>§isolation: Option<String>VM isolation tier: "shared" (sandbox-only), "dedicated" (default)
or "hardened" (own VM, no outbound network — verified 2026-09-23 on
staging, not yet on prod; refused with 409 HostCapabilityMissing
where a host doesn’t advertise it).
lifecycle: Option<Lifecycle>§resolution: Option<String>Initial display resolution, e.g. "1280x720". Desktops only.
record: Option<bool>Record the session server-side; the response carries a presigned playback
URL. Desktops only — record on a headless sandbox is rejected (400
RecordingRequiresDesktop).
volumes: Option<Vec<VolumeAttachment>>Persistent volumes to mount before the session starts.