Github API

Getting access, Developing, Testing

Back to Github

Update a codespace for the authenticated user

Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint.

If you specify a new machine type it will be applied the next time your codespace is started.

You must authenticate using an access token with the codespace scope to use this endpoint.

GitHub Apps must have write access to the codespaces repository permission to use this endpoint.

Input

type: object properties: parameters: type: object properties: codespace_name: type: string description: The name of the codespace. required: - codespace_name title: Parameters data: type: object properties: machine: description: A valid machine to transition this codespace to. type: string display_name: description: Display name for this codespace type: string recent_folders: description: >- Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. type: array items: type: string title: Data

Output

type: object title: Codespace properties: id: type: integer example: 1 name: description: Automatically generated name of this codespace. type: string example: monalisa-octocat-hello-world-g4wpq6h95q display_name: description: Display name for this codespace. type: string example: bookish space pancake nullable: true environment_id: description: UUID identifying this codespace's environment. type: string example: 26a7c758-7299-4a73-b978-5a92a7ae98a0 nullable: true owner: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' billable_owner: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' repository: type: object title: Minimal Repository properties: id: type: integer example: 1296269 node_id: type: string example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5 name: type: string example: Hello-World full_name: type: string example: octocat/Hello-World owner: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' private: type: boolean html_url: type: string format: uri example: https://github.com/octocat/Hello-World description: type: string example: This your first repo! nullable: true fork: type: boolean url: type: string format: uri example: https://api.github.com/repos/octocat/Hello-World archive_url: type: string example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} assignees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/assignees{/user} blobs_url: type: string example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} branches_url: type: string example: http://api.github.com/repos/octocat/Hello-World/branches{/branch} collaborators_url: type: string example: >- http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} comments_url: type: string example: http://api.github.com/repos/octocat/Hello-World/comments{/number} commits_url: type: string example: http://api.github.com/repos/octocat/Hello-World/commits{/sha} compare_url: type: string example: >- http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} contents_url: type: string example: http://api.github.com/repos/octocat/Hello-World/contents/{+path} contributors_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/contributors deployments_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/deployments downloads_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/downloads events_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/events forks_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/forks git_commits_url: type: string example: http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} git_refs_url: type: string example: http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} git_tags_url: type: string example: http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} git_url: type: string issue_comment_url: type: string example: >- http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} issue_events_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues/events{/number} issues_url: type: string example: http://api.github.com/repos/octocat/Hello-World/issues{/number} keys_url: type: string example: http://api.github.com/repos/octocat/Hello-World/keys{/key_id} labels_url: type: string example: http://api.github.com/repos/octocat/Hello-World/labels{/name} languages_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/languages merges_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/merges milestones_url: type: string example: http://api.github.com/repos/octocat/Hello-World/milestones{/number} notifications_url: type: string example: >- http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} pulls_url: type: string example: http://api.github.com/repos/octocat/Hello-World/pulls{/number} releases_url: type: string example: http://api.github.com/repos/octocat/Hello-World/releases{/id} ssh_url: type: string stargazers_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/stargazers statuses_url: type: string example: http://api.github.com/repos/octocat/Hello-World/statuses/{sha} subscribers_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/subscribers subscription_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/subscription tags_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/tags teams_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/teams trees_url: type: string example: http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} clone_url: type: string mirror_url: type: string nullable: true hooks_url: type: string format: uri example: http://api.github.com/repos/octocat/Hello-World/hooks svn_url: type: string homepage: type: string nullable: true language: type: string nullable: true forks_count: type: integer stargazers_count: type: integer watchers_count: type: integer size: description: >- The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. type: integer default_branch: type: string open_issues_count: type: integer is_template: type: boolean topics: type: array items: type: string has_issues: type: boolean has_projects: type: boolean has_wiki: type: boolean has_pages: type: boolean has_downloads: type: boolean has_discussions: type: boolean archived: type: boolean disabled: type: boolean visibility: type: string pushed_at: type: string format: date-time example: '2011-01-26T19:06:43.000Z' nullable: true created_at: type: string format: date-time example: '2011-01-26T19:01:12.000Z' nullable: true updated_at: type: string format: date-time example: '2011-01-26T19:14:43.000Z' nullable: true permissions: type: object properties: admin: type: boolean maintain: type: boolean push: type: boolean triage: type: boolean pull: type: boolean role_name: type: string example: admin temp_clone_token: type: string delete_branch_on_merge: type: boolean subscribers_count: type: integer network_count: type: integer code_of_conduct: type: object title: Code Of Conduct properties: key: type: string example: contributor_covenant name: type: string example: Contributor Covenant url: type: string format: uri example: https://api.github.com/codes_of_conduct/contributor_covenant body: type: string example: > # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ html_url: type: string format: uri nullable: true license: type: object properties: key: type: string name: type: string spdx_id: type: string url: type: string node_id: type: string forks: type: integer example: 0 open_issues: type: integer example: 0 watchers: type: integer example: 0 allow_forking: type: boolean web_commit_signoff_required: type: boolean example: false security_and_analysis: type: object properties: advanced_security: type: object properties: status: type: string enum: - enabled - disabled secret_scanning: type: object properties: status: type: string enum: - enabled - disabled secret_scanning_push_protection: type: object properties: status: type: string enum: - enabled - disabled machine: type: object title: Codespace machine properties: name: type: string description: The name of the machine. example: standardLinux display_name: type: string description: The display name of the machine includes cores, memory, and storage. example: 4 cores, 8 GB RAM, 64 GB storage operating_system: type: string description: The operating system of the machine. example: linux storage_in_bytes: type: integer description: How much storage is available to the codespace. example: 68719476736 memory_in_bytes: type: integer description: How much memory is available to the codespace. example: 8589934592 cpus: type: integer description: How many cores are available to the codespace. example: 4 prebuild_availability: type: string description: >- Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. example: ready enum: - none - ready - in_progress nullable: true devcontainer_path: description: Path to devcontainer.json from repo root used to create Codespace. type: string example: .devcontainer/example/devcontainer.json nullable: true prebuild: description: Whether the codespace was created from a prebuild. type: boolean example: false nullable: true created_at: type: string format: date-time example: '2011-01-26T19:01:12.000Z' updated_at: type: string format: date-time example: '2011-01-26T19:01:12.000Z' last_used_at: description: Last known time this codespace was started. type: string format: date-time example: '2011-01-26T19:01:12.000Z' state: description: State of this codespace. enum: - Unknown - Created - Queued - Provisioning - Available - Awaiting - Unavailable - Deleted - Moved - Shutdown - Archived - Starting - ShuttingDown - Failed - Exporting - Updating - Rebuilding example: Available type: string url: description: API URL for this codespace. type: string format: uri git_status: type: object properties: ahead: description: The number of commits the local repository is ahead of the remote. type: integer example: 0 behind: description: The number of commits the local repository is behind the remote. type: integer example: 0 has_unpushed_changes: description: Whether the local repository has unpushed changes. type: boolean has_uncommitted_changes: description: Whether the local repository has uncommitted changes. type: boolean ref: description: >- The current branch (or SHA if in detached HEAD state) of the local repository. type: string example: main location: description: The initally assigned location of a new codespace. enum: - EastUs - SouthEastAsia - WestEurope - WestUs2 example: WestUs2 type: string idle_timeout_minutes: description: >- The number of minutes of inactivity after which this codespace will be automatically stopped. type: integer example: 60 nullable: true web_url: description: URL to access this codespace on the web. type: string format: uri machines_url: description: API URL to access available alternate machine types for this codespace. type: string format: uri start_url: description: API URL to start this codespace. type: string format: uri stop_url: description: API URL to stop this codespace. type: string format: uri publish_url: description: API URL to publish this codespace to a new repository. type: string format: uri nullable: true pulls_url: description: API URL for the Pull Request associated with this codespace, if any. type: string format: uri nullable: true recent_folders: type: array items: type: string runtime_constraints: type: object properties: allowed_port_privacy_settings: description: The privacy settings a user can select from when forwarding a port. type: array nullable: true items: type: string pending_operation: description: >- Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. type: boolean nullable: true pending_operation_disabled_reason: description: Text to show user when codespace is disabled by a pending operation type: string nullable: true idle_timeout_notice: description: >- Text to show user when codespace idle timeout minutes has been overriden by an organization policy type: string nullable: true retention_period_minutes: description: >- Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). type: integer example: 60 nullable: true retention_expires_at: description: >- When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" type: string format: date-time example: '2011-01-26T20:01:12.000Z' nullable: true last_known_stop_notice: description: >- The text to display to a user when a codespace has been stopped for a potentially actionable reason. type: string example: you've used 100% of your spending limit for Codespaces nullable: true