Gitpod gitpod.v1.PrebuildService API

PrebuildService manages prebuilds for projects to enable faster environment startup times. Prebuilds create snapshots of environments that can be used to provision new environments quickly.

Operations 11

POST /gitpod.v1.PrebuildService/CancelPrebuild CancelPrebuild #
POST /gitpod.v1.PrebuildService/CreatePrebuild CreatePrebuild #
POST /gitpod.v1.PrebuildService/CreatePrebuildLogsToken CreatePrebuildLogsToken #
POST /gitpod.v1.PrebuildService/CreateWarmPool CreateWarmPool #
POST /gitpod.v1.PrebuildService/DeletePrebuild DeletePrebuild #
POST /gitpod.v1.PrebuildService/DeleteWarmPool DeleteWarmPool #
POST /gitpod.v1.PrebuildService/GetPrebuild GetPrebuild #
POST /gitpod.v1.PrebuildService/GetWarmPool GetWarmPool #
POST /gitpod.v1.PrebuildService/ListPrebuilds ListPrebuilds #
POST /gitpod.v1.PrebuildService/ListWarmPools ListWarmPools #
POST /gitpod.v1.PrebuildService/UpdateWarmPool UpdateWarmPool #

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-prebuildservice-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-prebuildservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.Prebuild Service API
  version: v1.0.0
  description: "PrebuildService manages prebuilds for projects to enable faster environment startup times.\n Prebuilds create snapshots of environments that can be used to provision new environments quickly."
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- description: "PrebuildService manages prebuilds for projects to enable faster environment startup times.\n Prebuilds create snapshots of environments that can be used to provision new environments quickly."
  name: gitpod.v1.PrebuildService
  x-displayName: gitpod.v1.PrebuildService
