Gitpod gitpod.v1.RunnerInteractionService API

RunnerInteractionService provides a way for the backend to interact with environment runners.

OpenAPI Specification

gitpod-gitpod-v1-runnerinteractionservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.RunnerInteractionService API
  version: v1.0.0
  description: RunnerInteractionService provides a way for the backend to interact with environment runners.
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- description: RunnerInteractionService provides a way for the backend to interact with environment runners.
  name: gitpod.v1.RunnerInteractionService
  x-displayName: gitpod.v1.RunnerInteractionService
paths:
  /gitpod.v1.RunnerInteractionService/GetHostAuthenticationTokenValue:
    servers: []
    post:
      description: "Retrieves authentication token for accessing remote hosts.\n\n Use this method to:\n - Get host credentials\n - Access SCM tokens\n - Verify authentication\n\n ### Examples\n\n - Get token:\n\n   Retrieves authentication token for a host.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   principalId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   host: \"github.com\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.GetHostAuthenticationTokenValue
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_token:
                description: Retrieves authentication token for a host.
                value:
                  host: github.com
                  principalId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetHostAuthenticationTokenValueRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetHostAuthenticationTokenValueResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetHostAuthenticationTokenValue
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetLatestVersion:
    servers: []
    post:
      description: "Gets the latest version information for a runner.\n\n Use this method to:\n - Check for updates\n - Get version details\n - Verify compatibility\n\n ### Examples\n\n - Get version:\n\n   Retrieves latest version info.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   currentVersion: \"1.2.3\"\n   infrastructureVersion: \"4.5.6\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.GetLatestVersion
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_version:
                description: Retrieves latest version info.
                value:
                  currentVersion: 1.2.3
                  infrastructureVersion: 4.5.6
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetLatestVersionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetLatestVersionResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetLatestVersion
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetManagedRunner:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.GetManagedRunner
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetManagedRunnerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetManagedRunnerResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetManagedRunner
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerAgentExecution:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerAgentExecution
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerAgentExecutionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerAgentExecutionResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerAgentExecution
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerConfiguration:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerConfiguration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerConfigurationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerConfigurationResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerConfiguration
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerEnvironment:
    servers: []
    post:
      description: "Retrieves environment details for a specific runner.\n\n Use this method to:\n - Get environment configuration\n - Check environment status\n - Verify environment ownership\n\n ### Examples\n\n - Get environment:\n\n   Retrieves environment details.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerEnvironment
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_environment:
                description: Retrieves environment details.
                value:
                  environmentId: 07e03a28-65a5-4d98-b532-8ea67b188048
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerEnvironmentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerEnvironmentResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerEnvironment
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerEnvironmentSnapshot:
    servers: []
    post:
      description: "Gets details about a specific snapshot including its status, size, and metadata.\n\n Use this method to:\n - Check if a snapshot is ready for use\n - Monitor snapshot creation progress\n - Get snapshot size and creation details\n - Retrieve provider-specific snapshot information"
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerEnvironmentSnapshot
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerEnvironmentSnapshotRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerEnvironmentSnapshotResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerEnvironmentSnapshot
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerLLMIntegration:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerLLMIntegration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerLLMIntegrationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerLLMIntegrationResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerLLMIntegration
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/GetRunnerWarmPool:
    servers: []
    post:
      description: "Gets details about a specific warm pool assigned to this runner.\n\n Use this method to read the full warm pool spec after receiving\n an EventWarmPoolSpecChange event."
      operationId: gitpod.v1.RunnerInteractionService.GetRunnerWarmPool
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerWarmPoolRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerWarmPoolResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunnerWarmPool
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListManagedRunners:
    servers: []
    post:
      description: Lists all runners managed by this runner manager.
      operationId: gitpod.v1.RunnerInteractionService.ListManagedRunners
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListManagedRunnersRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListManagedRunnersResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListManagedRunners
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerAgentExecutions:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerAgentExecutions
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerAgentExecutionsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerAgentExecutionsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerAgentExecutions
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerEnvironmentClasses:
    servers: []
    post:
      description: "Lists environment classes configured for a runner.\n\n Use this method to:\n - View available classes\n - Check class configurations\n - Monitor class status\n\n ### Examples\n\n - List classes:\n\n   Shows environment classes for a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerEnvironmentClasses
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_classes:
                description: Shows environment classes for a runner.
                value:
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentClassesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentClassesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerEnvironmentClasses
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerEnvironmentSnapshots:
    servers: []
    post:
      description: "Lists all snapshots matching the specified criteria.\n\n Use this method to find and monitor snapshots across your organization.\n Results are ordered by creation time with newest snapshots first."
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerEnvironmentSnapshots
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentSnapshotsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentSnapshotsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerEnvironmentSnapshots
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerEnvironments:
    servers: []
    post:
      description: "Lists all environments managed by a runner.\n\n Use this method to:\n - View assigned environments\n - Monitor environment status\n - Check environment assignments\n\n ### Examples\n\n - List environments:\n\n   Shows all environments for a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   pagination:\n     pageSize: 20\n   ```\n\n - List specific environments:\n\n   Shows details for specific environment IDs.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   environmentIds: [\"07e03a28-65a5-4d98-b532-8ea67b188048\"]\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerEnvironments
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_environments:
                description: Shows all environments for a runner.
                value:
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
              list_specific_environments:
                description: Shows details for specific environment IDs.
                value:
                  environmentIds:
                  - 07e03a28-65a5-4d98-b532-8ea67b188048
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerEnvironmentsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerEnvironments
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerIntegrations:
    servers: []
    post:
      description: "Lists integrations configured for a runner.\n\n Use this method to:\n - View available integrations\n - Check integration configurations\n - Monitor integration status\n\n ### Examples\n\n - List integrations:\n\n   Shows integrations for a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerIntegrations
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_integrations:
                description: Shows integrations for a runner.
                value:
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerIntegrationsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerIntegrationsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerIntegrations
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerLLMIntegrations:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerLLMIntegrations
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerLLMIntegrationsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerLLMIntegrationsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerLLMIntegrations
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerSCMIntegrations:
    servers: []
    post:
      description: "Lists SCM integrations configured for a runner.\n\n Use this method to:\n - View SCM configurations\n - Check integration status\n - Monitor available SCMs\n\n ### Examples\n\n - List integrations:\n\n   Shows SCM integrations for a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerSCMIntegrations
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_integrations:
                description: Shows SCM integrations for a runner.
                value:
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerSCMIntegrationsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerSCMIntegrationsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerSCMIntegrations
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ListRunnerWarmPools:
    servers: []
    post:
      description: "Lists all warm pools assigned to this runner.\n\n Use this method on startup to discover all warm pools the runner\n should be managing."
      operationId: gitpod.v1.RunnerInteractionService.ListRunnerWarmPools
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerWarmPoolsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerWarmPoolsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerWarmPools
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/MarkRunnerActive:
    servers: []
    post:
      description: "Maintains the active status of a runner through periodic heartbeat signals. The runner must\n call this method every 30 seconds to indicate it's healthy and ready to accept workloads.\n\n Use this method to:\n - Keep runners marked as available in the system\n - Maintain health check status\n - Prevent automatic deregistration\n - Signal readiness for new workloads\n\n ### Examples\n\n - Send heartbeat:\n\n   Marks a runner as active and healthy.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.MarkRunnerActive
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              send_heartbeat:
                description: Marks a runner as active and healthy.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.MarkRunnerActiveRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.MarkRunnerActiveResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: MarkRunnerActive
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ReportLLMUsage:
    servers: []
    post:
      operationId: gitpod.v1.RunnerInteractionService.ReportLLMUsage
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportLLMUsageRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportLLMUsageResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportLLMUsage
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/ReportRunnerMetrics:
    servers: []
    post:
      description: "Reports runner operational metrics to the management plane for forwarding\n to Grafana Cloud. The runner gathers metrics from its local Prometheus\n registry, encodes them as a Prometheus WriteRequest protobuf, and\n Snappy-compresses the payload."
      operationId: gitpod.v1.RunnerInteractionService.ReportRunnerMetrics
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportRunnerMetricsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportRunnerMetricsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportRunnerMetrics
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/SendResponse:
    servers: []
    post:
      description: "Sends a response to a previously received request.\n\n Use this method to:\n - Respond to requests\n - Report operation results\n - Handle errors\n\n ### Examples\n\n - Send response:\n\n   Responds to a request.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   requestId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   callParseContext:\n     resp:\n       originalContextUrl: \"https://github.com/org/repo\"\n       git:\n         host: \"github.com\"\n         owner: \"org\"\n         repo: \"repo\"\n         branch: \"main\"\n         cloneUrl: \"https://github.com/org/repo.git\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.SendResponse
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              send_response:
                description: Responds to a request.
                value:
                  callParseContext:
                    resp:
                      git:
                        branch: main
                        cloneUrl: https://github.com/org/repo.git
                        host: github.com
                        owner: org
                        repo: repo
                      originalContextUrl: https://github.com/org/repo
                  requestId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.SendResponseRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.SendResponseResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: SendResponse
      tags:
      - gitpod.v1.RunnerInteractionService
  /gitpod.v1.RunnerInteractionService/Signup:
    servers: []
    post:
      description: "Establishes initial connection between a runner and the Gitpod backend. This is the first\n call a runner makes to register itself and establish its identity.\n\n Use this method to:\n - Register new runners with the platform\n - Exchange cryptographic keys for secure communication\n - Declare supported environment classes and capabilities\n - Initialize runner configuration\n\n ### Examples\n\n - Register runner:\n\n   Registers a new runner with its public key and supported environment classes.\n\n   ```yaml\n   publicKey: \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"  # 32 bytes of zeros, base64 encoded\n   environmentClasses:\n     - id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n       runnerId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n       displayName: \"Large Instance\"\n       description: \"8 CPU, 16GB RAM\"\n       enabled: true\n       configuration:\n         - key: \"cpu\"\n           value: \"8\"\n         - key: \"memory\"\n           value: \"16384\"\n   ```"
      operationId: gitpod.v1.RunnerInteractionService.Signup
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              register_runner:
                description: Registers a new runner with its public key and supported environment classes.
                value:
                  environmentClasses:
                  - configuration:
                    - key: cpu
                      value: '8'
                    - key: memory
                      value: '16384'
                    description: 8 CPU, 16GB RAM
                    displayName: Large Instance
                    en

# --- truncated at 32 KB (275 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitpod/refs/heads/main/openapi/gitpod-gitpod-v1-runnerinteractionservice-api-openapi.yml