GitHub Codespaces API

Endpoints to manage Codespaces using the REST API.

Operations 48

GET /orgs/{org}/codespaces List codespaces for the organization #
PUT /orgs/{org}/codespaces/access Manage access control for organization codespaces #
POST /orgs/{org}/codespaces/access/selected_users Add users to Codespaces access for an organization #
DELETE /orgs/{org}/codespaces/access/selected_users Remove users from Codespaces access for an organization #
GET /orgs/{org}/codespaces/secrets List organization secrets #
GET /orgs/{org}/codespaces/secrets/public-key Get 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}/repositories List selected repositories for an organization secret #
PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories Set 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}/codespaces List 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}/stop Stop a codespace for an organization user #
GET /repos/{owner}/{repo}/codespaces List codespaces in a repository for the authenticated user #
POST /repos/{owner}/{repo}/codespaces Create a codespace in a repository #
GET /repos/{owner}/{repo}/codespaces/devcontainers List devcontainer configurations in a repository for the authenticated user #
GET /repos/{owner}/{repo}/codespaces/machines List available machine types for a repository #
GET /repos/{owner}/{repo}/codespaces/new Get default attributes for a codespace #
GET /repos/{owner}/{repo}/codespaces/permissions_check Check if permissions defined by a devcontainer have been accepted by the… #
GET /repos/{owner}/{repo}/codespaces/secrets List repository secrets #
GET /repos/{owner}/{repo}/codespaces/secrets/public-key Get 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}/codespaces Create a codespace from a pull request #
GET /user/codespaces List codespaces for the authenticated user #
POST /user/codespaces Create a codespace for the authenticated user #
GET /user/codespaces/secrets List secrets for the authenticated user #
GET /user/codespaces/secrets/public-key Get 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}/repositories List selected repositories for a user secret #
PUT /user/codespaces/secrets/{secret_name}/repositories Set 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 #
PATCH /user/codespaces/{codespace_name} Update a codespace for the authenticated user #
DELETE /user/codespaces/{codespace_name} Delete a codespace for the authenticated user #
POST /user/codespaces/{codespace_name}/exports Export a codespace for the authenticated user #
GET /user/codespaces/{codespace_name}/exports/{export_id} Get details about a codespace export #
GET /user/codespaces/{codespace_name}/machines List machine types for a codespace #
POST /user/codespaces/{codespace_name}/publish Create a repository from an unpublished codespace #
POST /user/codespaces/{codespace_name}/start Start a codespace for the authenticated user #
POST /user/codespaces/{codespace_name}/stop Stop a codespace for the authenticated user #

Documentation

📖
Documentation
https://docs.github.com/en/rest/apps
📖
Documentation
https://docs.github.com/en/rest/codes-of-conduct/codes-of-conduct
📖
Documentation
https://docs.github.com/en/rest/emojis
📖
Documentation
https://docs.github.com/en/rest/gitignore
📖
Documentation
https://docs.github.com/en/rest/apps/installations
📖
Documentation
https://docs.github.com/en/rest/enterprise-admin
📖
Documentation
https://docs.github.com/en/rest/activity/events
📖
Documentation
https://docs.github.com/en/rest/orgs
📖
Documentation
https://docs.github.com/en/rest/rate-limit
📖
Documentation
https://docs.github.com/en/enterprise-cloud@latest/rest/scim
📖
Documentation
https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api
📖
Documentation
https://docs.github.com/en/rest/teams
📖
Documentation
https://docs.github.com/en/rest/meta/meta
📖
Documentation
https://docs.github.com/en/rest/actions
📖
Documentation
https://docs.github.com/en/rest/branches
📖
Documentation
https://docs.github.com/en/rest/code-scanning
📖
Documentation
https://docs.github.com/en/rest/collaborators
📖
Documentation
https://docs.github.com/en/rest/dependabot
📖
Documentation
https://docs.github.com/en/rest/webhooks
📖
Documentation
https://docs.github.com/en/rest/pulls
📖
Documentation
https://docs.github.com/en/rest/git/tags
📖
Documentation
https://docs.github.com/en/rest/repos/autolinks
📖
Documentation
https://docs.github.com/en/rest/collaborators/invitations

Specifications

Other Resources

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/github:github-codespaces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

github-codespaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.4
  title: GitHub v3 REST Codespaces API
  description: GitHub's v3 REST API.
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://docs.github.com/articles/github-terms-of-service
  contact:
    name: Support
    url: https://support.github.com/contact?tags=dotcom-rest-api
  x-github-plan: api.github.com
servers:
- url: https://api.github.com
tags:


# --- truncated at 32 KB (277 KB total) ---
# Full source: https://artifacts.apis.io/github/openapi/github-codespaces-api-openapi.yml