paths:
  /gitpod.v1.PrebuildService/CancelPrebuild:
    servers: []
    post:
      description: "Cancels a running prebuild.\n\n Use this method to:\n - Stop prebuilds that are no longer needed\n - Free up resources for other operations\n\n ### Examples\n\n - Cancel prebuild:\n\n   Stops a running prebuild and cleans up resources.\n\n   ```yaml\n   prebuildId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.PrebuildService.CancelPrebuild
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              cancel_prebuild:
                description: Stops a running prebuild and cleans up resources.
                value:
                  prebuildId: 07e03a28-65a5-4d98-b532-8ea67b188048
            schema:
              $ref: '#/components/schemas/gitpod.v1.CancelPrebuildRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CancelPrebuildResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CancelPrebuild
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/CreatePrebuild:
    servers: []
    post:
      description: "Creates a prebuild for a project.\n\n Use this method to:\n - Create on-demand prebuilds for faster environment startup\n - Trigger prebuilds after repository changes\n - Generate prebuilds for specific environment classes\n\n The prebuild process creates an environment, runs the devcontainer prebuild lifecycle,\n and creates a snapshot for future environment provisioning.\n\n ### Examples\n\n - Create basic prebuild:\n\n   Creates a prebuild for a project using default settings.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   spec:\n     timeout: \"3600s\"  # 60 minutes default\n   ```\n\n - Create prebuild with custom environment class:\n\n   Creates a prebuild with a specific environment class and timeout.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   environmentClassId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   spec:\n     timeout: \"3600s\"  # 1 hour\n   ```"
      operationId: gitpod.v1.PrebuildService.CreatePrebuild
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_basic_prebuild:
                description: Creates a prebuild for a project using default settings.
                value:
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  spec:
                    timeout: 3600s
              create_prebuild_with_custom_environment_class:
                description: Creates a prebuild with a specific environment class and timeout.
                value:
                  environmentClassId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  spec:
                    timeout: 3600s
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreatePrebuildRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreatePrebuildResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreatePrebuild
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/CreatePrebuildLogsToken:
    servers: []
    post:
      description: "Creates a logs access token for a prebuild.\n\n Use this method to:\n - Stream logs from a running prebuild\n - Access archived logs from completed prebuilds\n\n Generated tokens are valid for one hour.\n\n ### Examples\n\n - Create prebuild logs token:\n\n   Generates a token for accessing prebuild logs.\n\n   ```yaml\n   prebuildId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.PrebuildService.CreatePrebuildLogsToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_prebuild_logs_token:
                description: Generates a token for accessing prebuild logs.
                value:
                  prebuildId: 07e03a28-65a5-4d98-b532-8ea67b188048
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreatePrebuildLogsTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreatePrebuildLogsTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreatePrebuildLogsToken
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/CreateWarmPool:
    servers: []
    post:
      description: "Creates a warm pool for a project and environment class.\n\n A warm pool maintains pre-created environment instances from a prebuild snapshot\n so that new environments can start near-instantly.\n\n Only one warm pool is allowed per <project, environment_class> pair.\n The environment class must have prebuilds enabled on the project.\n\n The pool's snapshot is managed automatically: when a new prebuild completes\n for the same project and environment class, the pool's snapshot is updated\n and the runner rotates instances.\n\n ### Examples\n\n - Create warm pool:\n\n   Creates a warm pool with 2 instances for a project and environment class.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   environmentClassId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   desiredSize: 2\n   ```"
      operationId: gitpod.v1.PrebuildService.CreateWarmPool
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_warm_pool:
                description: Creates a warm pool with 2 instances for a project and environment class.
                value:
                  desiredSize: 2
                  environmentClassId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateWarmPoolRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateWarmPoolResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateWarmPool
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/DeletePrebuild:
    servers: []
    post:
      description: "Deletes a prebuild.\n\n Prebuilds are automatically deleted after some time. Use this method to\n manually delete a prebuild before automatic cleanup, for example to remove\n a prebuild that should no longer be used.\n\n Deletion is processed asynchronously. The prebuild will be marked for deletion\n and removed from the system in the background.\n\n ### Examples\n\n - Delete prebuild:\n\n   Marks a prebuild for deletion and removes it from the system.\n\n   ```yaml\n   prebuildId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.PrebuildService.DeletePrebuild
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_prebuild:
                description: Marks a prebuild for deletion and removes it from the system.
                value:
                  prebuildId: 07e03a28-65a5-4d98-b532-8ea67b188048
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeletePrebuildRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeletePrebuildResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeletePrebuild
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/DeleteWarmPool:
    servers: []
    post:
      description: "Deletes a warm pool.\n\n Deletion is processed asynchronously. The pool is marked for deletion\n and the runner drains instances in the background.\n\n Warm pools are also automatically deleted when prebuilds are disabled\n on the project or the environment class is removed from the prebuild\n configuration.\n\n ### Examples\n\n - Delete warm pool:\n\n   ```yaml\n   warmPoolId: \"a1b2c3d4-5678-9abc-def0-1234567890ab\"\n   ```"
      operationId: gitpod.v1.PrebuildService.DeleteWarmPool
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_warm_pool:
                description: 'warmPoolId: "a1b2c3d4-5678-9abc-def0-1234567890ab"

                  '
                value:
                  warmPoolId: a1b2c3d4-5678-9abc-def0-1234567890ab
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteWarmPoolRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteWarmPoolResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteWarmPool
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/GetPrebuild:
    servers: []
    post:
      description: "Gets details about a specific prebuild.\n\n Use this method to:\n - Check prebuild status and progress\n - Access prebuild logs for debugging\n\n ### Examples\n\n - Get prebuild details:\n\n   Retrieves comprehensive information about a prebuild.\n\n   ```yaml\n   prebuildId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.PrebuildService.GetPrebuild
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_prebuild_details:
                description: Retrieves comprehensive information about a prebuild.
                value:
                  prebuildId: 07e03a28-65a5-4d98-b532-8ea67b188048
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPrebuildRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPrebuildResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPrebuild
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/GetWarmPool:
    servers: []
    post:
      description: "Gets details about a specific warm pool.\n\n Use this method to:\n - Check warm pool status and phase\n - View the current snapshot being warmed\n - Monitor pool health\n\n ### Examples\n\n - Get warm pool:\n\n   ```yaml\n   warmPoolId: \"a1b2c3d4-5678-9abc-def0-1234567890ab\"\n   ```"
      operationId: gitpod.v1.PrebuildService.GetWarmPool
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_warm_pool:
                description: 'warmPoolId: "a1b2c3d4-5678-9abc-def0-1234567890ab"

                  '
                value:
                  warmPoolId: a1b2c3d4-5678-9abc-def0-1234567890ab
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetWarmPoolRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetWarmPoolResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetWarmPool
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/ListPrebuilds:
    servers: []
    post:
      operationId: gitpod.v1.PrebuildService.ListPrebuilds
      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.ListPrebuildsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListPrebuildsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListPrebuilds
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/ListWarmPools:
    servers: []
    post:
      description: "Lists warm pools with optional filtering.\n\n Use this method to:\n - View all warm pools for a project\n - Monitor warm pool status across environment classes\n\n ### Examples\n\n - List warm pools for a project:\n\n   ```yaml\n   filter:\n     projectIds: [\"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"]\n   ```"
      operationId: gitpod.v1.PrebuildService.ListWarmPools
      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_warm_pools_for_a_project:
                description: "filter:\n  projectIds: [\"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"]\n"
                value:
                  filter:
                    projectIds:
                    - b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListWarmPoolsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListWarmPoolsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListWarmPools
      tags:
      - gitpod.v1.PrebuildService
  /gitpod.v1.PrebuildService/UpdateWarmPool:
    servers: []
    post:
      description: "Updates a warm pool's configuration.\n\n Use this method to change the desired pool size.\n\n ### Examples\n\n - Update pool size:\n\n   ```yaml\n   warmPoolId: \"a1b2c3d4-5678-9abc-def0-1234567890ab\"\n   desiredSize: 5\n   ```"
      operationId: gitpod.v1.PrebuildService.UpdateWarmPool
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_pool_size:
                description: 'warmPoolId: "a1b2c3d4-5678-9abc-def0-1234567890ab"

                  desiredSize: 5

                  '
                value:
                  desiredSize: 5
                  warmPoolId: a1b2c3d4-5678-9abc-def0-1234567890ab
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateWarmPoolRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateWarmPoolResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateWarmPool
      tags:
      - gitpod.v1.PrebuildService
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.UpdateWarmPoolResponse:
      additionalProperties: false
      properties:
        warmPool:
          $ref: '#/components/schemas/gitpod.v1.WarmPool'
          title: warm_pool
      required:
      - warmPool
      title: UpdateWarmPoolResponse
      type: object
    gitpod.v1.GetPrebuildRequest:
      additionalProperties: false
      properties:
        prebuildId:
          description: prebuild_id specifies the prebuild to retrieve
          format: uuid
          title: prebuild_id
          type: string
      required:
      - prebuildId
      title: GetPrebuildRequest
      type: object
    gitpod.v1.CancelPrebuildResponse:
      additionalProperties: false
      properties:
        prebuild:
          $ref: '#/components/schemas/gitpod.v1.Prebuild'
          title: prebuild
      required:
      - prebuild
      title: CancelPrebuildResponse
      type: object
    gitpod.v1.CreatePrebuildResponse:
      additionalProperties: false
      properties:
        prebuild:
          $ref: '#/components/schemas/gitpod.v1.Prebuild'
          title: prebuild
      required:
      - prebuild
      title: CreatePrebuildResponse
      type: object
    gitpod.v1.Prebuild:
      additionalProperties: false
      description: "Prebuild represents a prebuild for a project that creates a snapshot\n for faster environment startup times."
      properties:
        id:
          description: id is the unique identifier for the prebuild
          format: uuid
          title: id
          type: string
        metadata:
          $ref: '#/components/schemas/gitpod.v1.PrebuildMetadata'
          description: metadata contains organizational and ownership information
          title: metadata
        spec:
          $ref: '#/components/schemas/gitpod.v1.PrebuildSpec'
          description: spec contains the configuration used to create this prebuild
          title: spec
        status:
          $ref: '#/components/schemas/gitpod.v1.PrebuildStatus'
          description: status contains the current status and progress of the prebuild
          title: status
      required:
      - metadata
      - spec
      - status
      title: Prebuild
      type: object
    gitpod.v1.WarmPoolMetadata:
      additionalProperties: false
      description: WarmPoolMetadata contains metadata about the warm pool
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: created_at is when the warm pool was created
          title: created_at
        environmentClassId:
          description: environment_class_id is the environment class whose instances are warmed
          format: uuid
          title: environment_class_id
          type: string
        organizationId:
          description: organization_id is the ID of the organization that owns the warm pool
          format: uuid
          title: organization_id
          type: string
        projectId:
          description: project_id is the ID of the project this warm pool belongs to
          format: uuid
          title: project_id
          type: string
        runnerId:
          description: "runner_id is the runner that manages this warm pool.\n Derived from the environment class."
          format: uuid
          title: runner_id
          type: string
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: updated_at is when the warm pool was last updated
          title: updated_at
      required:
      - createdAt
      - updatedAt
      title: WarmPoolMetadata
      type: object
    gitpod.v1.DeletePrebuildResponse:
      additionalProperties: false
      title: DeletePrebuildResponse
      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.DeleteWarmPoolRequest:
      additionalProperties: false
      properties:
        warmPoolId:
          description: warm_pool_id specifies the warm pool to delete
          format: uuid
          title: warm_pool_id
          type: string
      required:
      - warmPoolId
      title: DeleteWarmPoolRequest
      type: object
    gitpod.v1.GetWarmPoolResponse:
      additionalProperties: false
      properties:
        warmPool:
          $ref: '#/components/schemas/gitpod.v1.WarmPool'
          title: warm_pool
      required:
      - warmPool
      title: GetWarmPoolResponse
      type: object
    gitpod.v1.WarmPoolPhase:
      description: WarmPoolPhase represents the lifecycle phase of a warm pool
      enum:
      - WARM_POOL_PHASE_UNSPECIFIED
      - WARM_POOL_PHASE_PENDING
      - WARM_POOL_PHASE_READY
      - WARM_POOL_PHASE_DEGRADED
      - WARM_POOL_PHASE_DELETING
      - WARM_POOL_PHASE_DELETED
      title: WarmPoolPhase
      type: string
    gitpod.v1.DeletePrebuildRequest:
      additionalProperties: false
      properties:
        prebuildId:
          description: prebuild_id specifies the prebuild to delete
          format: uuid
          title: prebuild_id
          type: string
      required:
      - prebuildId
      title: DeletePrebuildRequest
      type: object
    gitpod.v1.ListPrebuildsResponse:
      additionalProperties: false
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationResponse'
          description: pagination contains the pagination response
          title: pagination
        prebuilds:
          description: prebuilds are the prebuilds that matched the query
          items:
            $ref: '#/components/schemas/gitpod.v1.Prebuild'
          title: prebuilds
          type: array
      title: ListPrebuildsResponse
      type: object
    gitpod.v1.ListWarmPoolsRequest.Filter:
      additionalProperties: false
      properties:
        environmentClassIds:
          description: environment_class_ids filters warm pools to specific environment classes
          items:
            format: uuid
            maxItems: 25
            type: string
          maxItems: 25
          title: environment_class_ids
          type: array
        projectIds:
          description: project_ids filters warm pools to specific projects
          items:
            format: uuid
            maxItems: 25
            type: string
          maxItems: 25
          title: project_ids
          type: array
      title: Filter
      type: object
    connect.error:
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
      properties:
        code:
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          example:
          - not_found
          type: string
        message:
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
          type: string
      title: Connect Error
      type: object
    gitpod.v1.WarmPoolStatus:
      additionalProperties: false
      description: WarmPoolStatus contains the current status of a warm pool as reported by the runner
      properties:
        desiredSize:
          description: "desired_size is the current target number of instances the autoscaler\n has decided on. Unlike running_instances, this value is stable and\n does not fluctuate as instances are claimed and backfilled."
          format: int32
          title: desired_size
          type: integer
        failureMessage:
          description: failure_message contains details about why the warm pool is degraded or failed
          title: failure_message
          type: string
        phase:
          $ref: '#/components/schemas/gitpod.v1.WarmPoolPhase'
          description: phase is the current phase of the warm pool lifecycle
          title: phase
        runningInstances:
          description: "running_instances is the number of running warm instances in the pool,\n ready to be claimed for near-instant environment startup."
          format: int32
          title: running_instances
          type: integer
        statusVersion:
          description: "status_version is incremented each time the status is updated.\n Used for optimistic concurrency control."
          title: status_version
          type: string
        stoppedInstances:
          description: "stopped_instances is the number of pre-provisioned but stopped instances\n in the pool. When a running instance is claimed, stopped instances are\n used to backfill the running pool faster than provisioning from scratch.\n Stopped instances only incur storage costs, allowing a larger total pool\n at lower cost than keeping all instances running."
          format: int32
          title: stopped_instances
          type: integer
      required:
      - phase
      title: WarmPoolStatus
      type: object
    gitpod.v1.WarmPool:
      additionalProperties: false
      description: "WarmPool maintains pre-created environment instances from a prebuild snapshot\n for near-instant environment startup.\n One warm pool exists per <project, environment_class> pair."
      properties:
        id:
          description: id is the unique identifier for the warm pool
          format: uuid
          title: id
          type: string
        metadata:
          $ref: '#/components/schemas/gitpod.v1.WarmPoolMetadata'
          description: metadata contains organizational and ownership information
          title: metadata
        spec:
          $ref: '#/components/schemas/gitpod.v1.WarmPoolSpec'
          description: spec contains the desired configuration for this warm pool
          title: spec
        status:
          $ref: '#/components/schemas/gitpod.v1.WarmPoolStatus'
          description: status contains the current status reported by the runner
          title: status
      required:
      - metadata
      - spec
      - status
      title: WarmPool
      type: object
    gitpod.v1.UpdateWarmPoolRequest:
      additionalProperties: false
      properties:
        desiredSize:
          deprecated: true
          description: "desired_size updates the number of warm instances to maintain.\n Deprecated: Use min_size and max_size instead for dynamic scaling."
          format: int32
          maximum: 20
          minimum: 1
          title: desired_size
          type:
          - integer
          - 'null'
        maxSize:
          description: "max_size updates the maximum number of warm instances to maintain.\n The pool will never scale above this value.\n Must be >= min_size and <= 20."
          format: int32
          maximum: 20
          minimum: 1
          title: max_size
          type:
          - integer
          - 'null'
        minSize:
          description: "min_size updates the minimum number of warm instances to maintain.\n The pool will never scale below this value.\n Must be >= 0 and <= max_size. Set to 0 to allow full scale-down."
          format: int32
          maximum: 20
          title: min_size
          type:
          - integer
          - 'null'
        warmPoolId:
          description: warm_pool_id specifies the warm pool to update
          format: uuid
          title: warm_pool_id
          type: string
      required:
      - warmPoolId
      title: UpdateWarmPoolRequest
      type: object
    gitpod.v1.GetPrebuildResponse:
      additionalProperties: false
      properties:
        prebuild:
          $ref: '#/components/schemas/gitpod.v1.Prebuild'
          title: prebuild
      required:
      - prebuild
      title: GetPrebuildResponse
      type: object
    gitpod.v1.PaginationRequest:
      additionalProperties: false
      properties:
        pageSize:
          description: "Page size is the maximum number of results to retrieve per page.\n Defaults to 25. Maximum 100."
          format: int32
          maximum: 100
          title: page_size
          type: integer
        token:
          description: "Token for the next set of results that was returned as next_token of a\n PaginationResponse"
          title: token
          type: string
      title: PaginationRequest
      type: object
    gitpod.v1.CreateWarmPoolRequest:
      additionalProperties: false
      properties:
        desiredSize:
          deprecated: true
          description: "desired_size is the number of warm instances to maintain.\n Deprecated: Use min_size and max_size instead for dynamic scaling."
          format: int32
          maximum: 20
          minimum: 1
          title: desired_size
          type: integer
        environmentClassId:
          description: "environment_class_id specifies which environment class to warm.\n Must be listed in the project's prebuild configuration environment_class_ids."
          format: uuid
          title: environment_class_id
          type: string
        maxSize:
          description: "max_size is the maximum number of warm instances to maintain.\n The pool will never scale above this value.\n Must be >= min_size and <= 20."
          format: int32
          maximum: 20
          minimum: 1
          title: max_size
          type:
          - integer
          - 'null'
        minSize:
          description: "min_size is the minimum number of warm instances to maintain.\n The pool will never scale below this value.\n Must be >= 0 and <= max_size. Set to 0 to allow full scale-down."
          format: int32
          maximum: 20
          title: min_size
         

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