Create sandbox
Endpoint:POST /api/v1/sandboxes
Request body schema
Fields accepted in the JSON body when creating a sandbox:name
(string, required): Unique sandbox name in the namespaceimage
(string, required): Container image, e.g.alpine:latest
namespace
(string, defaultdefault
): Kubernetes namespaceenv_file
(string | null): Path (on API host) to.env
file to inject as Secretbefore_script
(string, default empty): Shell commands to run before the container is marked Readylimits
(object): Resource limits/requests; keys supported:cpu
,memory
,ephemeral-storage
egress_whitelist
(string[] | [] | null): See Egress section belowpod_non_root
(boolean, default false): Run pod as non-root (UID/GID/FSGroup 65532)container_non_root
(boolean, default false): Run container as non-root (UID 65532)cap_drop
(string[] | null): List of capabilities to drop; default policy isALL
cap_add
(string[] | null): List of capabilities to add back
Responses
201 Created
with Location header to the created resource:
400 BadRequest
when validation fails (invalid limits, bad env file, already exists, etc.)
List sandboxes
Endpoint:GET /api/v1/sandboxes
Namespace
Get sandbox
Endpoint:GET /api/v1/sandboxes/{name}
Sandbox name
Namespace
Delete sandbox
Endpoint:DELETE /api/v1/sandboxes/{name}
Sandbox name
Namespace
Delete all sandboxes
Endpoint:DELETE /api/v1/sandboxes
Namespace
Deleting sandboxes is irreversible.
See also
- API Security & networking:
/api/security