{ "opencollection": "1.0.0", "info": { "name": "gitpod.v1 gitpod.v1.AccountService gitpod.v1.EnvironmentService API", "version": "v1.0.0" }, "items": [ { "info": { "name": "gitpod.v1.EnvironmentService", "type": "folder" }, "items": [ { "info": { "name": "AllowPortAccess", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/AllowPortAccess", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Deprecated: Use local validation with the environment state cache instead.\n\n Checks if the authenticated caller can access a specific port on an environment.\n This is called by the Runner Proxy to validate access tokens against current state.\n The caller's identity is extracted from the JWT in the request context.\n\n ### Examples\n\n - Check port access:\n\n Verifies if the caller can access port 8080 on an environment.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n port: 8" }, { "info": { "name": "CreateEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/CreateEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates a development environment from a context URL (e.g. Git repository) and starts it.\n\n The `class` field must be a valid environment class ID. You can find a list of\n available environment classes with the `ListEnvironmentClasses` method.\n\n ### Examples\n\n - Create from context URL:\n\n Creates an environment from a Git repository URL with default settings.\n\n ```yaml\n spec:\n machine:\n class: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n content:\n initializer:\n specs" }, { "info": { "name": "CreateEnvironmentAccessToken", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/CreateEnvironmentAccessToken", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates an access token for the environment.\n\n Generated tokens are valid for one hour and provide environment-specific access permissions.\n The token is scoped to a specific environment.\n\n ### Examples\n\n - Generate environment token:\n\n Creates a temporary access token for accessing an environment.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n ```" }, { "info": { "name": "CreateEnvironmentFromProject", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/CreateEnvironmentFromProject", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates an environment from an existing project configuration and starts it.\n\n This method uses project settings as defaults but allows overriding specific\n configurations. Project settings take precedence over default configurations,\n while custom specifications in the request override project settings.\n\n ### Examples\n\n - Create with project defaults:\n\n Creates an environment using all default settings from the project configuration.\n\n ```yaml\n projectId: \"b0e12f6c-4c67-429d-a4a6-d9838b5d" }, { "info": { "name": "CreateEnvironmentLogsToken", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/CreateEnvironmentLogsToken", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates an access token for retrieving environment logs.\n\n Generated tokens are valid for one hour and provide read-only access\n to the environment's logs.\n\n ### Examples\n\n - Generate logs token:\n\n Creates a temporary access token for retrieving environment logs.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n ```" }, { "info": { "name": "CreatePortAccessToken", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/CreatePortAccessToken", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates an access token for a specific port on an environment.\n\n The token grants access to the specified port based on the port's admission level.\n Tokens are short-lived (~1 hour) with refresh tokens for long-running connections.\n\n ### Examples\n\n - Generate port access token:\n\n Creates a token for accessing port 8080 on an environment.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n port: 8080\n ```" }, { "info": { "name": "DeleteEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/DeleteEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Permanently deletes an environment.\n\n Running environments are automatically stopped before deletion. If force\n is true, the environment is deleted immediately without graceful shutdown.\n\n ### Examples\n\n - Delete with graceful shutdown:\n\n Deletes an environment after gracefully stopping it.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n force: false\n ```\n\n - Force delete:\n\n Immediately deletes an environment without waiting for graceful shutdown.\n\n ```yaml\n env" }, { "info": { "name": "GetEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/GetEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Gets details about a specific environment including its status, configuration, and context URL.\n\n Use this method to:\n - Check if an environment is ready to use\n - Get connection details for IDE and exposed ports\n - Monitor environment health and resource usage\n - Debug environment setup issues\n\n ### Examples\n\n - Get environment details:\n\n Retrieves detailed information about a specific environment using its unique identifier.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048" }, { "info": { "name": "ListEnvironmentClasses", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/ListEnvironmentClasses", "params": [ { "name": "pageSize", "value": "", "type": "query" }, { "name": "token", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Lists available environment classes with their specifications and resource limits.\n\n Use this method to understand what types of environments you can create and their\n capabilities. Environment classes define the compute resources and features available\n to your environments.\n\n ### Examples\n\n - List all available classes:\n\n Retrieves a list of all environment classes with their specifications.\n\n ```yaml\n {}\n ```\n buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE" }, { "info": { "name": "ListEnvironments", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/ListEnvironments", "params": [ { "name": "pageSize", "value": "", "type": "query" }, { "name": "token", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Lists all environments matching the specified criteria.\n\n Use this method to find and monitor environments across your organization.\n Results are ordered by creation time with newest environments first.\n\n ### Examples\n\n - List running environments for a project:\n\n Retrieves all running environments for a specific project with pagination.\n\n ```yaml\n filter:\n statusPhases: [\"ENVIRONMENT_PHASE_RUNNING\"]\n projectIds: [\"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"]\n pagination:\n pageSize" }, { "info": { "name": "MarkEnvironmentActive", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/MarkEnvironmentActive", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Records environment activity to prevent automatic shutdown.\n\n Activity signals should be sent every 5 minutes while the environment\n is actively being used. The source must be between 3-80 characters.\n\n ### Examples\n\n - Signal VS Code activity:\n\n Records VS Code editor activity to prevent environment shutdown.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n activitySignal:\n source: \"VS Code\"\n timestamp: \"2025-02-12T14:30:00Z\"\n ```" }, { "info": { "name": "StartEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/StartEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Starts a stopped environment.\n\n Use this method to resume work on a previously stopped environment. The environment\n retains its configuration and workspace content from when it was stopped.\n\n ### Examples\n\n - Start an environment:\n\n Resumes a previously stopped environment with its existing configuration.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n ```" }, { "info": { "name": "StopEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/StopEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Stops a running environment.\n\n Use this method to pause work while preserving the environment's state.\n The environment can be resumed later using StartEnvironment.\n\n ### Examples\n\n - Stop an environment:\n\n Gracefully stops a running environment while preserving its state.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n ```" }, { "info": { "name": "UnarchiveEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/UnarchiveEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Unarchives an environment.\n\n ### Examples\n\n - Unarchive an environment:\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n ```" }, { "info": { "name": "UpdateEnvironment", "type": "http" }, "http": { "method": "POST", "url": "https://api.gitpod.io/gitpod.v1.EnvironmentService/UpdateEnvironment", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Updates an environment's configuration while it is running.\n\n Updates are limited to:\n - Git credentials (username, email)\n - SSH public keys\n - Content initialization\n - Port configurations\n - Automation files\n - Environment timeouts\n\n ### Examples\n\n - Update Git credentials:\n\n Updates the Git configuration for the environment.\n\n ```yaml\n environmentId: \"07e03a28-65a5-4d98-b532-8ea67b188048\"\n spec:\n content:\n gitUsername: \"example-user\"\n gitEmail: \"user@example.com\"\n `" } ] } ], "bundled": true }