Skip to main content
The Gitpod Public API grants direct access to Gitpod data for use cases such as integration into other 3rd party applications.
This document addresses a basic subset of the Gitpod Classic HTTP API. For more powerful access to Gitpod, check out Ona and its API.

Authentication

To authenticate requests, the Gitpod API utilizes Access Token. In the Gitpod settings, you can view and manage your PATs. Keep in mind that your access tokens have a lot of power, so protect them carefully! Avoid disclosing your private Access Tokens in areas that are open to the public, such as GitHub, client-side code, and so forth. To Authenticate you will need to pass an Access Token as an Authorization request header bearer token in the format Bearer <YOUR_ACCESS_TOKEN>. Example cURL command:
cURL

Resource: Workspaces

Create and start a workspace

Creates and starts a new workspace from a context URL such as repositories, issues, pull requests, files URL.
Request Parameters: Response Parameters:

List all workspaces

Lists all the workspaces belongs to the authenticated user in the required organization.

Request Parameters:
Response Parameters:

Get a workspace

Returns details about a specific workspace.

Request Parameters:
Response Parameters:

Start a workspace

Starts an older workspace (instance).
Request Parameters:
Response Parameters: Returns the same response as GetWorkspace.

Stop a workspace

Stops a running workspace (instance).
Request Parameters:
Response: It stops the requested workspace.

Delete a workspace

It deletes the workspace & also stops the workspace if it is running.
Request Parameters:
Response: It deletes the requested workspace.

List workspace sessions

If you are an organization owner, you can list all workspace sessions in the organization. A workspace session is tracked whenever a workspace is started until it is stopped. The responses are paged, and you can specify the page size and page number. The responses are ordered by descending creationTime. You can filter the responses by creationTime range using the from and to arguments. If to is not specified, it defaults to now. If from is not specified, it defaults to 7 days before to.
Request Parameters:
Response: Returns a list of workspace sessions.

Resource: Organizations

You can also view the protocol buffer definitions here for more details.

Create an organization

Creates an organization.

Request Parameters:
Response Parameters:

List all organizations

Lists all the organizations belonging to the authenticated user.

Request Parameters:
Response Parameters:

Get an organization

Returns the details about a single organization.

Request Parameters: Response Parameters:

Delete an organization

Deletes an organization.

Request Parameters:
Response: It deletes the requested organization.

Get an organization’s settings

Returns the settings of an organization.

Request Parameters:
Response Parameters:

Update an organization’s settings

Performs a partial update of an organization’s settings.

For the response parameters under settings, see the Get an organization’s settings section. Request Parameters:
Response Parameters:

Join an organization

Joins an organization.

Request Parameters:
Response Parameters:

Reset organization invitation

Resets/recreates the ID of an organization’s invitation.

Request Parameters:
Response Parameters:

Get list of all organization members

Returns the list of all organization members. And it returns the role of each member, role differs in three categories Owner, Member, Collaborator. Learn more about Member roles.

Request Parameters:
Response Parameters:

Update an organization member role

Updates an organization member role

Request Parameters:
Response Parameters:

Delete or Remove an organization member

Deletes/Removes an organization member.

Request Parameters:
Response: Empty JSON object

Resource: Audit Logs

This is only available in Gitpod Enterprise.

List audit logs

Lists audit logs for the organization of the authenticated user. This API requires organization owner permissions.

Request Parameters:
Response Parameters:

Resource: Configurations (aka Repository Settings)

Configurations are the API nomenclature used for interacting with Repositories. You can also view the protocol buffer definitions here for more details.

Create Configuration

Imports a repository into Gitpod.

Request Parameters: Response Parameters:

Get Configuration

Retrieves a single configuration.

Request Parameters: Response Parameters:

List Configurations

Lists all configurations for an organization.

Request Parameters: Response Parameters:

Update Configuration

Updates a configuration.

Request Parameters: Response Parameters:

Delete Configuration

Deletes a configuration.

Request Parameters: Response Parameters: none

Resource: Environment Variables

GItpod offers programmatic access to manage environment variables of Imported repositories. You can also view the protocol buffer definitions here for more details.

Create Configuration Environment Variable

Creates an environment variable for a configuration.

Request Parameters: Response Parameters:

List Configuration Environment Variables

Lists all environment variables for a configuration.

Request Parameters: Response Parameters:

Delete Configuration Environment Variable

Deletes an environment variable for a configuration.

Request Parameters: Response Parameters: none