openapi: 3.0.0 info: title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.RunnerConfigurationService API version: v1.0.0 servers: - url: https://api.gitpod.io description: Gitpod API tags: - name: gitpod.v1.RunnerConfigurationService x-displayName: gitpod.v1.RunnerConfigurationService paths: /gitpod.v1.RunnerConfigurationService/CreateEnvironmentClass: servers: [] post: description: "Creates a new environment class for a runner.\n\n Use this method to:\n - Define compute resources\n - Configure environment settings\n - Set up runtime options\n\n ### Examples\n\n - Create environment class:\n\n Creates a new environment configuration.\n\n ```yaml\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n displayName: \"Large Instance\"\n description: \"8 CPU, 16GB RAM\"\n configuration:\n - key: \"cpu\"\n value: \"8\"\n - key: \"memory\"\n value: \"16384\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.CreateEnvironmentClass parameters: [] requestBody: content: application/json: examples: create_environment_class: description: Creates a new environment configuration. value: configuration: - key: cpu value: '8' - key: memory value: '16384' description: 8 CPU, 16GB RAM displayName: Large Instance runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.CreateEnvironmentClassRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.CreateEnvironmentClassResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: CreateEnvironmentClass tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/CreateHostAuthenticationToken: servers: [] post: description: "Creates a new authentication token for accessing remote hosts.\n\n Use this method to:\n - Set up SCM authentication\n - Configure OAuth credentials\n - Manage PAT tokens\n\n ### Examples\n\n - Create OAuth token:\n\n Creates a new OAuth-based authentication token.\n\n ```yaml\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n userId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n host: \"github.com\"\n token: \"gho_xxxxxxxxxxxx\"\n source: HOST_AUTHENTICATION_TOKEN_SOURCE_OAUTH\n expiresAt: \"2024-12-31T23:59:59Z\"\n refreshToken: \"ghr_xxxxxxxxxxxx\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.CreateHostAuthenticationToken parameters: [] requestBody: content: application/json: examples: create_o_auth_token: description: Creates a new OAuth-based authentication token. value: expiresAt: '2024-12-31T23:59:59Z' host: github.com refreshToken: ghr_xxxxxxxxxxxx runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 source: HOST_AUTHENTICATION_TOKEN_SOURCE_OAUTH token: gho_xxxxxxxxxxxx userId: f53d2330-3795-4c5d-a1f3-453121af9c60 schema: $ref: '#/components/schemas/gitpod.v1.CreateHostAuthenticationTokenRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.CreateHostAuthenticationTokenResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: CreateHostAuthenticationToken tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/CreateLLMIntegration: servers: [] post: description: "Creates a new LLM integration for a runner.\n\n Use this method to:\n - Configure LLM access\n - Set up LLM integrations\n - Enable LLM usage" operationId: gitpod.v1.RunnerConfigurationService.CreateLLMIntegration parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.CreateLLMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.CreateLLMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: CreateLLMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/CreateSCMIntegration: servers: [] post: description: "Creates a new SCM integration for a runner.\n\n Use this method to:\n - Configure source control access\n - Set up repository integrations\n - Enable code synchronization\n\n ### Examples\n\n - Create GitHub integration:\n\n Sets up GitHub SCM integration.\n\n ```yaml\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n scmId: \"github\"\n host: \"github.com\"\n oauthClientId: \"client_id\"\n oauthPlaintextClientSecret: \"client_secret\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.CreateSCMIntegration parameters: [] requestBody: content: application/json: examples: create_git_hub_integration: description: Sets up GitHub SCM integration. value: host: github.com oauthClientId: client_id oauthPlaintextClientSecret: client_secret runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 scmId: github schema: $ref: '#/components/schemas/gitpod.v1.CreateSCMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.CreateSCMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: CreateSCMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/DeleteHostAuthenticationToken: servers: [] post: description: "Deletes a host authentication token.\n\n Use this method to:\n - Remove unused tokens\n - Revoke access\n - Clean up expired tokens\n\n ### Examples\n\n - Delete token:\n\n Permanently removes a token.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.DeleteHostAuthenticationToken parameters: [] requestBody: content: application/json: examples: delete_token: description: Permanently removes a token. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.DeleteHostAuthenticationTokenRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.DeleteHostAuthenticationTokenResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: DeleteHostAuthenticationToken tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/DeleteLLMIntegration: servers: [] post: description: "Deletes an LLM integration.\n\n Use this method to:\n - Remove unused integrations\n - Clean up configurations\n - Revoke LLM access\n\n ### Examples\n\n - Delete integration:\n\n Removes an LLM integration.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.DeleteLLMIntegration parameters: [] requestBody: content: application/json: examples: delete_integration: description: Removes an LLM integration. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.DeleteLLMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.DeleteLLMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: DeleteLLMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/DeleteSCMIntegration: servers: [] post: description: "Deletes an SCM integration.\n\n Use this method to:\n - Remove unused integrations\n - Clean up configurations\n - Revoke SCM access\n\n ### Examples\n\n - Delete integration:\n\n Removes an SCM integration.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.DeleteSCMIntegration parameters: [] requestBody: content: application/json: examples: delete_integration: description: Removes an SCM integration. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.DeleteSCMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.DeleteSCMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: DeleteSCMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/GetEnvironmentClass: servers: [] post: description: "Gets details about a specific environment class.\n\n Use this method to:\n - View class configuration\n - Check resource settings\n - Verify availability\n\n ### Examples\n\n - Get class details:\n\n Retrieves information about a specific class.\n\n ```yaml\n environmentClassId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.GetEnvironmentClass parameters: [] requestBody: content: application/json: examples: get_class_details: description: Retrieves information about a specific class. value: environmentClassId: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.GetEnvironmentClassRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.GetEnvironmentClassResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: GetEnvironmentClass tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/GetHostAuthenticationToken: servers: [] post: description: "Gets details about a specific host authentication token.\n\n Use this method to:\n - View token information\n - Check token expiration\n - Verify token validity\n\n ### Examples\n\n - Get token details:\n\n Retrieves information about a specific token.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.GetHostAuthenticationToken parameters: [] requestBody: content: application/json: examples: get_token_details: description: Retrieves information about a specific token. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.GetHostAuthenticationTokenRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.GetHostAuthenticationTokenResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: GetHostAuthenticationToken tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/GetLLMIntegration: servers: [] post: description: "Gets details about a specific LLM integration.\n\n Use this method to:\n - View integration settings\n - Check integration status\n - Verify configuration\n\n ### Examples\n\n - Get integration details:\n\n Retrieves information about a specific integration.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.GetLLMIntegration parameters: [] requestBody: content: application/json: examples: get_integration_details: description: Retrieves information about a specific integration. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.GetLLMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.GetLLMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: GetLLMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/GetRunnerConfigurationSchema: servers: [] post: description: "Gets the latest runner configuration schema.\n\n Use this method to:\n - View available settings\n - Check configuration options\n - Validate configurations\n\n ### Examples\n\n - Get schema:\n\n Retrieves configuration schema for a runner.\n\n ```yaml\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.GetRunnerConfigurationSchema parameters: [] requestBody: content: application/json: examples: get_schema: description: Retrieves configuration schema for a runner. value: runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.GetRunnerConfigurationSchemaRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.GetRunnerConfigurationSchemaResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: GetRunnerConfigurationSchema tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/GetSCMIntegration: servers: [] post: description: "Gets details about a specific SCM integration.\n\n Use this method to:\n - View integration settings\n - Check integration status\n - Verify configuration\n\n ### Examples\n\n - Get integration details:\n\n Retrieves information about a specific integration.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.GetSCMIntegration parameters: [] requestBody: content: application/json: examples: get_integration_details: description: Retrieves information about a specific integration. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.GetSCMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.GetSCMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: GetSCMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/ListEnvironmentClasses: servers: [] post: description: "Lists environment classes with optional filtering.\n\n Use this method to:\n - View available classes\n - Filter by capability\n - Check enabled status\n\n ### Examples\n\n - List all classes:\n\n Shows all environment classes.\n\n ```yaml\n pagination:\n pageSize: 20\n ```\n\n - Filter enabled classes:\n\n Lists only enabled environment classes.\n\n ```yaml\n filter:\n enabled: true\n pagination:\n pageSize: 20\n ```\n buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE" operationId: gitpod.v1.RunnerConfigurationService.ListEnvironmentClasses parameters: - in: query name: pageSize schema: default: 25 maximum: 100 minimum: 0 type: integer - in: query name: token schema: default: '' type: string requestBody: content: application/json: examples: filter_enabled_classes: description: Lists only enabled environment classes. value: filter: enabled: true pagination: pageSize: 20 list_all_classes: description: Shows all environment classes. value: pagination: pageSize: 20 schema: $ref: '#/components/schemas/gitpod.v1.ListEnvironmentClassesRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.ListEnvironmentClassesResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: ListEnvironmentClasses tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/ListHostAuthenticationTokens: servers: [] post: description: "Lists host authentication tokens with optional filtering.\n\n Use this method to:\n - View all tokens\n - Filter by runner or user\n - Monitor token status\n\n ### Examples\n\n - List all tokens:\n\n Shows all tokens with pagination.\n\n ```yaml\n pagination:\n pageSize: 20\n ```\n\n - Filter by runner:\n\n Lists tokens for a specific runner.\n\n ```yaml\n filter:\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n pagination:\n pageSize: 20\n ```" operationId: gitpod.v1.RunnerConfigurationService.ListHostAuthenticationTokens parameters: - in: query name: pageSize schema: default: 25 maximum: 100 minimum: 0 type: integer - in: query name: token schema: default: '' type: string requestBody: content: application/json: examples: filter_by_runner: description: Lists tokens for a specific runner. value: filter: runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 pagination: pageSize: 20 list_all_tokens: description: Shows all tokens with pagination. value: pagination: pageSize: 20 schema: $ref: '#/components/schemas/gitpod.v1.ListHostAuthenticationTokensRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.ListHostAuthenticationTokensResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: ListHostAuthenticationTokens tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/ListLLMIntegrations: servers: [] post: description: "Lists LLM integrations for a runner.\n\n Use this method to:\n - View all integrations\n - Monitor integration status\n - Check available LLMs\n\n ### Examples\n\n - List integrations:\n\n Shows all LLM integrations.\n\n ```yaml\n filter:\n runnerIds: [\"d2c94c27-3b76-4a42-b88c-95a85e392c68\"]\n pagination:\n pageSize: 20\n ```" operationId: gitpod.v1.RunnerConfigurationService.ListLLMIntegrations parameters: - in: query name: pageSize schema: default: 25 maximum: 100 minimum: 0 type: integer - in: query name: token schema: default: '' type: string requestBody: content: application/json: examples: list_integrations: description: Shows all LLM integrations. value: filter: runnerIds: - d2c94c27-3b76-4a42-b88c-95a85e392c68 pagination: pageSize: 20 schema: $ref: '#/components/schemas/gitpod.v1.ListLLMIntegrationsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.ListLLMIntegrationsResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: ListLLMIntegrations tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/ListSCMIntegrations: servers: [] post: description: "Lists SCM integrations for a runner.\n\n Use this method to:\n - View all integrations\n - Monitor integration status\n - Check available SCMs\n\n ### Examples\n\n - List integrations:\n\n Shows all SCM integrations.\n\n ```yaml\n filter:\n runnerIds: [\"d2c94c27-3b76-4a42-b88c-95a85e392c68\"]\n pagination:\n pageSize: 20\n ```" operationId: gitpod.v1.RunnerConfigurationService.ListSCMIntegrations parameters: - in: query name: pageSize schema: default: 25 maximum: 100 minimum: 0 type: integer - in: query name: token schema: default: '' type: string requestBody: content: application/json: examples: list_integrations: description: Shows all SCM integrations. value: filter: runnerIds: - d2c94c27-3b76-4a42-b88c-95a85e392c68 pagination: pageSize: 20 schema: $ref: '#/components/schemas/gitpod.v1.ListSCMIntegrationsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.ListSCMIntegrationsResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: ListSCMIntegrations tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/UpdateEnvironmentClass: servers: [] post: description: "Updates an environment class.\n\n Use this method to:\n - Modify class settings\n - Update resource limits\n - Change availability\n\n ### Examples\n\n - Update class:\n\n Changes class configuration.\n\n ```yaml\n environmentClassId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n displayName: \"Updated Large Instance\"\n description: \"16 CPU, 32GB RAM\"\n enabled: true\n ```" operationId: gitpod.v1.RunnerConfigurationService.UpdateEnvironmentClass parameters: [] requestBody: content: application/json: examples: update_class: description: Changes class configuration. value: description: 16 CPU, 32GB RAM displayName: Updated Large Instance enabled: true environmentClassId: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.UpdateEnvironmentClassRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.UpdateEnvironmentClassResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: UpdateEnvironmentClass tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/UpdateHostAuthenticationToken: servers: [] post: description: "Updates an existing host authentication token.\n\n Use this method to:\n - Refresh token values\n - Update expiration\n - Modify token settings\n\n ### Examples\n\n - Update token:\n\n Updates token value and expiration.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n token: \"gho_xxxxxxxxxxxx\"\n expiresAt: \"2024-12-31T23:59:59Z\"\n refreshToken: \"ghr_xxxxxxxxxxxx\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.UpdateHostAuthenticationToken parameters: [] requestBody: content: application/json: examples: update_token: description: Updates token value and expiration. value: expiresAt: '2024-12-31T23:59:59Z' id: d2c94c27-3b76-4a42-b88c-95a85e392c68 refreshToken: ghr_xxxxxxxxxxxx token: gho_xxxxxxxxxxxx schema: $ref: '#/components/schemas/gitpod.v1.UpdateHostAuthenticationTokenRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.UpdateHostAuthenticationTokenResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: UpdateHostAuthenticationToken tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/UpdateLLMIntegration: servers: [] post: description: "Updates an existing LLM integration.\n\n Use this method to:\n - Modify integration settings\n - Update credentials\n - Change configuration\n\n ### Examples\n\n - Update integration:\n\n Updates OAuth credentials.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n apiKey: \"sk-...\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.UpdateLLMIntegration parameters: [] requestBody: content: application/json: examples: update_integration: description: Updates OAuth credentials. value: apiKey: sk-... id: d2c94c27-3b76-4a42-b88c-95a85e392c68 schema: $ref: '#/components/schemas/gitpod.v1.UpdateLLMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.UpdateLLMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: UpdateLLMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/UpdateSCMIntegration: servers: [] post: description: "Updates an existing SCM integration.\n\n Use this method to:\n - Modify integration settings\n - Update credentials\n - Change configuration\n\n ### Examples\n\n - Update integration:\n\n Updates OAuth credentials.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n oauthClientId: \"new_client_id\"\n oauthPlaintextClientSecret: \"new_client_secret\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.UpdateSCMIntegration parameters: [] requestBody: content: application/json: examples: update_integration: description: Updates OAuth credentials. value: id: d2c94c27-3b76-4a42-b88c-95a85e392c68 oauthClientId: new_client_id oauthPlaintextClientSecret: new_client_secret schema: $ref: '#/components/schemas/gitpod.v1.UpdateSCMIntegrationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.UpdateSCMIntegrationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: UpdateSCMIntegration tags: - gitpod.v1.RunnerConfigurationService /gitpod.v1.RunnerConfigurationService/ValidateRunnerConfiguration: servers: [] post: description: "Validates a runner configuration.\n\n Use this method to:\n - Check configuration validity\n - Verify integration settings\n - Validate environment classes\n\n ### Examples\n\n - Validate SCM integration:\n\n Checks if an SCM integration is valid.\n\n ```yaml\n runnerId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n scmIntegration:\n id: \"integration-id\"\n scmId: \"github\"\n host: \"github.com\"\n oauthClientId: \"client_id\"\n oauthPlaintextClientSecret: \"client_secret\"\n ```" operationId: gitpod.v1.RunnerConfigurationService.ValidateRunnerConfiguration parameters: [] requestBody: content: application/json: examples: validate_scm_integration: description: Checks if an SCM integration is valid. value: runnerId: d2c94c27-3b76-4a42-b88c-95a85e392c68 scmIntegration: host: github.com id: integration-id oauthClientId: client_id oauthPlaintextClientSecret: client_secret scmId: github schema: $ref: '#/components/schemas/gitpod.v1.ValidateRunnerConfigurationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/gitpod.v1.ValidateRunnerConfigurationResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/connect.error' description: Error security: - bearerAuth: [] summary: ValidateRunnerConfiguration tags: - gitpod.v1.RunnerConfigurationService components: schemas: gitpod.v1.RunnerConfigurationSchema.EnumField.Value: additionalProperties: false properties: detail: title: detail type: string subtitle: title: subtitle type: string title: title: title type: string title: Value type: object gitpod.v1.Subject: additionalProperties: false properties: id: description: id is the UUID of the subject format: uuid title: id type: string principal: $ref: '#/components/schemas/gitpod.v1.Principal' description: Principal is the principal of the subject title: principal title: Subject type: object gitpod.v1.DeleteLLMIntegrationRequest: additionalProperties: false properties: force: description: "force skips dependency checks and deletes the integration even if it would\n leave no enabled integration for a model in use" title: force type: boolean id: format: uuid title: id type: string title: DeleteLLMIntegrationRequest type: object gitpod.v1.GetLLMIntegrationResponse: additionalProperties: false properties: integration: $ref: '#/components/schemas/gitpod.v1.LLMIntegration' title: integration title: GetLLMIntegrationResponse type: object gitpod.v1.ListHostAuthenticationTokensRequest: additionalProperties: false properties: filter: $ref: '#/components/schemas/gitpod.v1.ListHostAuthenticationTokensRequest.Filter' title: filter pagination: $ref: '#/components/schemas/gitpod.v1.PaginationRequest' title: pagination title: ListHostAuthenticationTokensRequest type: object gitpod.v1.GetEnvironmentClassRequest: additionalProperties: false properties: environmentClassId: format: uuid title: environment_class_id type: string title: GetEnvironmentClassRequest type: object gitpod.v1.FieldValue: additionalProperties: false properties: key: title: key type: string value: title: value type: string title: FieldValue type: object gitpod.v1.ListLLMIntegrationsRequest: additionalProperties: false properties: filter: $ref: '#/components/schemas/gitpod.v1.ListLLMIntegrationsRequest.Filter' title: filter pagination: $ref: '#/components/schemas/gitpod.v1.PaginationRequest' description: pagination contains the pagination options for listing scm integrations title: pagination title: ListLLMIntegrationsRequest type: object gitpod.v1.LLMIntegration: additionalProperties: false properties: encryptedApiKey: description: encrypted_api_key is the LLM provider's API key encrypted with the runner's public key. format: byte title: encrypted_api_key type: string endpoint: title: endpoint type: string id: description: id is the unique identifier of the LLM integration title: id type: string maxTokens: description: the maximum number of tokens to generate before stopping. 0 is a model default. title: max_tokens type: string models: description: models represents the supported LLM models for this integration items: $ref: '#/components/schemas/gitpod.v1.SupportedModel' title: models type: array phase: $ref: '#/components/schemas/gitpod.v1.LLMIntegrationPhase' description: phase represents the current status/phase of the LLM integration title: phase phaseReason: description: phase_reason provides explanation for the current phase (e.g., "insufficient funds", "user disabled") title: phase_reason type: string requestHeaders: description: request_headers contains optional headers for the LLM integration. items: $ref: '#/components/schemas/gitpod.v1.LLMIntegrationRequestHeader' title: request_headers type: array runnerId: title: runner_id type: string title: LLMIntegration type: object gitpod.v1.UpdateLLMIntegrationRequest: additionalProperties: false properties: apiKey: description: "api_key can be set to update the LLM provider's API key.\n The cleartext secret will be encrypted with the runner's public key before being stored." nullable: true title: api_key type: string endpoint: nullable: true title: endpoint type: string id: format: uuid title: id type: string maxTokens: description: max_tokens can be set to update the maximum number of tokens to generate before stopping. nullable: true title: max_tokens type: string models: description: "models can be updated to change the supported LLM models\n Set list of supported models to the given list.\n Empty list means no updates to the models." items: $ref: '#/components/schemas/gitpod.v1.SupportedModel' title: models type: array phase: $ref: '#/components/schemas/gitpod.v1.LLMIntegrationPhase' description: phase can be set to update the status/phase of the LLM integration nullable: true title: phase requestHeaders: description: request_headers set optional headers for the LLM integration. items: $ref: '#/components/schemas/gitpod.v1.LLMIntegrationRequestHeader' title: request_headers type: array title: UpdateLLMIntegrationRequest type: object gitpod.v1.RunnerConfigurationSchema: additionalProperties: false properties: environmentClasses: items: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.Field' title: environment_classes type: array runnerConfig: items: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.Field' title: runner_config type: array scm: items: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.SCMConfigSchema' title: scm type: array version: description: The schema version title: version type: string title: RunnerConfigurationSchema type: object gitpod.v1.ListLLMIntegrationsResponse: additionalProperties: false properties: integrations: items: $ref: '#/components/schemas/gitpod.v1.LLMIntegration' title: integrations type: array llmManagedByOna: description: llm_managed_by_ona indicates if LLM integrations are managed by Ona Intelligence. title: llm_managed_by_ona type: boolean pagination: $ref: '#/components/schemas/gitpod.v1.PaginationResponse' description: pagination contains the pagination options for listing llm integrations title: pagination title: ListLLMIntegrationsResponse type: object gitpod.v1.CreateHostAuthenticationTokenResponse: additionalProperties: false properties: token: $ref: '#/components/schemas/gitpod.v1.HostAuthenticationToken' title: token required: - token title: CreateHostAuthenticationTokenResponse type: object gitpod.v1.RunnerConfigurationSchema.BoolField: additionalProperties: false properties: default: title: default type: boolean title: BoolField type: object gitpod.v1.LLMIntegrationPhase: description: LLMIntegrationPhase represents the current status/phase of an LLM integration enum: - LLM_INTEGRATION_PHASE_UNSPECIFIED - LLM_INTEGRATION_PHASE_AVAILABLE - LLM_INTEGRATION_PHASE_UNAVAILABLE - LLM_INTEGRATION_PHASE_DISABLED title: LLMIntegrationPhase type: string gitpod.v1.ListHostAuthenticationTokensResponse: additionalProperties: false properties: pagination: $ref: '#/components/schemas/gitpod.v1.PaginationResponse' title: pagination tokens: items: $ref: '#/components/schemas/gitpod.v1.HostAuthenticationToken' title: tokens type: array title: ListHostAuthenticationTokensResponse type: object gitpod.v1.SupportedModel: enum: - SUPPORTED_MODEL_UNSPECIFIED - SUPPORTED_MODEL_SONNET_3_5 - SUPPORTED_MODEL_SONNET_3_7 - SUPPORTED_MODEL_SONNET_3_7_EXTENDED - SUPPORTED_MODEL_SONNET_4 - SUPPORTED_MODEL_SONNET_4_EXTENDED - SUPPORTED_MODEL_SONNET_4_5 - SUPPORTED_MODEL_SONNET_4_5_EXTENDED - SUPPORTED_MODEL_SONNET_4_6 - SUPPORTED_MODEL_SONNET_4_6_EXTENDED - SUPPORTED_MODEL_OPUS_4 - SUPPORTED_MODEL_OPUS_4_EXTENDED - SUPPORTED_MODEL_OPUS_4_5 - SUPPORTED_MODEL_OPUS_4_5_EXTENDED - SUPPORTED_MODEL_OPUS_4_6 - SUPPORTED_MODEL_OPUS_4_6_EXTENDED - SUPPORTED_MODEL_HAIKU_4_5 - SUPPORTED_MODEL_OPENAI_4O - SUPPORTED_MODEL_OPENAI_4O_MINI - SUPPORTED_MODEL_OPENAI_O1 - SUPPORTED_MODEL_OPENAI_O1_MINI title: SupportedModel type: string gitpod.v1.UpdateEnvironmentClassRequest: additionalProperties: false properties: description: maxLength: 200 minLength: 3 nullable: true title: description type: string displayName: maxLength: 127 minLength: 3 nullable: true title: display_name type: string enabled: nullable: true title: enabled type: boolean environmentClassId: format: uuid title: environment_class_id type: string title: UpdateEnvironmentClassRequest type: object gitpod.v1.CreateHostAuthenticationTokenRequest: additionalProperties: false properties: expiresAt: $ref: '#/components/schemas/google.protobuf.Timestamp' title: expires_at host: minLength: 1 title: host type: string integrationId: format: uuid title: integration_id type: string refreshToken: description: stored encrypted, retrieved via GetHostAuthenticationTokenValue title: refresh_token type: string runnerId: format: uuid title: runner_id type: string scopes: description: Maximum 100 scopes allowed (101 for validation purposes) items: maxItems: 101 type: string maxItems: 101 title: scopes type: array source: $ref: '#/components/schemas/gitpod.v1.HostAuthenticationTokenSource' title: source subject: $ref: '#/components/schemas/gitpod.v1.Subject' description: Subject identifies the principal (user or service account) for the token title: subject token: description: stored encrypted, retrieved via GetHostAuthenticationTokenValue minLength: 1 title: token type: string userId: deprecated: true description: 'Deprecated: Use principal_id and principal_type instead' format: uuid title: user_id type: string title: CreateHostAuthenticationTokenRequest type: object gitpod.v1.ListEnvironmentClassesRequest: additionalProperties: false properties: filter: $ref: '#/components/schemas/gitpod.v1.ListEnvironmentClassesRequest.Filter' title: filter pagination: $ref: '#/components/schemas/gitpod.v1.PaginationRequest' description: pagination contains the pagination options for listing environment classes title: pagination title: ListEnvironmentClassesRequest type: object gitpod.v1.RunnerConfigurationSchema.SCMConfigSchema: additionalProperties: false properties: defaultHosts: items: type: string title: default_hosts type: array name: title: name type: string oauth: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.OAuth' title: oauth pat: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.PersonalAccessToken' title: pat scmId: title: scm_id type: string title: SCMConfigSchema type: object gitpod.v1.RunnerKind: description: RunnerKind represents the kind of a runner enum: - RUNNER_KIND_UNSPECIFIED - RUNNER_KIND_LOCAL - RUNNER_KIND_REMOTE - RUNNER_KIND_LOCAL_CONFIGURATION title: RunnerKind type: string gitpod.v1.DeleteLLMIntegrationResponse: additionalProperties: false title: DeleteLLMIntegrationResponse type: object gitpod.v1.DeleteHostAuthenticationTokenResponse: additionalProperties: false title: DeleteHostAuthenticationTokenResponse type: object gitpod.v1.DeleteSCMIntegrationResponse: additionalProperties: false title: DeleteSCMIntegrationResponse type: object gitpod.v1.RunnerConfigurationSchema.OAuth: additionalProperties: false properties: callbackUrl: description: callback_url is the URL the OAuth app will redirect to after the user has authenticated. title: callback_url type: string title: OAuth type: object 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.UpdateEnvironmentClassResponse: additionalProperties: false title: UpdateEnvironmentClassResponse type: object gitpod.v1.GetRunnerConfigurationSchemaRequest: additionalProperties: false properties: runnerId: format: uuid title: runner_id type: string title: GetRunnerConfigurationSchemaRequest 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.RunnerConfigurationSchema.PersonalAccessToken: additionalProperties: false properties: description: description: description is a human-readable description of the PAT. title: description type: string docsLink: description: docs_link is a link to the documentation on how to create a PAT for this SCM system. title: docs_link type: string title: PersonalAccessToken type: object gitpod.v1.UpdateLLMIntegrationResponse: additionalProperties: false title: UpdateLLMIntegrationResponse type: object gitpod.v1.RunnerConfigurationSchema.EnumField: additionalProperties: false properties: default: deprecated: true description: deprecated, will be removed, use default_value instead title: default type: string defaultValue: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.EnumField.Value' title: default_value possibleValues: items: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.EnumField.Value' title: possible_values type: array values: deprecated: true description: deprecated, will be removed, use possible_values instead items: deprecated: true type: string title: values type: array title: EnumField type: object gitpod.v1.CreateLLMIntegrationResponse: additionalProperties: false properties: id: description: id is a uniquely generated identifier for the LLM integration format: uuid title: id type: string title: CreateLLMIntegrationResponse type: object gitpod.v1.ListSCMIntegrationsRequest.Filter: additionalProperties: false properties: runnerIds: description: runner_ids filters the response to only SCM integrations of these Runner IDs items: format: uuid maxItems: 25 type: string maxItems: 25 title: runner_ids type: array title: Filter type: object gitpod.v1.GetSCMIntegrationResponse: additionalProperties: false properties: integration: $ref: '#/components/schemas/gitpod.v1.SCMIntegration' title: integration title: GetSCMIntegrationResponse type: object gitpod.v1.HostAuthenticationTokenSource: enum: - HOST_AUTHENTICATION_TOKEN_SOURCE_UNSPECIFIED - HOST_AUTHENTICATION_TOKEN_SOURCE_OAUTH - HOST_AUTHENTICATION_TOKEN_SOURCE_PAT title: HostAuthenticationTokenSource type: string gitpod.v1.DeleteSCMIntegrationRequest: additionalProperties: false properties: id: format: uuid title: id type: string title: DeleteSCMIntegrationRequest type: object gitpod.v1.RunnerConfigurationSchema.StringField: additionalProperties: false properties: default: title: default type: string pattern: title: pattern type: string title: StringField type: object gitpod.v1.UpdateHostAuthenticationTokenRequest: additionalProperties: false properties: expiresAt: $ref: '#/components/schemas/google.protobuf.Timestamp' nullable: true title: expires_at id: format: uuid title: id type: string refreshToken: nullable: true title: refresh_token type: string scopes: items: type: string title: scopes type: array token: minLength: 1 nullable: true title: token type: string title: UpdateHostAuthenticationTokenRequest type: object gitpod.v1.GetHostAuthenticationTokenResponse: additionalProperties: false properties: token: $ref: '#/components/schemas/gitpod.v1.HostAuthenticationToken' title: token required: - token title: GetHostAuthenticationTokenResponse type: object gitpod.v1.SCMIntegrationValidationResult: additionalProperties: false properties: hostError: nullable: true title: host_error type: string oauthError: nullable: true title: oauth_error type: string patError: nullable: true title: pat_error type: string scmIdError: nullable: true title: scm_id_error type: string valid: title: valid type: boolean title: SCMIntegrationValidationResult type: object gitpod.v1.RunnerConfigurationSchema.DisplayField: additionalProperties: false properties: default: title: default type: string title: DisplayField type: object gitpod.v1.RunnerConfigurationSchema.Field: additionalProperties: false oneOf: - not: anyOf: - required: - display - required: - enum - required: - int - required: - string required: - bool - not: anyOf: - required: - bool - required: - enum - required: - int - required: - string required: - display - not: anyOf: - required: - bool - required: - display - required: - int - required: - string required: - enum - not: anyOf: - required: - bool - required: - display - required: - enum - required: - string required: - int - not: anyOf: - required: - bool - required: - display - required: - enum - required: - int required: - string properties: bool: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.BoolField' title: bool description: title: description type: string display: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.DisplayField' title: display enum: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.EnumField' title: enum id: title: id type: string int: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.IntField' title: int name: title: name type: string required: title: required type: boolean secret: title: secret type: boolean string: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema.StringField' title: string title: Field type: object gitpod.v1.ListEnvironmentClassesRequest.Filter: additionalProperties: false properties: canCreateEnvironments: description: "can_create_environments filters the response to only environment classes that can be used to create new environments\n by the caller. Unlike enabled, which indicates general availability, this ensures the caller only sees environment classes\n they are allowed to use." nullable: true title: can_create_environments type: boolean enabled: description: "enabled filters the response to only enabled or disabled environment classes.\n If not set, all environment classes are returned." nullable: true title: enabled type: boolean runnerIds: description: runner_ids filters the response to only EnvironmentClasses of these Runner IDs items: format: uuid maxItems: 25 type: string maxItems: 25 title: runner_ids type: array runnerKinds: description: runner_kind filters the response to only environment classes from runners of these kinds. items: $ref: '#/components/schemas/gitpod.v1.RunnerKind' maxItems: 25 title: runner_kinds type: array runnerProviders: description: runner_providers filters the response to only environment classes from runners of these providers. items: $ref: '#/components/schemas/gitpod.v1.RunnerProvider' maxItems: 25 title: runner_providers type: array title: Filter type: object gitpod.v1.SCMIntegrationOAuthConfig: additionalProperties: false properties: clientId: description: client_id is the OAuth app's client ID in clear text. title: client_id type: string encryptedClientSecret: description: encrypted_client_secret is the OAuth app's secret encrypted with the runner's public key. format: byte title: encrypted_client_secret type: string issuerUrl: description: "issuer_url is used to override the authentication provider URL, if it doesn't match the SCM host.\n\n +optional if not set, this account is owned by the installation." title: issuer_url type: string title: SCMIntegrationOAuthConfig type: object gitpod.v1.ListSCMIntegrationsResponse: additionalProperties: false properties: integrations: items: $ref: '#/components/schemas/gitpod.v1.SCMIntegration' title: integrations type: array pagination: $ref: '#/components/schemas/gitpod.v1.PaginationResponse' description: pagination contains the pagination options for listing scm integrations title: pagination title: ListSCMIntegrationsResponse type: object gitpod.v1.FieldValidationError: additionalProperties: false properties: error: title: error type: string key: title: key type: string title: FieldValidationError type: object gitpod.v1.ValidateRunnerConfigurationResponse: additionalProperties: false oneOf: - not: anyOf: - required: - scmIntegration required: - environmentClass - not: anyOf: - required: - environmentClass required: - scmIntegration properties: environmentClass: $ref: '#/components/schemas/gitpod.v1.EnvironmentClassValidationResult' title: environment_class scmIntegration: $ref: '#/components/schemas/gitpod.v1.SCMIntegrationValidationResult' title: scm_integration title: ValidateRunnerConfigurationResponse type: object gitpod.v1.CreateLLMIntegrationRequest: additionalProperties: false properties: apiKey: description: api_key is the LLM provider's API key. title: api_key type: string endpoint: title: endpoint type: string maxTokens: description: "max_tokens is the maximum number of tokens to generate before stopping.\n If set to 0, the model's default will be used." title: max_tokens type: string models: description: models represents the LLM models this integration supports items: $ref: '#/components/schemas/gitpod.v1.SupportedModel' minItems: 1 title: models type: array runnerId: format: uuid title: runner_id type: string title: CreateLLMIntegrationRequest type: object gitpod.v1.GetEnvironmentClassResponse: additionalProperties: false properties: environmentClass: $ref: '#/components/schemas/gitpod.v1.EnvironmentClass' title: environment_class title: GetEnvironmentClassResponse type: object gitpod.v1.ValidateRunnerConfigurationRequest: additionalProperties: false oneOf: - not: anyOf: - required: - scmIntegration required: - environmentClass - not: anyOf: - required: - environmentClass required: - scmIntegration properties: environmentClass: $ref: '#/components/schemas/gitpod.v1.EnvironmentClass' title: environment_class runnerId: format: uuid title: runner_id type: string scmIntegration: $ref: '#/components/schemas/gitpod.v1.ValidateRunnerConfigurationRequest.ValidateSCMIntegration' title: scm_integration title: ValidateRunnerConfigurationRequest type: object gitpod.v1.GetLLMIntegrationRequest: additionalProperties: false properties: id: format: uuid title: id type: string title: GetLLMIntegrationRequest type: object gitpod.v1.LLMIntegrationRequestHeader: additionalProperties: false description: "LLMIntegrationRequestHeader represents a custom header to be passed to LLM requests.\n The value field contains:\n - Plain text values in update requests (will be encrypted server-side).\n - Encrypted binary values on read requests (decrypt directly to get original value)." properties: key: title: key type: string value: format: byte title: value type: string title: LLMIntegrationRequestHeader type: object gitpod.v1.ListHostAuthenticationTokensRequest.Filter: additionalProperties: false properties: runnerId: format: uuid nullable: true title: runner_id type: string subjectId: description: Filter by subject (user or service account) format: uuid nullable: true title: subject_id type: string userId: deprecated: true description: 'Deprecated: Use principal_id instead' format: uuid nullable: true title: user_id type: string title: Filter type: object gitpod.v1.UpdateSCMIntegrationRequest: additionalProperties: false properties: id: format: uuid title: id type: string issuerUrl: description: issuer_url can be set to override the authentication provider URL, if it doesn't match the SCM host. nullable: true title: issuer_url type: string oauthClientId: description: "oauth_client_id can be set to update the OAuth app's client ID.\n If an empty string is set, the OAuth configuration will be removed (regardless\n of whether a client secret is set), and any existing Host Authentication Tokens for the\n SCM integration's runner and host that were created using the OAuth app will be deleted.\n This might lead to users being unable to access their repositories until they re-authenticate." nullable: true title: oauth_client_id type: string oauthPlaintextClientSecret: description: "oauth_plaintext_client_secret can be set to update the OAuth app's client secret.\n The cleartext secret will be encrypted with the runner's public key before being stored." nullable: true title: oauth_plaintext_client_secret type: string pat: description: "pat can be set to enable or disable Personal Access Tokens support.\n When disabling PATs, any existing Host Authentication Tokens for the SCM integration's\n runner and host that were created using a PAT will be deleted. This might lead to users\n being unable to access their repositories until they re-authenticate." nullable: true title: pat type: boolean virtualDirectory: description: "virtual_directory is the virtual directory path for Azure DevOps Server (e.g., \"/tfs\").\n This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types.\n Azure DevOps Server APIs work without collection when PAT scope is 'All accessible organizations'." nullable: true title: virtual_directory type: string title: UpdateSCMIntegrationRequest type: object gitpod.v1.ListEnvironmentClassesResponse: additionalProperties: false properties: environmentClasses: items: $ref: '#/components/schemas/gitpod.v1.EnvironmentClass' title: environment_classes type: array pagination: $ref: '#/components/schemas/gitpod.v1.PaginationResponse' description: pagination contains the pagination options for listing environment classes title: pagination title: ListEnvironmentClassesResponse type: object gitpod.v1.CreateEnvironmentClassRequest: additionalProperties: false properties: configuration: items: $ref: '#/components/schemas/gitpod.v1.FieldValue' title: configuration type: array description: maxLength: 200 minLength: 3 title: description type: string displayName: maxLength: 127 minLength: 3 title: display_name type: string runnerId: format: uuid title: runner_id type: string title: CreateEnvironmentClassRequest 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.EnvironmentClassValidationResult: additionalProperties: false properties: configurationErrors: items: $ref: '#/components/schemas/gitpod.v1.FieldValidationError' title: configuration_errors type: array descriptionError: nullable: true title: description_error type: string displayNameError: nullable: true title: display_name_error type: string valid: title: valid type: boolean title: EnvironmentClassValidationResult type: object gitpod.v1.EnvironmentClass: additionalProperties: false properties: configuration: description: configuration describes the configuration of the environment class items: $ref: '#/components/schemas/gitpod.v1.FieldValue' title: configuration type: array description: description: description is a human readable description of the environment class maxLength: 200 minLength: 3 title: description type: string displayName: description: display_name is the human readable name of the environment class maxLength: 127 minLength: 3 title: display_name type: string enabled: description: "enabled indicates whether the environment class can be used to create\n new environments." title: enabled type: boolean id: description: id is the unique identifier of the environment class title: id type: string runnerId: description: runner_id is the unique identifier of the runner the environment class belongs to title: runner_id type: string required: - id - runnerId title: EnvironmentClass type: object gitpod.v1.GetSCMIntegrationRequest: additionalProperties: false properties: id: format: uuid title: id type: string title: GetSCMIntegrationRequest type: object gitpod.v1.SCMIntegration: additionalProperties: false properties: host: title: host type: string id: description: id is the unique identifier of the SCM integration title: id type: string oauth: $ref: '#/components/schemas/gitpod.v1.SCMIntegrationOAuthConfig' nullable: true title: oauth pat: title: pat type: boolean runnerId: title: runner_id type: string scmId: description: scm_id references the scm_id in the runner's configuration schema that this integration is for title: scm_id type: string virtualDirectory: description: "virtual_directory is the virtual directory path for Azure DevOps Server (e.g., \"/tfs\").\n This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types.\n Azure DevOps Server APIs work without collection when PAT scope is 'All accessible organizations'." nullable: true title: virtual_directory type: string title: SCMIntegration type: object gitpod.v1.UpdateSCMIntegrationResponse: additionalProperties: false title: UpdateSCMIntegrationResponse 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 google.protobuf.Timestamp: description: "A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format." format: date-time type: string gitpod.v1.CreateEnvironmentClassResponse: additionalProperties: false properties: id: title: id type: string title: CreateEnvironmentClassResponse type: object gitpod.v1.DeleteHostAuthenticationTokenRequest: additionalProperties: false properties: id: format: uuid title: id type: string title: DeleteHostAuthenticationTokenRequest type: object gitpod.v1.GetHostAuthenticationTokenRequest: additionalProperties: false properties: id: format: uuid title: id type: string title: GetHostAuthenticationTokenRequest type: object gitpod.v1.HostAuthenticationToken: additionalProperties: false properties: expiresAt: $ref: '#/components/schemas/google.protobuf.Timestamp' title: expires_at host: title: host type: string id: title: id type: string integrationId: description: links to integration instance title: integration_id type: string runnerId: title: runner_id type: string scopes: description: token permissions items: type: string title: scopes type: array source: $ref: '#/components/schemas/gitpod.v1.HostAuthenticationTokenSource' description: auth_type title: source subject: $ref: '#/components/schemas/gitpod.v1.Subject' description: 'Subject identifies the principal (user or service account) for the token Note: actual token and refresh_token values are retrieved via GetHostAuthenticationTokenValue API' title: subject userId: deprecated: true description: 'Deprecated: Use principal_id and principal_type instead principal (user)' title: user_id type: string required: - id title: HostAuthenticationToken type: object gitpod.v1.CreateSCMIntegrationResponse: additionalProperties: false properties: id: description: id is a uniquely generated identifier for the SCM integration format: uuid title: id type: string title: CreateSCMIntegrationResponse type: object gitpod.v1.ListSCMIntegrationsRequest: additionalProperties: false properties: filter: $ref: '#/components/schemas/gitpod.v1.ListSCMIntegrationsRequest.Filter' title: filter pagination: $ref: '#/components/schemas/gitpod.v1.PaginationRequest' description: pagination contains the pagination options for listing scm integrations title: pagination title: ListSCMIntegrationsRequest type: object gitpod.v1.RunnerProvider: description: "RunnerProvider identifies the specific implementation type of a runner.\n Each provider maps to a specific kind of runner (local or remote), as\n specified below for each provider." enum: - RUNNER_PROVIDER_UNSPECIFIED - RUNNER_PROVIDER_AWS_EC2 - RUNNER_PROVIDER_LINUX_HOST - RUNNER_PROVIDER_DESKTOP_MAC - RUNNER_PROVIDER_MANAGED - RUNNER_PROVIDER_GCP - RUNNER_PROVIDER_DEV_AGENT title: RunnerProvider type: string gitpod.v1.ListLLMIntegrationsRequest.Filter: additionalProperties: false properties: runnerIds: description: runner_ids filters the response to only LLM integrations of these Runner IDs items: format: uuid maxItems: 25 type: string maxItems: 25 title: runner_ids type: array title: Filter type: object gitpod.v1.UpdateHostAuthenticationTokenResponse: additionalProperties: false title: UpdateHostAuthenticationTokenResponse type: object gitpod.v1.RunnerConfigurationSchema.IntField: additionalProperties: false properties: default: format: int32 title: default type: integer max: format: int32 title: max type: integer min: format: int32 title: min type: integer title: IntField type: object gitpod.v1.GetRunnerConfigurationSchemaResponse: additionalProperties: false properties: schema: $ref: '#/components/schemas/gitpod.v1.RunnerConfigurationSchema' title: schema title: GetRunnerConfigurationSchemaResponse type: object gitpod.v1.CreateSCMIntegrationRequest: additionalProperties: false properties: host: title: host type: string issuerUrl: description: issuer_url can be set to override the authentication provider URL, if it doesn't match the SCM host. nullable: true title: issuer_url type: string oauthClientId: description: "oauth_client_id is the OAuth app's client ID, if OAuth is configured.\n If configured, oauth_plaintext_client_secret must also be set." nullable: true title: oauth_client_id type: string oauthPlaintextClientSecret: description: "oauth_plaintext_client_secret is the OAuth app's client secret in clear text.\n This will first be encrypted with the runner's public key before being stored." nullable: true title: oauth_plaintext_client_secret type: string pat: title: pat type: boolean runnerId: format: uuid title: runner_id type: string scmId: description: scm_id references the scm_id in the runner's configuration schema that this integration is for title: scm_id type: string virtualDirectory: description: "virtual_directory is the virtual directory path for Azure DevOps Server (e.g., \"/tfs\").\n This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types.\n Azure DevOps Server APIs work without collection when PAT scope is 'All accessible organizations'." nullable: true title: virtual_directory type: string title: CreateSCMIntegrationRequest type: object gitpod.v1.ValidateRunnerConfigurationRequest.ValidateSCMIntegration: additionalProperties: false oneOf: - not: anyOf: - required: - oauthPlaintextClientSecret required: - oauthEncryptedClientSecret - not: anyOf: - required: - oauthEncryptedClientSecret required: - oauthPlaintextClientSecret properties: host: title: host type: string id: description: id is the unique identifier of the SCM integration title: id type: string issuerUrl: description: issuer_url can be set to override the authentication provider URL, if it doesn't match the SCM host. nullable: true title: issuer_url type: string oauthClientId: description: "oauth_client_id is the OAuth app's client ID, if OAuth is configured.\n If configured, oauth_client_secret must also be set." nullable: true title: oauth_client_id type: string oauthEncryptedClientSecret: description: "oauth_encrypted_client_secret is the OAuth app's client secret encrypted with the runner's public key,\n if OAuth is configured.\n This can be used to e.g. validate an already encrypted client secret of an existing SCM integration." format: byte title: oauth_encrypted_client_secret type: string oauthPlaintextClientSecret: description: "oauth_plaintext_client_secret is the OAuth app's client secret in clear text, if OAuth is configured.\n This can be set to validate any new client secret before it is encrypted and stored. This value will\n not be stored and get encrypted with the runner's public key before passing it to the runner." title: oauth_plaintext_client_secret type: string pat: title: pat type: boolean scmId: description: scm_id references the scm_id in the runner's configuration schema that this integration is for title: scm_id type: string virtualDirectory: description: "virtual_directory is the virtual directory path for Azure DevOps Server (e.g., \"/tfs\").\n This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types.\n Azure DevOps Server APIs work without collection when PAT scope is 'All accessible organizations'." nullable: true title: virtual_directory type: string title: ValidateSCMIntegration type: object securitySchemes: bearerAuth: bearerFormat: JWT scheme: bearer type: http x-tagGroups: - name: gitpod.v1 tags: - gitpod.v1.AccountService - gitpod.v1.AgentService - gitpod.v1.AgentSecurityService - gitpod.v1.BillingService - gitpod.v1.EditorService - gitpod.v1.EnvironmentAutomationService - gitpod.v1.EnvironmentService - gitpod.v1.ErrorsService - gitpod.v1.EventService - gitpod.v1.GatewayService - gitpod.v1.GroupService - gitpod.v1.IdentityService - gitpod.v1.InsightsService - gitpod.v1.IntegrationService - gitpod.v1.NotificationService - gitpod.v1.OnaIntelligenceService - gitpod.v1.OrganizationService - gitpod.v1.PrebuildService - gitpod.v1.ProjectService - gitpod.v1.RunnerConfigurationService - gitpod.v1.RunnerInteractionService - gitpod.v1.RunnerManagerService - gitpod.v1.RunnerService - gitpod.v1.SecretService - gitpod.v1.ServiceAccountService - gitpod.v1.SessionService - gitpod.v1.TeamService - gitpod.v1.UsageService - gitpod.v1.UserService - gitpod.v1.WebhookService - gitpod.v1.WorkflowService