Skip to main content
Base URL https://sk.nanovm.dev.lithosai.cloud, Authorization: Bearer <key>. JSON bodies; times are *_unix_ns. (The archive/unarchive verbs travel as the original /stop and /start routes.)

Sandboxes

Sandbox object: vm_id, tenant, state (creating, running, paused — you called pause, only resume undoes it; slept — the idle policy paused it, the next call wakes it; archived — parked to object storage: after your archive() only unarchive() undoes it (SandboxStoppedError otherwise); when the idle policy parked it, the next call wakes it in seconds; interrupted — its host died, contact support to recover from a durable checkpoint; migrating, deleting, failed), image, cpus, memory_mb, guest_ip, runtime, created_unix_ns, parent_vm_id (set on a fork child), node, shard, disable_internet. While archived, node/guest_ip/mgmtd_addr are last-known values, not a live placement.

Snapshots and exports

Templates

Template object: template_id, name, version, source_image, status (buildingready | failed), status_detail, runtime, base_snapshot_id, created_unix_ns, last_used_unix_ns.

Registries

Usage

GET /usage?start=<RFC3339>&end=<RFC3339> (default last 24 h) → {"start", "end", "states": [{"state", "vm_seconds", "cpu_seconds", "memory_mb_seconds"}, …], "snapshot_byte_seconds"} — per-state rows; whole-minute samples (short-lived sandboxes round up); window capped at 32 days; empty states is a valid no-usage answer. snapshot_byte_seconds integrates held snapshots’ logical bytes (deleted ones stop counting). GET /usage/series?hours= (or start=&end=) is the activity-graph time series behind the console’s Usage charts. GET /usage-export is operator-only (USAGE_EXPORT_SUBJECTS; normal keys get 403).

Status codes