Create a runtime
const url = 'https://api.runta.me/v2/runtimes';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"environment_variables":{},"egress_policy":{"mode":"denylist","denied_hosts":[]},"idle_policy":{"mode":"disabled"},"ingress_specs":[],"name":"example","resources":{"requests":{"vcpus":1,"memory_mib":1024},"limits":{"memory_mib":1024}},"image":{"id":"example","model_provider_protocol":"example","runtime_sign_in":false,"model_provider_base_url":"example","model_provider_model":"example"},"secret_configuration":[],"ssh_key_ids":[],"vnc_enabled":false,"repositories":[],"llm_tool_io_capture_enabled":false,"llm_token_saving_policy":{"json_array_enabled":false,"log_enabled":false,"search_results_enabled":false,"git_diff_enabled":false}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.runta.me/v2/runtimes \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "environment_variables": {}, "egress_policy": { "mode": "denylist", "denied_hosts": [] }, "idle_policy": { "mode": "disabled" }, "ingress_specs": [], "name": "example", "resources": { "requests": { "vcpus": 1, "memory_mib": 1024 }, "limits": { "memory_mib": 1024 } }, "image": { "id": "example", "model_provider_protocol": "example", "runtime_sign_in": false, "model_provider_base_url": "example", "model_provider_model": "example" }, "secret_configuration": [], "ssh_key_ids": [], "vnc_enabled": false, "repositories": [], "llm_tool_io_capture_enabled": false, "llm_token_saving_policy": { "json_array_enabled": false, "log_enabled": false, "search_results_enabled": false, "git_diff_enabled": false } }'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 creation.
Request Bodyrequired
Section titled “Request Bodyrequired”Runtime creation request.
Create a fresh runtime from a Runtime Image.
object
Non-secret environment variables the runtime carries. Names must match [A-Za-z_][A-Za-z0-9_]* and be at most 128 UTF-8 bytes. Names Runta sets itself are reserved: the RUNTA_ prefix, the runtime CA variables, the managed repository credentials, and the canonical names of the provider secret presets. Values must be at most 8192 UTF-8 bytes each and 65536 in total, and must not contain NUL, CR, or LF.
object
Initial egress policy.
object
Deny matching hosts and allow all other egress destinations.
object
Host names or wildcard patterns to deny.
Allow only matching egress destinations.
object
Host names or wildcard patterns to allow.
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.
Requested overlay virtual capacity in GiB.
Runtime Image selection. Omit on a fresh create to use the default variant.
object
HTTPS endpoint the agent is configured against. Omit to use the image’s default. Only images advertising allow_custom_base_url accept another endpoint.
Model the agent is configured to use. Omit to use the image’s default.
Complete inline secret injection configuration.
Inline injection configuration for one tenant secret.
object
Environment variable populated from a secret.
object
HTTP egress credential populated from a secret.
object
Where an egress secret is injected.
Managed credential file populated from a secret.
object
Delivery path, relative to the guest home directory.
Personal SSH key UUIDs to attach atomically.
Start the shared VNC desktop whenever the runtime is running.
GitHub repositories to check out during runtime setup, in checkout order. The first repository becomes the default workspace. Repositories may span GitHub App installations.
object
Opt in to official LLM HTTP API tool input/output capture.
Initial LLM tool-output compression policy. Omit to disable every method.
object
Restore a runtime from a checkpoint. Hardware resources and Runtime Image identity are fixed by the checkpoint.
object
Checkpoint UUID to restore from.
Initial egress policy.
object
Deny matching hosts and allow all other egress destinations.
object
Host names or wildcard patterns to deny.
Allow only matching egress destinations.
object
Host names or wildcard patterns to allow.
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.
Complete inline secret injection configuration.
Inline injection configuration for one tenant secret.
object
Environment variable populated from a secret.
object
HTTP egress credential populated from a secret.
object
Where an egress secret is injected.
Managed credential file populated from a secret.
object
Delivery path, relative to the guest home directory.
Personal SSH key UUIDs to attach atomically.
Start the shared VNC desktop whenever the runtime is running.
GitHub repositories to check out during runtime setup, in checkout order. The first repository becomes the default workspace. Repositories may span GitHub App installations.
object
Opt in to official LLM HTTP API tool input/output capture.
Initial LLM tool-output compression policy. Omit to disable every method.
object
Responses
Section titled “Responses”Runtime resource created.
Response envelope.
object
Runtime response object.
object
Non-secret environment variables the runtime carries.
object
User-chosen display name.
Egress policy.
object
Deny matching hosts and allow all other egress destinations.
object
Host names or wildcard patterns to deny.
Allow only matching egress destinations.
object
Host names or wildcard patterns to allow.
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.
Worker-observed overlay virtual capacity in GiB.
Resource limits.
object
Maximum memory in MiB.
Resource requests.
object
Requested baseline memory in MiB.
Requested virtual CPUs.
Target overlay virtual capacity in GiB.
Stable Runtime Image variant identifier.
Runtime status.
Whether a running runtime has lacked a new successful heartbeat for at least 60 seconds.
Control-plane target lifecycle state.
Whether this runtime supports SSH access.
Whether the shared VNC desktop is configured to run with this runtime.
Whether the current Worker assignment has published a ready VNC mapping.
Bounded machine-readable VNC startup failure code.
Fixed native VNC gateway connection parameters for this runtime’s zone.
object
Public VNC gateway DNS hostname.
Public native VNC TCP port.
Username required by the X509Plain handshake.
VeNCrypt authentication subtype required by the gateway.
Bounded machine-readable provisioning failure code.
Organization member who owns the runtime.
Whether the current caller may perform control operations on this runtime.
Monotonic runtime aggregate revision.
Canonical inline secret injection configuration.
Inline injection configuration for one tenant secret.
object
Environment variable populated from a secret.
object
HTTP egress credential populated from a secret.
object
Where an egress secret is injected.
Managed credential file populated from a secret.
object
Delivery path, relative to the guest home directory.
Example
{ "data": { "egress_policy": { "mode": "denylist" }, "idle_policy": { "mode": "disabled" }, "ingress_specs": [ { "protocol": "http" } ], "status": "running", "desired_status": "running", "vnc_connection": { "username": "runta", "security_type": "X509Plain" }, "secret_configuration": [ { "environment": [], "egress_rules": [], "files": [] } ] }}Headers
Section titled “Headers”Canonical Runtime resource URI.
Missing, malformed, or rejected bearer token
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}The bearer token is not allowed to perform this action
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}The requested resource was not found
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}The request conflicts with current resource state
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}Validation or application error
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}Rate limit exceeded
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}Operation is not implemented
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}Upstream service is unavailable
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}Upstream request timed out
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}default
Section titled “default”Error response
object
object
UUID v7 correlation ID shared with the X-Request-Id response header.
Example
{ "error": { "code": "already_exists" }}