Gitpod gitpod.v1.ProjectService API

The gitpod.v1.ProjectService API from Gitpod — 15 operation(s) for gitpod.v1.projectservice.

OpenAPI Specification

gitpod-gitpod-v1-projectservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.ProjectService API
  version: v1.0.0
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- name: gitpod.v1.ProjectService
  x-displayName: gitpod.v1.ProjectService
paths:
  /gitpod.v1.ProjectService/CreateProject:
    servers: []
    post:
      description: "Creates a new project with specified configuration.\n\n Use this method to:\n - Set up development projects\n - Configure project environments\n - Define project settings\n - Initialize project content\n\n ### Examples\n\n - Create basic project:\n\n   Creates a project with minimal configuration.\n\n   ```yaml\n   name: \"Web Application\"\n   initializer:\n     specs:\n       - git:\n           remoteUri: \"https://github.com/org/repo\"\n   ```\n\n - Create project with devcontainer:\n\n   Creates a project with custom development container.\n\n   ```yaml\n   name: \"Backend Service\"\n   initializer:\n     specs:\n       - git:\n           remoteUri: \"https://github.com/org/backend\"\n   devcontainerFilePath: \".devcontainer/devcontainer.json\"\n   automationsFilePath: \".gitpod/automations.yaml\"\n   ```"
      operationId: gitpod.v1.ProjectService.CreateProject
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_basic_project:
                description: Creates a project with minimal configuration.
                value:
                  initializer:
                    specs:
                    - git:
                        remoteUri: https://github.com/org/repo
                  name: Web Application
              create_project_with_devcontainer:
                description: Creates a project with custom development container.
                value:
                  automationsFilePath: .gitpod/automations.yaml
                  devcontainerFilePath: .devcontainer/devcontainer.json
                  initializer:
                    specs:
                    - git:
                        remoteUri: https://github.com/org/backend
                  name: Backend Service
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateProjectRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateProjectResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateProject
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/CreateProjectFromEnvironment:
    servers: []
    post:
      description: "Creates a new project using an existing environment as a template.\n\n Use this method to:\n - Clone environment configurations\n - Create projects from templates\n - Share environment setups\n\n ### Examples\n\n - Create from environment:\n\n   Creates a project based on existing environment.\n\n   ```yaml\n   name: \"Frontend Project\"\n   environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n   ```"
      operationId: gitpod.v1.ProjectService.CreateProjectFromEnvironment
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_from_environment:
                description: Creates a project based on existing environment.
                value:
                  environmentId: 07e03a28-65a5-4d98-b532-8ea67b188048
                  name: Frontend Project
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateProjectFromEnvironmentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateProjectFromEnvironmentResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateProjectFromEnvironment
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/CreateProjectPolicy:
    servers: []
    post:
      description: "Creates a new policy for a project.\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   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   role: PROJECT_ROLE_ADMIN\n   ```"
      operationId: gitpod.v1.ProjectService.CreateProjectPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_admin_policy:
                description: Grants admin access to a group.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  role: PROJECT_ROLE_ADMIN
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateProjectPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateProjectPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateProjectPolicy
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/CreateProjects:
    servers: []
    post:
      description: "Creates multiple projects in a single request.\n\n Use this method to:\n - Onboard multiple repositories at once\n - Import a batch of projects during initial setup\n\n Returns successfully created projects and details about any failures.\n Each project in the request is processed independently — partial success\n is possible.\n\n ### Examples\n\n - Create multiple projects:\n\n   Creates several projects in one request.\n\n   ```yaml\n   projects:\n     - name: \"Frontend\"\n       initializer:\n         specs:\n           - git:\n               remoteUri: \"https://github.com/org/frontend\"\n     - name: \"Backend\"\n       initializer:\n         specs:\n           - git:\n               remoteUri: \"https://github.com/org/backend\"\n   ```"
      operationId: gitpod.v1.ProjectService.CreateProjects
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_multiple_projects:
                description: Creates several projects in one request.
                value:
                  projects:
                  - initializer:
                      specs:
                      - git:
                          remoteUri: https://github.com/org/frontend
                    name: Frontend
                  - initializer:
                      specs:
                      - git:
                          remoteUri: https://github.com/org/backend
                    name: Backend
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateProjectsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateProjectsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateProjects
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/DeleteProject:
    servers: []
    post:
      description: "Deletes a project permanently.\n\n Use this method to:\n - Remove unused projects\n - Clean up test projects\n - Delete obsolete configurations\n\n ### Examples\n\n - Delete project:\n\n   Permanently removes a project.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.ProjectService.DeleteProject
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_project:
                description: Permanently removes a project.
                value:
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteProjectRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteProjectResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteProject
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/DeleteProjectPolicy:
    servers: []
    post:
      description: "Deletes a project 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   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   ```"
      operationId: gitpod.v1.ProjectService.DeleteProjectPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_policy:
                description: Removes a group's access policy.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteProjectPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteProjectPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteProjectPolicy
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/DeleteProjects:
    servers: []
    post:
      description: "Deletes multiple projects in a single request.\n\n Use this method to:\n - Remove multiple unused projects at once\n - Clean up projects in batch\n\n Returns successfully deleted project IDs and details about any failures.\n Each project in the request is processed independently — partial success\n is possible.\n\n ### Examples\n\n - Delete multiple projects:\n\n   Permanently removes several projects in one request.\n\n   ```yaml\n   projectIds:\n     - \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n     - \"c1f23g7d-5d78-430e-b5b7-e0949c6eb158\"\n   ```"
      operationId: gitpod.v1.ProjectService.DeleteProjects
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_multiple_projects:
                description: Permanently removes several projects in one request.
                value:
                  projectIds:
                  - b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  - c1f23g7d-5d78-430e-b5b7-e0949c6eb158
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteProjectsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteProjectsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteProjects
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/GetProject:
    servers: []
    post:
      description: "Gets details about a specific project.\n\n Use this method to:\n - View project configuration\n - Check project status\n - Get project metadata\n\n ### Examples\n\n - Get project details:\n\n   Retrieves information about a specific project.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.ProjectService.GetProject
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_project_details:
                description: Retrieves information about a specific project.
                value:
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetProjectRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetProjectResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetProject
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/ListProjectEnvironmentClasses:
    servers: []
    post:
      description: "Lists environment classes of a project.\n\n Use this method to:\n - View all environment classes of a project\n\n ### Examples\n\n - List project environment classes:\n\n   Shows all environment classes of a project.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.ProjectService.ListProjectEnvironmentClasses
      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_project_environment_classes:
                description: Shows all environment classes of a project.
                value:
                  pagination:
                    pageSize: 20
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListProjectEnvironmentClassesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListProjectEnvironmentClassesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListProjectEnvironmentClasses
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/ListProjectPolicies:
    servers: []
    post:
      description: "Lists policies for a project.\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 project.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.ProjectService.ListProjectPolicies
      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 project.
                value:
                  pagination:
                    pageSize: 20
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListProjectPoliciesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListProjectPoliciesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListProjectPolicies
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/ListProjects:
    servers: []
    post:
      description: "Lists projects with optional filtering.\n\n Use this method to:\n - View all accessible projects\n - Browse project configurations\n - Monitor project status\n\n ### Examples\n\n - List projects:\n\n   Shows all projects with pagination.\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.ProjectService.ListProjects
      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_projects:
                description: Shows all projects with pagination.
                value:
                  pagination:
                    pageSize: 20
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListProjectsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListProjectsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListProjects
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/UpdateProject:
    servers: []
    post:
      description: "Updates a project's configuration.\n\n Use this method to:\n - Modify project settings\n - Update environment class\n - Change project name\n - Configure initializers\n - Configure prebuild settings\n\n ### Examples\n\n - Update project name:\n\n   Changes the project's display name.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   name: \"New Project Name\"\n   ```\n\n - Enable prebuilds with daily schedule:\n\n   Configures prebuilds to run daily at 2 AM UTC.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   prebuildConfiguration:\n     enabled: true\n     environmentClassIds:\n       - \"b0e12f6c-4c67-429d-a4a6-d9838b5da041\"\n     timeout: \"3600s\"\n     trigger:\n       dailySchedule:\n         hourUtc: 2\n   ```"
      operationId: gitpod.v1.ProjectService.UpdateProject
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              enable_prebuilds_with_daily_schedule:
                description: Configures prebuilds to run daily at 2 AM UTC.
                value:
                  prebuildConfiguration:
                    enabled: true
                    environmentClassIds:
                    - b0e12f6c-4c67-429d-a4a6-d9838b5da041
                    timeout: 3600s
                    trigger:
                      dailySchedule:
                        hourUtc: 2
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
              update_project_name:
                description: Changes the project's display name.
                value:
                  name: New Project Name
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateProjectRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateProjectResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateProject
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/UpdateProjectEnvironmentClasses:
    servers: []
    post:
      description: "Updates all environment classes of a project.\n\n Use this method to:\n - Modify all environment classea of a project\n\n ### Examples\n\n - Update project environment classes:\n\n   Updates all environment classes for a project.\n\n   ```yaml\n   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   projectEnvironmentClasses:\n     - environmentClassId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da041\"\n       order: 0\n     - localRunner: true\n       order: 1\n   ```"
      operationId: gitpod.v1.ProjectService.UpdateProjectEnvironmentClasses
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_project_environment_classes:
                description: Updates all environment classes for a project.
                value:
                  projectEnvironmentClasses:
                  - environmentClassId: b0e12f6c-4c67-429d-a4a6-d9838b5da041
                    order: 0
                  - localRunner: true
                    order: 1
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateProjectEnvironmentClassesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateProjectEnvironmentClassesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateProjectEnvironmentClasses
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/UpdateProjectPolicy:
    servers: []
    post:
      description: "Updates an existing project 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   projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   groupId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   role: PROJECT_ROLE_EDITOR\n   ```"
      operationId: gitpod.v1.ProjectService.UpdateProjectPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_policy_role:
                description: Changes a group's access level.
                value:
                  groupId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  role: PROJECT_ROLE_EDITOR
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateProjectPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateProjectPolicyResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateProjectPolicy
      tags:
      - gitpod.v1.ProjectService
  /gitpod.v1.ProjectService/UpdateProjects:
    servers: []
    post:
      description: "Updates multiple projects in a single request.\n\n Use this method to:\n - Modify settings across multiple projects at once\n - Apply configuration changes in batch\n\n Returns successfully updated projects and details about any failures.\n Each project in the request is processed independently — partial success\n is possible.\n\n ### Examples\n\n - Update multiple projects:\n\n   Updates several projects in one request.\n\n   ```yaml\n   projects:\n     - projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n       name: \"Updated Frontend\"\n     - projectId: \"c1f23g7d-5d78-430e-b5b7-e0949c6eb158\"\n       name: \"Updated Backend\"\n   ```"
      operationId: gitpod.v1.ProjectService.UpdateProjects
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_multiple_projects:
                description: Updates several projects in one request.
                value:
                  projects:
                  - name: Updated Frontend
                    projectId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
                  - name: Updated Backend
                    projectId: c1f23g7d-5d78-430e-b5b7-e0949c6eb158
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateProjectsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateProjectsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateProjects
      tags:
      - gitpod.v1.ProjectService
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.RecommendedEditors:
      additionalProperties: false
      description: RecommendedEditors contains the map of recommended editors and their versions.
      properties:
        editors:
          additionalProperties:
            $ref: '#/components/schemas/gitpod.v1.EditorVersions'
            title: value
          description: "editors maps editor aliases to their recommended versions.\n Key is the editor alias (e.g., \"intellij\", \"goland\", \"vscode\").\n Value contains the list of recommended versions for that editor.\n If versions list is empty, all available versions are recommended.\n Example: {\"intellij\": {versions: [\"2025.1\", \"2024.3\"]}, \"goland\": {}}"
          title: editors
          type: object
      title: RecommendedEditors
      type: object
    gitpod.v1.DeleteProjectRequest:
      additionalProperties: false
      properties:
        projectId:
          description: project_id specifies the project identifier
          format: uuid
          title: project_id
          type: string
      title: DeleteProjectRequest
      type: object
    gitpod.v1.DeleteProjectsRequest:
      additionalProperties: false
      properties:
        projectIds:
          items:
            format: uuid
            maxItems: 100
            minItems: 1
            type: string
          maxItems: 100
          minItems: 1
          title: project_ids
          type: array
      title: DeleteProjectsRequest
      type: object
    gitpod.v1.PrebuildTrigger.DailySchedule:
      additionalProperties: false
      description: DailySchedule triggers prebuilds once per day at a specified hour.
      properties:
        hourUtc:
          description: "hour_utc is the hour of day (0-23) in UTC when the prebuild should start.\n The actual start time may be adjusted by a few minutes to balance system load."
          format: int32
          maximum: 23
          title: hour_utc
          type: integer
      title: DailySchedule
      type: object
    gitpod.v1.GitInitializer.CloneTargetMode:
      description: "CloneTargetMode is the target state in which we want to leave a\n GitEnvironment"
      enum:
      - CLONE_TARGET_MODE_UNSPECIFIED
      - CLONE_TARGET_MODE_REMOTE_HEAD
      - CLONE_TARGET_MODE_REMOTE_COMMIT
      - CLONE_TARGET_MODE_REMOTE_BRANCH
      - CLONE_TARGET_MODE_LOCAL_BRANCH
      - CLONE_TARGET_MODE_REMOTE_TAG
      title: CloneTargetMode
      type: string
    gitpod.v1.ProjectPrebuildConfiguration:
      additionalProperties: false
      description: "ProjectPrebuildConfiguration defines how prebuilds are created for a project.\n Prebuilds create environment snapshots that enable faster environment startup times."
      properties:
        enableJetbrainsWarmup:
          description: enable_jetbrains_warmup controls whether JetBrains IDE warmup runs during prebuilds.
          title: enable_jetbrains_warmup
          type: boolean
        enabled:
          description: "enabled controls whether prebuilds are created for this project.\n When disabled, no automatic prebuilds will be triggered."
          title: enabled
          type: boolean
        environmentClassIds:
          description: "environment_class_ids specifies which environment classes should have prebuilds created.\n If empty, no prebuilds are created."
          items:
            format: uuid
            type: string
          title: environment_class_ids
          type: array
        executor:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          description: "executor specifies who runs prebuilds for this project.\n The executor's SCM credentials are used to clone the repository.\n If not set, defaults to the project creator."
          title: executor
        timeout:
          $ref: '#/components/schemas/google.protobuf.Duration'
          description: "timeout is the maximum duration allowed for a prebuild to complete.\n If not specified, defaults to 1 hour.\n Must be between 5 minutes and 2 hours."
          title: timeout
        trigger:
          $ref: '#/components/schemas/gitpod.v1.PrebuildTrigger'
          description: trigger defines when prebuilds should be created.
          title: trigger
      title: ProjectPrebuildConfiguration
      type: object
    gitpod.v1.DeleteProjectPolicyResponse:
      additionalProperties: false
      title: DeleteProjectPolicyResponse
      type: object
    gitpod.v1.UpdateProjectRequest:
      additionalProperties: false
      properties:
        automationsFilePath:
          description: 'automations_file_path is the path to the automations file relative to the repo root

            path must not be absolute (start with a /):

            ```

            this.matches(''^$|^[^/].*'')

            ```


            '
          nullable: true
          title: automations_file_path
          type: string
        devcontainerFilePath:
          description: 'devcontainer_file_path is the path to the devcontainer file relative to the repo root

            path must not be absolute (start with a /):

            ```

            this.matches(''^$|^[^/].*'')

            ```


            '
          nullable: true
          title: devcontainer_file_path
          type: string
        initializer:
          $ref: '#/components/schemas/gitpod.v1.EnvironmentInitializer'
          description: initializer is the content initializer
          nullable: true
          title: initializer
        name:
          maxLength: 80
          minLength: 1
          nullable: true
          title: name
     

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