Runloop Devbox-NetworkTools API

The Devbox-NetworkTools API from Runloop — 4 operation(s) for devbox-networktools.

Operations 4

POST /v1/devboxes/{id}/create_pty_tunnel Create an ephemeral PTY tunnel for a running Devbox. #
POST /v1/devboxes/{id}/create_ssh_key Create an SSH key for a Devbox #
POST /v1/devboxes/{id}/enable_tunnel Enable a tunnel for a running Devbox. #
POST /v1/devboxes/{id}/remove_tunnel Remove a tunnel from the Devbox. #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-devbox-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-execution-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-snapshot-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-tunnel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-launch-parameters-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-structure/runloop-devbox-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-blueprint-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-scenario-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-axon-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-secret-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-network-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-gateway-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-mcp-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-api-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-restricted-key-schema.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/runloop-ai-devbox-networktools-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

runloop-ai-devbox-networktools-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Runloop agents Devbox Network Tools API
  version: '0.1'
  description: Register, version, and mount Agents — packaged agent definitions sourced from Git, npm, pip, or storage objects that can be installed on Devboxes for fast, reproducible agent execution.
  contact:
    name: Runloop AI Support
    url: https://runloop.ai
    email: support@runloop.ai
servers:
- url: https://api.runloop.ai
  description: Runloop API
  variables: {}
security:
- bearerAuth: []
tags:
- name: Devbox-NetworkTools
paths:
  /v1/devboxes/{id}/create_pty_tunnel:
    post:
      tags:
      - Devbox-NetworkTools
      summary: Create an ephemeral PTY tunnel for a running Devbox.
      description: Create an ephemeral authenticated tunnel for terminal access to a running Devbox. This tunnel is not persisted on the Devbox and is generated fresh on each request. The returned auth_token must be passed as a Bearer token in the Authorization header.
      operationId: createDevboxPtyTunnel
      parameters:
      - name: id
        in: path
        description: The Devbox ID.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PtyTunnelView'
        '400':
          description: Devbox is not currently running.
        '404':
          description: Devbox not found.
      deprecated: false
  /v1/devboxes/{id}/create_ssh_key:
    post:
      tags:
      - Devbox-NetworkTools
      summary: Create an SSH key for a Devbox
      description: Create an SSH key for a Devbox to enable remote access.
      operationId: createDevboxSshKey
      parameters:
      - name: id
        in: path
        description: The Devbox ID.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevboxCreateSshKeyView'
        '404':
          description: Devbox not found.
      deprecated: false
  /v1/devboxes/{id}/enable_tunnel:
    post:
      tags:
      - Devbox-NetworkTools
      summary: Enable a tunnel for a running Devbox.
      description: 'Enable a V2 tunnel for an existing running Devbox. Tunnels provide encrypted URL-based access to the Devbox without exposing internal IDs. The tunnel URL format is: https://{port}-{tunnel_key}.tunnel.runloop.ai


        Each Devbox can have one tunnel.'
      operationId: enableDevboxTunnel
      parameters:
      - name: id
        in: path
        description: The Devbox ID.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TunnelConfig'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TunnelView'
        '400':
          description: Devbox is not running or already has a tunnel configured.
        '404':
          description: Devbox not found.
      deprecated: false
  /v1/devboxes/{id}/remove_tunnel:
    post:
      tags:
      - Devbox-NetworkTools
      summary: Remove a tunnel from the Devbox.
      description: Remove an existing V2 tunnel from the Devbox.
      operationId: removeDevboxTunnel
      parameters:
      - name: id
        in: path
        description: The Devbox ID.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyRecord'
        '404':
          description: Devbox not found.
      deprecated: false
components:
  schemas:
    TunnelAuthMode:
      type: string
      enum:
      - open
      - authenticated
    PtyTunnelView:
      type: object
      additionalProperties: false
      description: 'An ephemeral PTY tunnel providing authenticated terminal access to a Devbox. These tunnels are not stored on the Devbox and are generated fresh on each request. Usage: https://{port}-{tunnel_key}.tunnel.runloop.ai with Authorization: Bearer {auth_token}'
      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_token:
          type: string
          description: Bearer token for tunnel authentication. Always required for PTY tunnels.
      required:
      - tunnel_key
      - auth_token
    DevboxCreateSshKeyView:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          description: The ID of the Devbox.
        url:
          type: string
          description: The host url of the Devbox that can be used for SSH.
        ssh_private_key:
          type: string
          description: The ssh private key, in PEM format.
        ssh_user:
          type: string
          description: The Linux user to use for SSH connections to this Devbox.
      required:
      - id
      - url
      - ssh_private_key
      - ssh_user
    TunnelView:
      type: object
      additionalProperties: false
      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.

        Usage: https://{port}-{tunnel_key}.tunnel.runloop.ai'
      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: '#/components/schemas/TunnelAuthModeView'
          description: The authentication mode for the tunnel.
        auth_token:
          type:
          - string
          - 'null'
          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
    EmptyRecord:
      type: object
      additionalProperties: false
      properties: {}
    TunnelConfig:
      type: object
      additionalProperties: false
      description: Configuration for creating a V2 tunnel. When specified at Devbox creation, a tunnel will be automatically provisioned.
      properties:
        auth_mode:
          $ref: '#/components/schemas/TunnelAuthMode'
          description: Authentication mode for the tunnel. Defaults to 'public' if not specified.
        http_keep_alive:
          type:
          - boolean
          - 'null'
          description: When true, HTTP traffic through the tunnel counts as activity for idle lifecycle policies, resetting the idle timer. Defaults to true if not specified.
        wake_on_http:
          type:
          - boolean
          - 'null'
          description: When true, HTTP traffic to a suspended devbox will automatically trigger a resume. Defaults to false if not specified. Prefer lifecycle.resume_triggers.http on launch_parameters for new integrations. If both are set, lifecycle.resume_triggers.http takes precedence.
    TunnelAuthModeView:
      type: string
      enum:
      - open
      - authenticated
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http