Codespaces

Endpoints to manage Codespaces using the REST API.

Operations

MethodEndpointDescription
GET/orgs/{org}/codespacesList codespaces for the organization
PUT/orgs/{org}/codespaces/accessManage access control for organization codespaces (deprecated)
POST/orgs/{org}/codespaces/access/selected_usersAdd users to Codespaces access for an organization (deprecated)
DELETE/orgs/{org}/codespaces/access/selected_usersRemove users from Codespaces access for an organization (deprecated)
GET/orgs/{org}/codespaces/secretsList organization secrets
GET/orgs/{org}/codespaces/secrets/public-keyGet an organization public key
GET/orgs/{org}/codespaces/secrets/{secret_name}Get an organization secret
PUT/orgs/{org}/codespaces/secrets/{secret_name}Create or update an organization secret
DELETE/orgs/{org}/codespaces/secrets/{secret_name}Delete an organization secret
GET/orgs/{org}/codespaces/secrets/{secret_name}/repositoriesList selected repositories for an organization secret
PUT/orgs/{org}/codespaces/secrets/{secret_name}/repositoriesSet selected repositories for an organization secret
PUT/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}Add selected repository to an organization secret
DELETE/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}Remove selected repository from an organization secret
GET/orgs/{org}/members/{username}/codespacesList codespaces for a user in organization
DELETE/orgs/{org}/members/{username}/codespaces/{codespace_name}Delete a codespace from the organization
POST/orgs/{org}/members/{username}/codespaces/{codespace_name}/stopStop a codespace for an organization user
GET/repos/{owner}/{repo}/codespacesList codespaces in a repository for the authenticated user
POST/repos/{owner}/{repo}/codespacesCreate a codespace in a repository
GET/repos/{owner}/{repo}/codespaces/devcontainersList devcontainer configurations in a repository for the authenticated user
GET/repos/{owner}/{repo}/codespaces/machinesList available machine types for a repository
GET/repos/{owner}/{repo}/codespaces/newGet default attributes for a codespace
GET/repos/{owner}/{repo}/codespaces/permissions_checkCheck if permissions defined by a devcontainer have been accepted by the authenticated user
GET/repos/{owner}/{repo}/codespaces/secretsList repository secrets
GET/repos/{owner}/{repo}/codespaces/secrets/public-keyGet a repository public key
GET/repos/{owner}/{repo}/codespaces/secrets/{secret_name}Get a repository secret
PUT/repos/{owner}/{repo}/codespaces/secrets/{secret_name}Create or update a repository secret
DELETE/repos/{owner}/{repo}/codespaces/secrets/{secret_name}Delete a repository secret
POST/repos/{owner}/{repo}/pulls/{pull_number}/codespacesCreate a codespace from a pull request
GET/user/codespacesList codespaces for the authenticated user
POST/user/codespacesCreate a codespace for the authenticated user
GET/user/codespaces/secretsList secrets for the authenticated user
GET/user/codespaces/secrets/public-keyGet public key for the authenticated user
GET/user/codespaces/secrets/{secret_name}Get a secret for the authenticated user
PUT/user/codespaces/secrets/{secret_name}Create or update a secret for the authenticated user
DELETE/user/codespaces/secrets/{secret_name}Delete a secret for the authenticated user
GET/user/codespaces/secrets/{secret_name}/repositoriesList selected repositories for a user secret
PUT/user/codespaces/secrets/{secret_name}/repositoriesSet selected repositories for a user secret
PUT/user/codespaces/secrets/{secret_name}/repositories/{repository_id}Add a selected repository to a user secret
DELETE/user/codespaces/secrets/{secret_name}/repositories/{repository_id}Remove a selected repository from a user secret
GET/user/codespaces/{codespace_name}Get a codespace for the authenticated user

The full set of 48 operations is in the API reference.

Example

List codespaces for the organization, with the TypeScript SDK:

ts
import { GitHubV3REST } from "github";

const client = new GitHubV3REST({
  baseUrl: "https://api.github.com",
});

const result = await client.codespaces.listInOrganization({
  org: "org",
});
console.log(result);
Nine more languages

The same call exists in every SDK. See SDKs for the other nine.