Gitpod gitpod.v1.RunnerService API

The gitpod.v1.RunnerService API from Gitpod — 16 operation(s) for gitpod.v1.runnerservice.

Operations 16

POST /gitpod.v1.RunnerService/CheckAuthenticationForHost CheckAuthenticationForHost #
POST /gitpod.v1.RunnerService/CheckRepositoryAccess CheckRepositoryAccess #
POST /gitpod.v1.RunnerService/CreateRunner CreateRunner #
POST /gitpod.v1.RunnerService/CreateRunnerLogsToken CreateRunnerLogsToken #
POST /gitpod.v1.RunnerService/CreateRunnerPolicy CreateRunnerPolicy #
POST /gitpod.v1.RunnerService/CreateRunnerToken CreateRunnerToken #
POST /gitpod.v1.RunnerService/DeleteRunner DeleteRunner #
POST /gitpod.v1.RunnerService/DeleteRunnerPolicy DeleteRunnerPolicy #
POST /gitpod.v1.RunnerService/GetRunner GetRunner #
POST /gitpod.v1.RunnerService/ListRunnerPolicies ListRunnerPolicies #
POST /gitpod.v1.RunnerService/ListRunners ListRunners #
POST /gitpod.v1.RunnerService/ListSCMOrganizations ListSCMOrganizations #
POST /gitpod.v1.RunnerService/ParseContextURL ParseContextURL #
POST /gitpod.v1.RunnerService/SearchRepositories SearchRepositories #
POST /gitpod.v1.RunnerService/UpdateRunner UpdateRunner #
POST /gitpod.v1.RunnerService/UpdateRunnerPolicy UpdateRunnerPolicy #

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/gitpod-gitpod-v1-runnerservice-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

gitpod-gitpod-v1-runnerservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.Runner Service API
  version: v1.0.0
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- name: gitpod.v1.RunnerService
  x-displayName: gitpod.v1.RunnerService
