Create a runtime
const url = 'http://127.0.0.1:8080/v1/runtimes';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"checkpoint_id":"example","environment_variables":{},"egress_policy":{"mode":"denylist","allowed_hosts":[],"denied_hosts":[]},"idle_policy":{"mode":"disabled"},"ingress_specs":[],"name":"example","resources":{"requests":{"vcpus":1,"memory_mib":1024},"limits":{"memory_mib":1024}},"runtime_agent":"example","runtime_agent_post_install_script":"example","runtime_agent_post_config_script":"example","runtime_agent_secret_preset":"example","llm_tool_io_capture_enabled":true,"llm_token_saving_policy":{"json_array_enabled":true,"log_enabled":true,"search_results_enabled":true,"git_diff_enabled":true}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://127.0.0.1:8080/v1/runtimes \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "checkpoint_id": "example", "environment_variables": {}, "egress_policy": { "mode": "denylist", "allowed_hosts": [], "denied_hosts": [] }, "idle_policy": { "mode": "disabled" }, "ingress_specs": [], "name": "example", "resources": { "requests": { "vcpus": 1, "memory_mib": 1024 }, "limits": { "memory_mib": 1024 } }, "runtime_agent": "example", "runtime_agent_post_install_script": "example", "runtime_agent_post_config_script": "example", "runtime_agent_secret_preset": "example", "llm_tool_io_capture_enabled": true, "llm_token_saving_policy": { "json_array_enabled": true, "log_enabled": true, "search_results_enabled": true, "git_diff_enabled": true } }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Optional caller-generated key reused across retries of one logical runtime mutation.
Request Bodyrequired
Section titled “Request Bodyrequired”Runtime creation request.
Runtime creation request.
object
Checkpoint UUID to restore from.
Non-secret environment variables stored visibly on this runtime. Names must match [A-Za-z_][A-Za-z0-9_]* and be at most 128 UTF-8 bytes; Runta-managed, provider, credential, and runtime CA names are reserved. Values must be strings of at most 8192 UTF-8 bytes without NUL, CR, or LF, with at most 65536 value bytes across the map.
object
Initial egress policy.
object
Egress gateway mode.
Host names or wildcard patterns allowed in allowlist mode.
Host names or wildcard patterns denied in denylist mode.
Initial idle policy. Omit to use disabled.
object
Disable automatic idle suspension and wakeup.
object
Automatically suspend an idle runtime, but require an explicit Start to wake it.
object
Idle duration before automatic suspension.
Automatically suspend an idle runtime and wake it on supported activity.
object
Idle duration before automatic suspension.
Optional ingress specs.
Public ingress forwarding rule.
object
Application-layer protocol.
Port inside the runtime VM.
Human-readable runtime name.
Runtime resource requests and limits.
object
Resource limits.
object
Maximum memory in MiB.
Resource requests.
object
Requested baseline memory in MiB.
Requested virtual CPUs.
Agent manifest key to install/configure after runtime creation.
Internal post-install script to run with the runtime setup operation.
Internal script to run after the runtime agent and repository setup complete.
Internal secret preset selected for this runtime agent invocation.
Capture official LLM HTTP API tool input/output for WatchFox insights. Pass false to opt out.
Initial LLM tool-output compression policy. Omitted methods default to enabled; pass false to opt out.
object
Responses
Section titled “Responses”Response envelope.
Response envelope.
object
Runtime response object.
object
User-chosen display name.
Non-secret environment variables stored visibly on this runtime. Secret-derived variables are excluded. Names and values use the byte limits documented by CreateRuntimeRequest.environment_variables.
object
Egress policy.
object
Egress gateway mode.
Host names or wildcard patterns allowed in allowlist mode.
Host names or wildcard patterns denied in denylist mode.
Whether official LLM HTTP API tool input/output capture is enabled.
Canonical LLM tool-output compression policy.
object
Runtime idle suspension and automatic wakeup policy.
object
Disable automatic idle suspension and wakeup.
object
Automatically suspend an idle runtime, but require an explicit Start to wake it.
object
Idle duration before automatic suspension.
Automatically suspend an idle runtime and wake it on supported activity.
object
Idle duration before automatic suspension.
Stable runtime UUID.
RFC3339 timestamp when the control-plane runtime row was created.
RFC3339 timestamp of the last control-plane runtime row mutation.
Active ingress specs.
Public ingress forwarding rule.
object
Application-layer protocol.
Port inside the runtime VM.
Runtime resource state.
object
Current resource allocation.
object
Current memory allocation in MiB.
Resource limits.
object
Maximum memory in MiB.
Resource requests.
object
Requested baseline memory in MiB.
Requested virtual CPUs.
Runtime-scoped agent setup metadata.
object
Agent manifest key.
Agent setup status.
Runtime-local setup log path.
Last setup error, if any.
RFC3339 timestamp of the last setup state change.
Runtime status.
Whether this runtime supports SSH access.
Example
{ "data": { "egress_policy": { "mode": "denylist" }, "idle_policy": { "mode": "disabled" }, "ingress_specs": [ { "protocol": "http" } ], "agent": { "status": "queued" }, "status": "running" }}Missing, malformed, or rejected bearer token
object
object
Example
{ "error": { "code": "already_exists" }}The bearer token is not allowed to perform this action
object
object
Example
{ "error": { "code": "already_exists" }}The requested resource was not found
object
object
Example
{ "error": { "code": "already_exists" }}The request conflicts with current resource state
object
object
Example
{ "error": { "code": "already_exists" }}Validation or application error
object
object
Example
{ "error": { "code": "already_exists" }}Rate limit exceeded
object
object
Example
{ "error": { "code": "already_exists" }}Upstream service is unavailable
object
object
Example
{ "error": { "code": "already_exists" }}Upstream request timed out
object
object
Example
{ "error": { "code": "already_exists" }}default
Section titled “default”Error response
object
object
Example
{ "error": { "code": "already_exists" }}