Post v1sandboxes
Create a sandbox from an OCI image, a snapshot, or the platform default image when neither is named. A required Idempotency-Key makes retries replay the original accepted sandbox instead of creating another. The operation is asynchronous and returns 202 with Location and Retry-After; poll or long-poll GetSandbox for observed state. A supplied name is unique within the project; a duplicate returns 409 name_conflict.
Authorizations
Hiloop API key sent as an HTTP Bearer token.
Headers
Required idempotency key for this mutation. The server records the result from execution start. For at least 72 hours, reuse by the same organization and route replays the original status and body. A matching request still in flight or reuse for different input returns 409 idempotency_conflict. Keys are scoped by organization and route and contain 1-255 characters.
1 - 255Body
- Option 1
- Option 2
Create a root sandbox from an OCI image; omitting image starts from the platform default image.
The unmodified OCI image reference to start from.
1Sandbox lifetime in seconds. Omit it to use the deployment default.
x >= 1Storage behavior for the sandbox. Omit it to use durable storage when restoring a snapshot, or standard storage for an image/platform-default create.
standard, durable Unique guest TCP ports in the range 1-65535. Returned endpoints are authenticated private session-plane connections, not public preview URLs.
1 <= x <= 65535Pre-registered volumes to mount, each pinned to its current version at admission.
Pre-registered secrets to bind for proof-bound request-time delivery.
Caller-owned metadata: at most 50 entries, keys at most 128 characters, and at most 4096 bytes of total value content.
Optional customer-supplied name, unique among the project's sandboxes that have not finished deleting. It must be 1-63 characters: lowercase letters or digits, with interior hyphens allowed. Omit it to leave the sandbox unnamed; the server never generates a name. A duplicate returns 409 name_conflict; a terminated sandbox's name is free to reuse, and its record keeps the name for history.
1 - 63^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$Requested compute resources. Omitted fields resolve to deployment defaults at admission, and the resolved shape is echoed on every Sandbox response. A GPU request is rejected with 422 unsupported_capability when the deployment cannot schedule accelerators.
Argv that replaces the image's own entrypoint as the sandbox's first process. Omit it to run the image's ENTRYPOINT/CMD unchanged, which is what an image built to hold itself open wants. Supply it for an image whose entrypoint runs a task and exits, such as a base OS image or a build tool: a sandbox is something you attach to, and it lives only as long as its first process. The argv is executed directly rather than through a shell, so pipes and redirection belong inside a command you name explicitly. The executable must not be empty; at most 256 entries, each at most 4096 characters.
Durable workspace capacity in whole GiB. A root create may omit it to use the deployment default; a snapshot create inherits the snapshot-time value. A legacy snapshot whose capacity predates stamping requires an explicit value. This field is valid only with durable storage; standard storage has no persistent workspace claim.
x >= 1Capacity posture for this sandbox. Omit it to use standard placement.
standard, non_preemptible Idle duration in seconds after which a running sandbox is stopped. Omit it to use the deployment default; when the deployment has no default, idle stopping is disabled. Values are from 60 through 86400.
60 <= x <= 86400Deployment-registered shared filesystems to mount. Shared filesystems are external to this sandbox's snapshots; durable storage is required for the sandbox's private runtime state.
Outbound-network posture. Omit it to use public access.
public, gateway_only, none Response
Accepted
The new sandbox id. Poll GetSandbox with this id for observed lifecycle state.
The accepted mutation-request state, distinct from observed sandbox lifecycle state.
requested The ambient run that receives telemetry captured for this sandbox. An idempotent create retry returns the same run id.