paths:
  /gitpod.v1.RunnerService/CheckAuthenticationForHost:
    servers: []
    post:
      description: "Checks if a user is authenticated for a specific host.\n\n Use this method to:\n - Verify authentication status\n - Get authentication URLs\n - Check PAT support\n\n ### Examples\n\n - Check authentication:\n\n   Verifies authentication for a host.\n\n   ```yaml\n   host: \"github.com\"\n   ```"
      operationId: gitpod.v1.RunnerService.CheckAuthenticationForHost
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              check_authentication:
                description: Verifies authentication for a host.
                value:
                  host: github.com
            schema:
              $ref: '#/components/schemas/gitpod.v1.CheckAuthenticationForHostRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CheckAuthenticationForHostResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CheckAuthenticationForHost
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/CheckRepositoryAccess:
    servers: []
    post:
      description: "Checks if a principal has read access to a repository.\n\n Use this method to:\n - Validate repository access before workflow execution\n - Verify executor credentials for automation bindings\n\n Returns:\n - has_access: true if the principal can read the repository\n - FAILED_PRECONDITION if authentication is required\n - INVALID_ARGUMENT if the repository URL is invalid\n\n ### Examples\n\n - Check access:\n\n   Verifies read access to a repository.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   repositoryUrl: \"https://github.com/org/repo\"\n   ```"
      operationId: gitpod.v1.RunnerService.CheckRepositoryAccess
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              check_access:
                description: Verifies read access to a repository.
                value:
                  repositoryUrl: https://github.com/org/repo
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.CheckRepositoryAccessRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CheckRepositoryAccessResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CheckRepositoryAccess
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/CreateRunner:
    servers: []
    post:
      description: "Creates a new runner registration with the server. Registrations are very short-lived and must be renewed every 30 seconds.\n\n Use this method to:\n - Register organization runners\n - Set up runner configurations\n - Initialize runner credentials\n - Configure auto-updates\n\n ### Examples\n\n - Create cloud runner:\n\n   Creates a new runner in AWS EC2.\n\n   ```yaml\n   name: \"Production Runner\"\n   provider: RUNNER_PROVIDER_AWS_EC2\n   spec:\n     desiredPhase: RUNNER_PHASE_ACTIVE\n     configuration:\n       region: \"us-west\"\n       releaseChannel: RUNNER_RELEASE_CHANNEL_STABLE\n       autoUpdate: true\n   ```\n\n - Create local runner:\n\n   Creates a new local runner on Linux.\n\n   ```yaml\n   name: \"Local Development Runner\"\n   provider: RUNNER_PROVIDER_LINUX_HOST\n   spec:\n     desiredPhase: RUNNER_PHASE_ACTIVE\n     configuration:\n       releaseChannel: RUNNER_RELEASE_CHANNEL_LATEST\n       autoUpdate: true\n   ```"
      operationId: gitpod.v1.RunnerService.CreateRunner
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_cloud_runner:
                description: Creates a new runner in AWS EC2.
                value:
                  name: Production Runner
                  provider: RUNNER_PROVIDER_AWS_EC2
                  spec:
                    configuration:
                      autoUpdate: true
                      region: us-west
                      releaseChannel: RUNNER_RELEASE_CHANNEL_STABLE
                    desiredPhase: RUNNER_PHASE_ACTIVE
              create_local_runner:
                description: Creates a new local runner on Linux.
                value:
                  name: Local Development Runner
                  provider: RUNNER_PROVIDER_LINUX_HOST
                  spec:
                    configuration:
                      autoUpdate: true
                      releaseChannel: RUNNER_RELEASE_CHANNEL_LATEST
                    desiredPhase: RUNNER_PHASE_ACTIVE
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateRunnerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateRunnerResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateRunner
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/CreateRunnerLogsToken:
    servers: []
    post:
      description: "Creates an access token for runner logs and debug information.\n\n Generated tokens are valid for one hour and provide runner-specific access permissions.\n The token is scoped to a specific runner and can be used to access support bundles.\n\n ### Examples\n\n - Generate runner logs token:\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.RunnerService.CreateRunnerLogsToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              generate_runner_logs_token:
                description: 'runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"

                  '
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateRunnerLogsTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateRunnerLogsTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateRunnerLogsToken
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/CreateRunnerPolicy:
    servers: []
    post:
      description: "Creates a new policy for a runner.\n\n Use this method to:\n - Set up access controls\n - Define group permissions\n - Configure role-based access\n\n ### Examples\n\n - Create admin policy:\n\n   Grants admin access to a group.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   role: RUNNER_ROLE_ADMIN\n   ```"
      operationId: gitpod.v1.RunnerService.CreateRunnerPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_admin_policy:
                description: Grants admin access to a group.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  role: RUNNER_ROLE_ADMIN
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateRunnerPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateRunnerPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateRunnerPolicy
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/CreateRunnerToken:
    servers: []
    post:
      description: "Creates a new authentication token for a runner.\n\n Use this method to:\n - Generate runner credentials\n - Renew expired tokens\n - Set up runner authentication\n\n Note: This does not expire previously issued tokens.\n\n ### Examples\n\n - Create token:\n\n   Creates a new token for runner authentication.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.RunnerService.CreateRunnerToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_token:
                description: Creates a new token for runner authentication.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateRunnerTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateRunnerTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateRunnerToken
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/DeleteRunner:
    servers: []
    post:
      description: "Deletes a runner permanently.\n\n Use this method to:\n - Remove unused runners\n - Clean up runner registrations\n - Delete obsolete runners\n\n ### Examples\n\n - Delete runner:\n\n   Permanently removes a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.RunnerService.DeleteRunner
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_runner:
                description: Permanently removes a runner.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteRunnerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteRunnerResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteRunner
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/DeleteRunnerPolicy:
    servers: []
    post:
      description: "Deletes a runner policy.\n\n Use this method to:\n - Remove access controls\n - Revoke permissions\n - Clean up policies\n\n ### Examples\n\n - Delete policy:\n\n   Removes a group's access policy.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   ```"
      operationId: gitpod.v1.RunnerService.DeleteRunnerPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_policy:
                description: Removes a group's access policy.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteRunnerPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteRunnerPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteRunnerPolicy
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/GetRunner:
    servers: []
    post:
      description: "Gets details about a specific runner.\n\n Use this method to:\n - Check runner status\n - View runner configuration\n - Monitor runner health\n - Verify runner capabilities\n\n ### Examples\n\n - Get runner details:\n\n   Retrieves information about a specific runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.RunnerService.GetRunner
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_runner_details:
                description: Retrieves information about a specific runner.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetRunnerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetRunnerResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetRunner
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/ListRunnerPolicies:
    servers: []
    post:
      description: "Lists policies for a runner.\n\n Use this method to:\n - View access controls\n - Check policy configurations\n - Audit permissions\n\n ### Examples\n\n - List policies:\n\n   Shows all policies for a runner.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerService.ListRunnerPolicies
      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_policies:
                description: Shows all policies for a runner.
                value:
                  pagination:
                    pageSize: 20
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnerPoliciesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnerPoliciesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunnerPolicies
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/ListRunners:
    servers: []
    post:
      description: "Lists all registered runners with optional filtering.\n\n Use this method to:\n - View all available runners\n - Filter by runner type\n - Monitor runner status\n - Check runner availability\n\n ### Examples\n\n - List all runners:\n\n   Shows all runners with pagination.\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```\n\n - Filter by provider:\n\n   Lists only AWS EC2 runners.\n\n   ```yaml\n   filter:\n     providers: [\"RUNNER_PROVIDER_AWS_EC2\"]\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.RunnerService.ListRunners
      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:
              filter_by_provider:
                description: Lists only AWS EC2 runners.
                value:
                  filter:
                    providers:
                    - RUNNER_PROVIDER_AWS_EC2
                  pagination:
                    pageSize: 20
              list_all_runners:
                description: Shows all runners with pagination.
                value:
                  pagination:
                    pageSize: 20
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListRunnersRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListRunnersResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListRunners
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/ListSCMOrganizations:
    servers: []
    post:
      description: "Lists SCM organizations the user belongs to.\n\n Use this method to:\n - Get all organizations for a user on a specific SCM host\n - Check organization admin permissions for webhook creation\n\n ### Examples\n\n - List GitHub organizations:\n\n   Lists all organizations the user belongs to on GitHub.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   scmHost: \"github.com\"\n   ```"
      operationId: gitpod.v1.RunnerService.ListSCMOrganizations
      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_git_hub_organizations:
                description: Lists all organizations the user belongs to on GitHub.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  scmHost: github.com
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListSCMOrganizationsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListSCMOrganizationsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListSCMOrganizations
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/ParseContextURL:
    servers: []
    post:
      description: "Parses a context URL and returns the parsed result.\n\n Use this method to:\n - Validate context URLs\n - Check repository access\n - Verify branch existence\n\n Returns:\n - FAILED_PRECONDITION if authentication is required\n - PERMISSION_DENIED if access is not allowed\n - INVALID_ARGUMENT if URL is invalid\n - NOT_FOUND if repository/branch doesn't exist\n\n ### Examples\n\n - Parse URL:\n\n   Parses and validates a context URL.\n\n   ```yaml\n   contextUrl: \"https://github.com/org/repo/tree/main\"\n   ```"
      operationId: gitpod.v1.RunnerService.ParseContextURL
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              parse_url:
                description: Parses and validates a context URL.
                value:
                  contextUrl: https://github.com/org/repo/tree/main
            schema:
              $ref: '#/components/schemas/gitpod.v1.ParseContextURLRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ParseContextURLResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ParseContextURL
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/SearchRepositories:
    servers: []
    post:
      description: "Searches for repositories across all authenticated SCM hosts.\n\n Use this method to:\n - List available repositories\n - Search repositories by name or content\n - Discover repositories for environment creation\n\n Returns repositories from all authenticated SCM hosts in natural sort order.\n If no repositories are found, returns an empty list.\n\n ### Examples\n\n - List all repositories:\n\n   Returns up to 25 repositories from all authenticated hosts.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```\n\n - Search repositories:\n\n   Searches for repositories matching the query across all hosts.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   searchString: \"my-project\"\n   limit: 10\n   ```"
      operationId: gitpod.v1.RunnerService.SearchRepositories
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              list_all_repositories:
                description: Returns up to 25 repositories from all authenticated hosts.
                value:
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
              search_repositories:
                description: Searches for repositories matching the query across all hosts.
                value:
                  limit: 10
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  searchString: my-project
            schema:
              $ref: '#/components/schemas/gitpod.v1.SearchRepositoriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.SearchRepositoriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: SearchRepositories
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/UpdateRunner:
    servers: []
    post:
      description: "Updates a runner's configuration.\n\n Use this method to:\n - Modify runner settings\n - Update release channels\n - Change runner status\n - Configure auto-update settings\n\n ### Examples\n\n - Update configuration:\n\n   Changes runner settings.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   name: \"Updated Runner Name\"\n   spec:\n     configuration:\n       releaseChannel: RUNNER_RELEASE_CHANNEL_LATEST\n       autoUpdate: true\n   ```"
      operationId: gitpod.v1.RunnerService.UpdateRunner
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_configuration:
                description: Changes runner settings.
                value:
                  name: Updated Runner Name
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  spec:
                    configuration:
                      autoUpdate: true
                      releaseChannel: RUNNER_RELEASE_CHANNEL_LATEST
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateRunnerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateRunnerResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateRunner
      tags:
      - gitpod.v1.RunnerService
  /gitpod.v1.RunnerService/UpdateRunnerPolicy:
    servers: []
    post:
      description: "Updates an existing runner policy.\n\n Use this method to:\n - Modify access levels\n - Change group roles\n - Update permissions\n\n ### Examples\n\n - Update policy role:\n\n   Changes a group's access level.\n\n   ```yaml\n   runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   role: RUNNER_ROLE_USER\n   ```"
      operationId: gitpod.v1.RunnerService.UpdateRunnerPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_policy_role:
                description: Changes a group's access level.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  role: RUNNER_ROLE_USER
                  runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateRunnerPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateRunnerPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateRunnerPolicy
      tags:
      - gitpod.v1.RunnerService
