Prime Intellect Sandbox API

Secure remote code-execution sandboxes for AI agents. Create and manage Python-3.11-slim-based sandboxes, expose ports for HTTP services running inside the sandbox, open SSH sessions, pull rich error context for failures, and provision reverse tunnels back into a sandbox from an external network. Available as a lightweight `prime-sandboxes` Python package (~50KB) in addition to the full `prime` CLI/SDK.

OpenAPI Specification

prime-intellect-sandbox-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prime Intellect Compute admin-clusters Sandbox API
  version: 0.1.0
  description: 'GPU compute marketplace and pod orchestration: availability across providers, on-demand and multi-node GPU pod lifecycle, persistent network-attached disks, and SSH key management. Supports H100, H200, B200, B300, and other GPU families with 1-256 GPU configurations.'
  contact:
    name: Prime Intellect
    url: https://www.primeintellect.ai
servers:
- url: https://api.primeintellect.ai
security:
- HTTPBearer: []
tags:
- name: Sandbox
paths:
  /api/v1/sandbox:
    post:
      tags:
      - Sandbox
      summary: Create Sandbox Endpoint
      description: Create a new code sandbox
      operationId: create_sandbox_endpoint_api_v1_sandbox_post
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSandboxRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          500 requests per 60 seconds per IP and token.'
    get:
      tags:
      - Sandbox
      summary: List Sandboxes
      description: List sandboxes for user or team
      operationId: list_sandboxes_api_v1_sandbox_get
      security:
      - HTTPBearer: []
      parameters:
      - name: team_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by team ID
          title: Team Id
        description: Filter by team ID
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by user ID. When set to another user's ID, the caller must be a team admin of the provided team_id.
          title: User Id
        description: Filter by user ID. When set to another user's ID, the caller must be a team admin of the provided team_id.
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SandboxStatus'
          - type: 'null'
          description: Filter by status
          title: Status
        description: Filter by status
      - name: is_active
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter to exclude terminated sandboxes when True
          title: Is Active
        description: Filter to exclude terminated sandboxes when True
      - name: labels
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by labels (sandboxes must have ALL specified labels)
          title: Labels
        description: Filter by labels (sandboxes must have ALL specified labels)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number
          default: 1
          title: Page
        description: Page number
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Items per page
          default: 50
          title: Per Page
        description: Items per page
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxListResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          1000 requests per 60 seconds per IP and token.'
    delete:
      tags:
      - Sandbox
      summary: Bulk Delete Sandboxes Endpoint
      description: Bulk delete multiple sandboxes by IDs or labels
      operationId: bulk_delete_sandboxes_endpoint_api_v1_sandbox_delete
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteSandboxRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDeleteSandboxResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          50 requests per 60 seconds per IP and token.'
  /api/v1/sandbox/expose/all:
    get:
      tags:
      - Sandbox
      summary: List All Exposed Ports Endpoint
      description: List all exposed ports across all sandboxes for the current user
      operationId: list_all_exposed_ports_endpoint_api_v1_sandbox_expose_all_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExposedPortsResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
      x-mint:
        content: '## Rate Limit


          60 requests per 60 seconds per IP and token.'
  /api/v1/sandbox/{sandbox_id}:
    get:
      tags:
      - Sandbox
      summary: Get Sandbox Endpoint
      description: Get a specific sandbox by ID
      operationId: get_sandbox_endpoint_api_v1_sandbox__sandbox_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          300 requests per 60 seconds per IP and token per sandbox.'
    delete:
      tags:
      - Sandbox
      summary: Delete Sandbox Endpoint
      description: Delete a sandbox
      operationId: delete_sandbox_endpoint_api_v1_sandbox__sandbox_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSandboxResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          500 requests per 60 seconds per IP and token.'
  /api/v1/sandbox/{sandbox_id}/auth:
    post:
      tags:
      - Sandbox
      summary: Get Sandbox Auth Token
      description: Get a token for direct sandbox access.
      operationId: get_sandbox_auth_token_api_v1_sandbox__sandbox_id__auth_post
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxAuthResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          120 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/error-context:
    get:
      tags:
      - Sandbox
      summary: Get Sandbox Error Context Endpoint
      description: Get error context for a sandbox (optimized for SDK error handling flows)
      operationId: get_sandbox_error_context_endpoint_api_v1_sandbox__sandbox_id__error_context_get
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxErrorContextResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          600 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/expose:
    post:
      tags:
      - Sandbox
      summary: Expose Port Endpoint
      description: Expose a port from a sandbox
      operationId: expose_port_endpoint_api_v1_sandbox__sandbox_id__expose_post
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExposePortRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExposePortResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          20 requests per 60 seconds per IP and token per sandbox.'
    get:
      tags:
      - Sandbox
      summary: List Exposed Ports Endpoint
      description: List all exposed ports for a sandbox
      operationId: list_exposed_ports_endpoint_api_v1_sandbox__sandbox_id__expose_get
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExposedPortsResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          60 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/expose/{exposure_id}:
    delete:
      tags:
      - Sandbox
      summary: Unexpose Port Endpoint
      description: Unexpose a previously exposed port
      operationId: unexpose_port_endpoint_api_v1_sandbox__sandbox_id__expose__exposure_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      - name: exposure_id
        in: path
        required: true
        schema:
          type: string
          title: Exposure Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnexposePortResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          20 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/logs:
    get:
      tags:
      - Sandbox
      summary: Get Sandbox Logs Endpoint
      description: Get sandbox logs
      operationId: get_sandbox_logs_endpoint_api_v1_sandbox__sandbox_id__logs_get
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxLogsResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          300 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/ssh-session:
    post:
      tags:
      - Sandbox
      summary: Create Ssh Session Endpoint
      description: Create an SSH session using the SSH sidecar (no sshd required in the sandbox image).
      operationId: create_ssh_session_endpoint_api_v1_sandbox__sandbox_id__ssh_session_post
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSSHSessionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHSessionResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          20 requests per 60 seconds per IP and token per sandbox.'
  /api/v1/sandbox/{sandbox_id}/ssh-session/{session_id}:
    delete:
      tags:
      - Sandbox
      summary: Close Ssh Session Endpoint
      description: Close an SSH session (removes the TCP exposure).
      operationId: close_ssh_session_endpoint_api_v1_sandbox__sandbox_id__ssh_session__session_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: sandbox_id
        in: path
        required: true
        schema:
          type: string
          title: Sandbox Id
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnexposePortResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          20 requests per 60 seconds per IP and token per sandbox.'
components:
  schemas:
    SandboxStatus:
      type: string
      enum:
      - PENDING
      - PROVISIONING
      - RUNNING
      - PAUSED
      - ERROR
      - TERMINATED
      title: SandboxStatus
    BulkDeleteSandboxRequest:
      properties:
        sandbox_ids:
          anyOf:
          - items:
              type: string
            type: array
            maxItems: 500
            minItems: 1
          - type: 'null'
          title: Sandbox Ids
          description: List of sandbox IDs to delete
        labels:
          anyOf:
          - items:
              type: string
            type: array
            maxItems: 50
            minItems: 1
          - type: 'null'
          title: Labels
          description: List of labels - delete all sandboxes with ALL these labels
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
          description: Scope deletion to sandboxes in this team. Required when all_users is true or when targeting another user's sandboxes.
        user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: User Id
          description: Scope deletion to sandboxes owned by this user. Defaults to the authenticated caller unless all_users is true. Targeting another user's ID requires team admin role on team_id.
        all_users:
          type: boolean
          title: All Users
          description: Delete sandboxes across all users in the given team_id. Requires team admin role on team_id.
          default: false
      type: object
      title: BulkDeleteSandboxRequest
    ExposedPortInfo:
      properties:
        exposure_id:
          type: string
          title: Exposure Id
        sandbox_id:
          type: string
          title: Sandbox Id
        port:
          type: integer
          title: Port
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        protocol:
          anyOf:
          - type: string
          - type: 'null'
          title: Protocol
        url:
          type: string
          title: Url
        tls_socket:
          type: string
          title: Tls Socket
        external_port:
          anyOf:
          - type: integer
          - type: 'null'
          title: External Port
          description: External port for TCP/UDP exposures (not applicable for HTTP)
        external_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          title: External Endpoint
          description: External endpoint (host:port) for TCP/UDP exposures (not applicable for HTTP)
        created_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Created At
          description: Creation timestamp (ISO format)
      type: object
      required:
      - exposure_id
      - sandbox_id
      - port
      - name
      - url
      - tls_socket
      title: ExposedPortInfo
    CreateSSHSessionRequest:
      properties:
        ttl_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ttl Seconds
          description: Optional TTL for the SSH session in seconds (max 3600). Defaults to 900.
      type: object
      title: CreateSSHSessionRequest
    GPUType:
      type: string
      enum:
      - CPU_NODE
      - A10_24GB
      - A100_80GB
      - A100_40GB
      - A30_24GB
      - A40_48GB
      - B200_180GB
      - B300_262GB
      - GB200
      - GB300
      - RTX3070_8GB
      - RTX3070_8GB
      - RTX3080_10GB
      - RTX3080Ti_12GB
      - RTX3090_24GB
      - RTX3090Ti_24GB
      - RTX4070Ti_12GB
      - RTX4080_16GB
      - RTX4080Ti_16GB
      - RTX4090_24GB
      - RTX5090_32GB
      - H100_80GB
      - H200_96GB
      - GH200_96GB
      - H200_141GB
      - GH200_480GB
      - GH200_624GB
      - L4_24GB
      - L40_48GB
      - L40S_48GB
      - RTX4000_8GB
      - RTX5000_16GB
      - RTX6000_24GB
      - RTX8000_48GB
      - RTX2000Ada_16GB
      - RTX4000Ada_20GB
      - RTX5000Ada_32GB
      - RTX6000Ada_48GB
      - A2000_6GB
      - A4000_16GB
      - A4500_20GB
      - A5000_24GB
      - A6000_48GB
      - V100_16GB
      - V100_32GB
      - P100_16GB
      - T4_16GB
      - P4_8GB
      - P40_24GB
      - RTX_PRO_6000B_96GB
      title: GPUType
    ErrorDetail:
      properties:
        param:
          type: string
          title: Param
        details:
          type: string
          title: Details
      type: object
      required:
      - param
      - details
      title: ErrorDetail
    BulkDeleteSandboxResponse:
      properties:
        succeeded:
          items:
            type: string
          type: array
          title: Succeeded
          description: List of successfully deleted sandbox IDs
        failed:
          items:
            additionalProperties:
              type: string
            type: object
          type: array
          title: Failed
          description: List of failed deletions with error messages
        message:
          type: string
          title: Message
      type: object
      required:
      - message
      title: BulkDeleteSandboxResponse
    ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Errors
      type: object
      required:
      - errors
      title: ErrorResponse
    ExposePortResponse:
      properties:
        exposure_id:
          type: string
          title: Exposure Id
        sandbox_id:
          type: string
          title: Sandbox Id
        port:
          type: integer
          title: Port
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        protocol:
          type: string
          title: Protocol
        url:
          type: string
          title: Url
          description: Public URL for accessing the exposed port
        tls_socket:
          type: string
          title: Tls Socket
        external_port:
          anyOf:
          - type: integer
          - type: 'null'
          title: External Port
          description: External port for TCP exposures (not applicable for HTTP)
        external_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          title: External Endpoint
          description: External endpoint (host:port) for TCP/UDP exposures (not applicable for HTTP)
      type: object
      required:
      - exposure_id
      - sandbox_id
      - port
      - protocol
      - url
      - tls_socket
      title: ExposePortResponse
    SandboxAuthResponse:
      properties:
        token:
          type: string
          title: Token
          description: JWT token for direct sandbox access
        gateway_url:
          type: string
          title: Gateway Url
          description: Gateway URL for direct sandbox operations
        user_ns:
          type: string
          title: User Ns
          description: User namespace for sandbox access
        job_id:
          type: string
          title: Job Id
          description: Job ID for sandbox access
        expires_at:
          type: string
          format: date-time
          title: Expires At
          description: Token expiration time
      type: object
      required:
      - token
      - gateway_url
      - user_ns
      - job_id
      - expires_at
      title: SandboxAuthResponse
    ExposePortRequest:
      properties:
        port:
          type: integer
          maximum: 9000.0
          minimum: 22.0
          title: Port
          description: Port number to expose (22-9000)
        name:
          anyOf:
          - type: string
            maxLength: 50
          - type: 'null'
          title: Name
          description: Optional human-readable name for the exposure
        protocol:
          type: string
          title: Protocol
          description: Protocol (HTTP or TCP)
          default: HTTP
      type: object
      required:
      - port
      title: ExposePortRequest
    CreateSandboxRequest:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
          description: Sandbox name
        docker_image:
          type: string
          minLength: 1
          title: Docker Image
          description: Docker image to run
        start_command:
          anyOf:
          - type: string
          - type: 'null'
          title: Start Command
          description: Command to run in container
        cpu_cores:
          type: number
          maximum: 16.0
          minimum: 0.1
          title: Cpu Cores
          description: CPU cores required
          default: 1.0
        memory_gb:
          type: number
          maximum: 64.0
          minimum: 0.1
          title: Memory Gb
          description: Memory in GB
          default: 2.0
        disk_size_gb:
          type: number
          maximum: 1000.0
          minimum: 0.1
          title: Disk Size Gb
          description: Disk size in GB
          default: 10.0
        gpu_count:
          type: integer
          maximum: 8.0
          minimum: 0.0
          title: Gpu Count
          description: Number of GPUs
          default: 0
        gpu_type:
          anyOf:
          - $ref: '#/components/schemas/GPUType'
          - type: 'null'
          description: GPU type (e.g. H100, A100). Required when gpu_count > 0
        vm:
          type: boolean
          title: Vm
          description: Create a VM sandbox on the VM sandbox infra. Required when requesting GPUs.
          default: false
        network_access:
          type: boolean
          title: Network Access
          description: Allow outbound internet access (enabled by default)
          default: true
        timeout_minutes:
          type: integer
          maximum: 1440.0
          minimum: 1.0
          title: Timeout Minutes
          description: Max execution time in minutes
          default: 60
        environment_vars:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Environment Vars
          description: Environment variables
        secrets:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Secrets
          description: Sensitive environment variables. Currently supported for CPU sandboxes only; VM sandboxes reject this field.
        labels:
          items:
            type: string
          type: array
          title: Labels
          description: Tags/labels for the sandbox
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
          description: Team ID for team sandboxes
        advanced_configs:
          anyOf:
          - $ref: '#/components/schemas/AdvancedConfigs'
          - type: 'null'
          description: Advanced configuration options
        registry_credentials_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Registry Credentials Id
          description: Registry credentials ID for pulling private images
        region:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
          description: Cluster region for the sandbox (e.g. us, india). Omit to allow automatic placement.
        guaranteed:
          type: boolean
          title: Guaranteed
          description: Admin/manager only. When true, schedule the sandbox with CPU/memory requests equal to its limits (Guaranteed QoS), bypassing the default oversubscription multiplier. Not applicable to VM sandboxes.
          default: false
        idempotency_key:
          anyOf:
          - type: string
            maxLength: 128
            minLength: 1
          - type: 'null'
          title: Idempotency Key
          description: Client-generated key used to deduplicate retried create requests.
      type: object
      required:
      - name
      - docker_image
      title: CreateSandboxRequest
    SSHSessionResponse:
      properties:
        session_id:
          type: string
          title: Session Id
        exposure_id:
          type: string
          title: Exposure Id
        sandbox_id:
          type: string
          title: Sandbox Id
        host:
          type: string
          title: Host
        port:
          type: integer
          title: Port
        external_endpoint:
          type: string
          title: External Endpoint
        expires_at:
          type: string
          format: date-time
          title: Expires At
        ttl_seconds:
          type: integer
          title: Ttl Seconds
        gateway_url:
          type: string
          title: Gateway Url
        user_ns:
          type: string
          title: User Ns
        job_id:
          type: string
          title: Job Id
        token:
          type: string
          title: Token
      type: object
      required:
      - session_id
      - exposure_id
      - sandbox_id
      - host
      - port
      - external_endpoint
      - expires_at
      - ttl_seconds
      - gateway_url
      - user_ns
      - job_id
      - token
      title: SSHSessionResponse
    DeleteSandboxResponse:
      properties:
        success:
          type: boolean
          title: Success
        message:
          type: string
          title: Message
      type: object
      required:
      - success
      - message
      title: DeleteSandboxResponse
    SandboxLogsResponse:
      properties:
        logs:
          type: string
          title: Logs
      type: object
      required:
      - logs
      title: SandboxLogsResponse
    SandboxListResponse:
      properties:
        sandboxes:
          items:
            $ref: '#/components/schemas/SandboxResponse'
          type: array
          title: Sandboxes
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        per_page:
          type: integer
          title: Per Page
        has_next:
          type: boolean
          title: Has Next
      type: object
      required:
      - sandboxes
      - total
      - page
      - per_page
      - has_next
      title: SandboxListResponse
    SandboxResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        dockerImage:
          type: string
          title: Dockerimage
        startCommand:
          anyOf:
          - type: string
          - type: 'null'
          title: Startcommand
        cpuCores:
          type: number
          title: Cpucores
        memoryGB:
          type: number
          title: Memorygb
        diskSizeGB:
          type: number
          title: Disksizegb
        diskMountPath:
          type: string
          title: Diskmountpath
        gpuCount:
          type: integer
          title: Gpucount
        gpuType:
          anyOf:
          - $ref: '#/components/schemas/GPUType'
          - type: 'null'
        vm:
          type: boolean
          title: Vm
          default: false
        networkAccess:
          type: boolean
          title: Networkaccess
        status:
          $ref: '#/components/schemas/SandboxStatus'
        timeoutMinutes:
          type: integer
  

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/prime-intellect/refs/heads/main/openapi/prime-intellect-sandbox-api-openapi.yml