Runloop · Schema

Runloop Tunnel

A V2 tunnel provides secure HTTP access to services running on a Devbox. Tunnels allow external clients to reach web servers, APIs, or other HTTP services running inside a Devbox without requiring direct network access. Each tunnel is uniquely identified by an encrypted tunnel_key and can be configured for either open (public) or authenticated access. Usage: https://{port}-{tunnel_key}.tunnel.runloop.ai

AIAI AgentsCoding AgentsSandboxesDevboxesCode ExecutionEvaluationBenchmarksSWE-BenchMCPSnapshotsmicroVMEnterpriseSOC 2

Properties

Name Type Description
tunnel_key string The encrypted tunnel key used to construct the tunnel URL. URL format: https://{port}-{tunnel_key}.tunnel.runloop.{domain}
auth_mode object The authentication mode for the tunnel.
auth_token string Bearer token for tunnel authentication. Only present when auth_mode is 'authenticated'.
create_time_ms integer Creation time of the tunnel (Unix timestamp milliseconds).
http_keep_alive boolean When true, HTTP traffic through the tunnel counts as activity for idle lifecycle policies, resetting the idle timer.
wake_on_http boolean When true, HTTP traffic to a suspended devbox will automatically trigger a resume.
View JSON Schema on GitHub

JSON Schema

runloop-tunnel-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/runloop-ai/main/json-schema/runloop-tunnel-schema.json",
  "title": "Runloop Tunnel",
  "description": "A V2 tunnel provides secure HTTP access to services running on a Devbox. Tunnels allow external clients to reach web servers, APIs, or other HTTP services running inside a Devbox without requiring direct network access. Each tunnel is uniquely identified by an encrypted tunnel_key and can be configured for either open (public) or authenticated access.\nUsage: https://{port}-{tunnel_key}.tunnel.runloop.ai",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "tunnel_key": {
      "type": "string",
      "description": "The encrypted tunnel key used to construct the tunnel URL. URL format: https://{port}-{tunnel_key}.tunnel.runloop.{domain}"
    },
    "auth_mode": {
      "$ref": "#/$defs/TunnelAuthModeView",
      "description": "The authentication mode for the tunnel."
    },
    "auth_token": {
      "type": "string",
      "nullable": true,
      "description": "Bearer token for tunnel authentication. Only present when auth_mode is 'authenticated'."
    },
    "create_time_ms": {
      "type": "integer",
      "format": "int64",
      "description": "Creation time of the tunnel (Unix timestamp milliseconds)."
    },
    "http_keep_alive": {
      "type": "boolean",
      "description": "When true, HTTP traffic through the tunnel counts as activity for idle lifecycle policies, resetting the idle timer."
    },
    "wake_on_http": {
      "type": "boolean",
      "description": "When true, HTTP traffic to a suspended devbox will automatically trigger a resume."
    }
  },
  "required": [
    "tunnel_key",
    "auth_mode",
    "create_time_ms",
    "http_keep_alive",
    "wake_on_http"
  ],
  "$defs": {
    "TunnelAuthModeView": {
      "type": "string",
      "enum": [
        "open",
        "authenticated"
      ]
    }
  }
}