components:
  schemas:
    gitpod.v1.Principal:
      enum:
      - PRINCIPAL_UNSPECIFIED
      - PRINCIPAL_ACCOUNT
      - PRINCIPAL_USER
      - PRINCIPAL_RUNNER
      - PRINCIPAL_ENVIRONMENT
      - PRINCIPAL_SERVICE_ACCOUNT
      - PRINCIPAL_RUNNER_MANAGER
      title: Principal
      type: string
    gitpod.v1.ListRunnerPoliciesResponse:
      additionalProperties: false
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationResponse'
          title: pagination
        policies:
          items:
            $ref: '#/components/schemas/gitpod.v1.RunnerPolicy'
          title: policies
          type: array
      title: ListRunnerPoliciesResponse
      type: object
    gitpod.v1.Runner:
      additionalProperties: false
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Time when the Runner was created.
          title: created_at
        creator:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          description: creator is the identity of the creator of the environment
          title: creator
        kind:
          $ref: '#/components/schemas/gitpod.v1.RunnerKind'
          description: The runner's kind
          title: kind
        name:
          description: The runner's name which is shown to users
          title: name
          type: string
        provider:
          $ref: '#/components/schemas/gitpod.v1.RunnerProvider'
          description: The runner's provider
          title: provider
        runnerId:
          title: runner_id
          type: string
        runnerManagerId:
          description: "The runner manager id specifies the runner manager for the managed runner.\n This field is only set for managed runners."
          format: uuid
          title: runner_manager_id
          type: string
        spec:
          $ref: '#/components/schemas/gitpod.v1.RunnerSpec'
          description: The runner's specification
          title: spec
        status:
          $ref: '#/components/schemas/gitpod.v1.RunnerStatus'
          description: The runner's status
          title: status
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Time when the Runner was last udpated.
          title: updated_at
      title: Runner
      type: object
    gitpod.v1.RunnerReleaseChannel:
      enum:
      - RUNNER_RELEASE_CHANNEL_UNSPECIFIED
      - RUNNER_RELEASE_CHANNEL_STABLE
      - RUNNER_RELEASE_CHANNEL_LATEST
      title: RunnerReleaseChannel
      type: string
    gitpod.v1.ParseContextURLResponse:
      additionalProperties: false
      properties:
        git:
          $ref: '#/components/schemas/gitpod.v1.ParseContextURLResponse.GitContext'
          title: git
        issue:
          $ref: '#/components/schemas/gitpod.v1.ParseContextURLResponse.Issue'
          title: issue
        originalContextUrl:
          title: original_context_url
          type: string
        pr:
          $ref: '#/components/schemas/gitpod.v1.ParseContextURLResponse.PullRequest'
          deprecated: true
          title: pr
        projectIds:
          description: project_ids is a list of projects to which the context URL belongs to.
          items:
            type: string
          title: project_ids
          type: array
        pullRequest:
          $ref: '#/components/schemas/gitpod.v1.PullRequest'
          title: pull_request
        scmId:
          description: scm_id is the unique identifier of the SCM provider (e.g., "github", "gitlab", "bitbucket")
          title: scm_id
          type: string
      title: ParseContextURLResponse
      type: object
    gitpod.v1.ListSCMOrganizationsResponse:
      additionalProperties: false
      properties:
        organizations:
          description: List of organizations the user belongs to
          items:
            $ref: '#/components/schemas/gitpod.v1.ListSCMOrganizationsResponse.SCMOrganization'
          title: organizations
          type: array
      title: ListSCMOrganizationsResponse
      type: object
    gitpod.v1.DeleteRunnerResponse:
      additionalProperties: false
      title: DeleteRunnerResponse
      type: object
    gitpod.v1.CheckAuthenticationForHostResponse.AuthenticationMethodOAuth2:
      additionalProperties: false
      properties:
        authUrl:
          description: auth_url is the URL where users can authenticate
          title: auth_url
          type: string
        docsUrl:
          description: docs_url is the URL to the documentation explaining this authentication method
          title: docs_url
          type: string
      title: AuthenticationMethodOAuth2
      type: object
    gitpod.v1.PaginationResponse:
      additionalProperties: false
      properties:
        nextToken:
          description: "Token passed for retrieving the next set of results. Empty if there are no\n more results"
          title: next_token
          type: string
      title: PaginationResponse
      type: object
    gitpod.v1.UpdateRunnerRequest.MetricsConfiguration:
      additionalProperties: false
      properties:
        enabled:
          description: enabled indicates whether the runner should collect metrics
          title: enabled
          type:
          - boolean

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