Gitpod gitpod.v1.ProjectService API

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

Operations 15

POST /gitpod.v1.ProjectService/CreateProject CreateProject #
POST /gitpod.v1.ProjectService/CreateProjectFromEnvironment CreateProjectFromEnvironment #
POST /gitpod.v1.ProjectService/CreateProjectPolicy CreateProjectPolicy #
POST /gitpod.v1.ProjectService/CreateProjects CreateProjects #
POST /gitpod.v1.ProjectService/DeleteProject DeleteProject #
POST /gitpod.v1.ProjectService/DeleteProjectPolicy DeleteProjectPolicy #
POST /gitpod.v1.ProjectService/DeleteProjects DeleteProjects #
POST /gitpod.v1.ProjectService/GetProject GetProject #
POST /gitpod.v1.ProjectService/ListProjectEnvironmentClasses ListProjectEnvironmentClasses #
POST /gitpod.v1.ProjectService/ListProjectPolicies ListProjectPolicies #
POST /gitpod.v1.ProjectService/ListProjects ListProjects #
POST /gitpod.v1.ProjectService/UpdateProject UpdateProject #
POST /gitpod.v1.ProjectService/UpdateProjectEnvironmentClasses UpdateProjectEnvironmentClasses #
POST /gitpod.v1.ProjectService/UpdateProjectPolicy UpdateProjectPolicy #
POST /gitpod.v1.ProjectService/UpdateProjects UpdateProjects #

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-projectservice-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-projectservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.Project Service 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.CreateProjectPolicyRequest:
      additionalProperties: false
      description: CreateProjectPolicyRequest creates a Project Policy.
      properties:
        groupId:
          description: group_id specifies the group_id identifier
          format: uuid
          title: group_id
          type: string
        projectId:
          description: project_id specifies the project identifier
          format: uuid
          title: project_id
          type: string
        role:
          $ref: '#/components/schemas/gitpod.v1.ProjectRole'
          title: role
      title: CreateProjectPolicyRequest
      type: object
    gitpod.v1.DeleteProjectResponse:
      additionalProperties: false
      title: DeleteProjectResponse
      type: object
    gitpod.v1.CreateProjectFromEnvironmentResponse:
      additionalProperties: false
      properties:
        project:
          $ref: '#/components/schemas/gitpod.v1.Project'
          title: project
      title: CreateProjectFromEnvironmentResponse
      type: object
    gitpod.v1.ListProjectsResponse:
      additionalProperties: false
      properties:
        count:
          $ref: '#/components/schemas/gitpod.v1.CountResponse'
          description: "count is the bounded total count of matching projects, present only when\n requested via CountRequest.include on the first page."
          title: count
          x-stainless-skip: true
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationResponse'
          description: pagination contains the pagination options for listing organizations
          title: pagination
        projects:
          items:
            $ref: '#/components/schemas/gitpod.v1.Project'
          title: projects
          type: array
      title: ListProjectsResponse
      type: object
    gitpod.v1.ProjectPolicy:
      additionalProperties: false
      properties:
        groupId:
          format: uuid
          title: group_id
          type: string
        role:
          $ref: '#/components/schemas/gitpod.v1.ProjectRole'
          description: role is the role assigned to the group
          title: role
      title: ProjectPolicy
      type: object
    gitpod.v1.CreateProjectsRequest:
      additionalProperties: false
      properties:
        projects:
          items:
            $ref: '#/components/schemas/gitpod.v1.CreateProjectRequest'
          maxItems: 100
          minItems: 1
          title: projects
          type: array
      title: CreateProjectsRequest
      type: object
    gitpod.v1.Project:
      additionalProperties: false
      properties:
        automationsFilePath:
          description: automations_file_path is the path to the automations file relative to the repo root
          title: automations_file_path
          type: string
        desiredPhase:
          $ref: '#/components/schemas/gitpod.v1.ProjectPhase'
          description: "desired_phase is the desired phase of the project\n When set to DELETED, the project is pending deletion"
          title: desired_phase
        devcontainerFilePath:
          description: devcontainer_file_path is the path to the devcontainer file relative to the repo root
          title: devcontainer_file_path
          type: string
        environmentClass:
          $ref: '#/components/schemas/gitpod.v1.ProjectEnvironmentClass'
          deprecated: true
          description: Use `environment_classes` instead.
          title: environment_class
        environmentClasses:
          description: environment_classes is the list of environment classes for the project
          items:
            $ref: '#/components/schemas/gitpod.v1.ProjectEnvironmentClass'
          title: environment_classes
          type: array
        id:
          description: id is the unique identifier for the project
          format: uuid
          title: id
          type: string
        initializer:
          $ref: '#/components/schemas/gitpod.v1.EnvironmentInitializer'
          description: initializer is the content initializer
          title: initializer
        metadata:
          $ref: '#/components/schemas/gitpod.v1.ProjectMetadata'
          title: metadata
        prebuildConfiguration:
          $ref: '#/components/schemas/gitpod.v1.ProjectPrebuildConfiguration'
          description: prebuild_configuration defines how prebuilds are created for this project.
          title: prebuild_configuration
        recommendedEditors:
          $ref: '#/components/schemas/gitpod.v1.RecommendedEditors'
          description: recommended_editors specifies the editors recommended for this project.
          title: recommended_editors
        technicalDescription:
          description: "technical_description is a detailed technical description of the project\n This field is not returned by default in GetProject or ListProjects responses"
          title: technical_description
          type: string
        usedBy:
          $ref: '#/components/schemas/gitpod.v1.Project.UsedBy'
          title: used_by
      required:
      - environmentClass
      title: Project
      type: object
    gitpod.v1.EditorVersions:
      additionalProperties: false
      description: EditorVersions contains the recommended versions for an editor.
      properties:
        versions:
          description: "versions is the list of recommended versions for this editor.\n If empty, all available versions are recommended.\n Examples for JetBrains: [\"2025.1\", \"2024.3\"]"
          items:
            type: string
          title: versions
    

# --- 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