# CODE STORAGE > DOCS > Documentation for Code Storage, Git infrastructure for agents. Create repositories, write commits, and get Git remote URLs through the SDK, the HTTP API, or Git over HTTPS. ## Docs - [Introduction](https://code.storage/docs/getting-started/introduction.md): Code Storage is managed Git infrastructure for agents. Create repositories, write commits, merge branches, and get Git remote URLs through the SDK, the HTTP API, or Git over HTTPS. - [Agent Setup](https://code.storage/docs/getting-started/agent-setup.md): Set up your agent with the current Code Storage docs. Choose MCP, llms.txt, Markdown pages, or the Code Storage skill. - [Authentication & Security](https://code.storage/docs/getting-started/authentication.md): Create an API key, store it, sign JWTs, and set permission scopes and ref policies for Code Storage. - [Quick Start](https://code.storage/docs/getting-started/quickstart.md): Install the SDK, initialize the client, create a repository, and make your first commit. - [Git Operations](https://code.storage/docs/guides/git-operations.md): Use standard Git commands with Code Storage over HTTPS. Clone, push, pull, and fetch with JWT-authenticated remotes. - [Git LFS](https://code.storage/docs/guides/git-lfs.md): Track large files with Git LFS over the same JWT-authenticated remote you already use. No separate LFS server, no extra configuration. - [Git Notes](https://code.storage/docs/guides/git-notes.md): Attach metadata to commits without changing commit history, and keep different note streams isolated by ref. - [Ref Policies](https://code.storage/docs/guides/ref-policies.md): Use JWT ref policies for branch protection. Limit the refs that a token can update and the update types it permits. - [Commit Signing](https://code.storage/docs/guides/commit-signing.md): Register OpenPGP or SSH public keys. Use a ref policy to require signed commits on selected refs. - [Import Namespace](https://code.storage/docs/guides/imports.md): Push large repositories into Code Storage. Code Storage immediately moves them to cold storage to keep disk use low. - [Ephemeral Namespace](https://code.storage/docs/guides/ephemeral-branches.md): Create isolated refs for previews, CI artifacts, and experiments. Promote an ephemeral branch to the default namespace. - [Repository Forks](https://code.storage/docs/guides/forking.md): Create independent repository copies for experiments, templates, and isolated development. - [GitHub Sync](https://code.storage/docs/guides/github-sync.md): Mirror a GitHub repository through Code Storage with GitHub App sync, public mode, and Git LFS. - [Generic Sync](https://code.storage/docs/guides/generic-sync.md): Mirror a GitLab, Bitbucket, Gitea, Forgejo, Codeberg, or SourceHut repository through Code Storage over HTTPS. - [Webhooks](https://code.storage/docs/guides/webhooks.md): Receive real-time HTTP POST notifications when code changes and sync lifecycle events. Subscribe to push and repo sync events, verify HMAC signatures for security, and integrate Code Storage into your CI/CD pipelines, monitoring systems, and product workflows. - [Connect a Sandbox](https://code.storage/docs/guides/sandboxes.md): Clone repositories into third-party sandboxes, such as Modal, E2B, and Daytona, with authenticated Git URLs. - [Store Session State](https://code.storage/docs/guides/session-state.md): Store session state as ephemeral commits, exchange commit pointers, and keep normal branches unchanged. - [Resume Sandbox Work](https://code.storage/docs/guides/resume-sandbox-work.md): Restore the last session state in a new sandbox and reject writes from the old sandbox. - [Run Parallel Attempts](https://code.storage/docs/guides/parallel-attempts.md): Start several agent attempts from one commit, compare their diffs, and promote the best result. - [Show Live Diffs](https://code.storage/docs/guides/live-diffs.md): Render an agent branch as a live diff and refresh the view when a new state arrives. - [Code Storage SDK](https://code.storage/docs/reference/sdk/index.md): The simplest way to work with Code Storage. Generate authenticated URLs, create commits without git, stream file contents, and manage repositories—all from your application code. - [createRepo()](https://code.storage/docs/reference/sdk/create-repo.md): Create a new repository with optional custom ID, default branch, Git Sync configuration, or a fork from an existing repository. - [findOne()](https://code.storage/docs/reference/sdk/find-one.md): Find an existing repository by its ID. - [listRepos()](https://code.storage/docs/reference/sdk/list-repos.md): List all repositories in your organization with pagination support. - [deleteRepo()](https://code.storage/docs/reference/sdk/delete-repo.md): Permanently delete a repository and all its contents. - [getRemoteURL()](https://code.storage/docs/reference/sdk/get-remote-url.md): Generate secure Git URLs with embedded JWT authentication. - [getEphemeralRemoteURL()](https://code.storage/docs/reference/sdk/get-ephemeral-remote-url.md): Generate authenticated Git URLs that point to the +ephemeral namespace. - [getImportRemoteURL()](https://code.storage/docs/reference/sdk/get-import-remote-url.md): Generate authenticated Git URLs pointing to the +import namespace for bulk repository ingestion. - [pullUpstream()](https://code.storage/docs/reference/sdk/pull-upstream.md): Force a pull from the configured upstream provider for a synced repository. - [createGitCredential()](https://code.storage/docs/reference/sdk/create-git-credential.md): Store a Git credential for a repository configured with a generic HTTPS Git provider. - [updateGitCredential()](https://code.storage/docs/reference/sdk/update-git-credential.md): Update an existing Git credential for a repository. - [deleteGitCredential()](https://code.storage/docs/reference/sdk/delete-git-credential.md): Remove a stored Git credential from a repository. - [listBranches()](https://code.storage/docs/reference/sdk/list-branches.md): List all branches in the repository with pagination support. - [createBranch()](https://code.storage/docs/reference/sdk/create-branch.md): Create a new branch from an existing branch, optionally using the ephemeral namespace. - [deleteBranch()](https://code.storage/docs/reference/sdk/delete-branch.md): Delete a branch from the repository. - [previewMerge()](https://code.storage/docs/reference/sdk/preview-merge.md): Preview whether a source branch can merge into a target branch without creating commits or updating refs. - [merge()](https://code.storage/docs/reference/sdk/merge.md): Merge one branch into another with merge, fast-forward-only, or fast-forward-preferred behavior. - [getBranchDiff()](https://code.storage/docs/reference/sdk/get-branch-diff.md): Get the diff between a branch and its base. - [listCommits()](https://code.storage/docs/reference/sdk/list-commits.md): List commit history with optional branch filtering. - [getCommit()](https://code.storage/docs/reference/sdk/get-commit.md): Get metadata for a single commit without computing its diff. - [createCommit()](https://code.storage/docs/reference/sdk/create-commit.md): Build and push a commit to a branch using the fluent commit builder. - [createCommitFromDiff()](https://code.storage/docs/reference/sdk/create-commit-from-diff.md): Apply a pre-generated Git patch without constructing a builder. - [getCommitDiff()](https://code.storage/docs/reference/sdk/get-commit-diff.md): Get the diff for a specific commit. - [restoreCommit()](https://code.storage/docs/reference/sdk/restore-commit.md): Create a commit rolling a branch back to a certain commit. - [listFiles()](https://code.storage/docs/reference/sdk/list-files.md): List all files in the repository at a specific ref. - [listFilesWithMetadata()](https://code.storage/docs/reference/sdk/list-files-with-metadata.md): List all files in the repository at a specific ref, with per-file git metadata. - [getFileStream()](https://code.storage/docs/reference/sdk/get-file-stream.md): Retrieve file content as a streaming response. - [headFile()](https://code.storage/docs/reference/sdk/head-file.md): Inspect file metadata without downloading the file body. - [getArchiveStream()](https://code.storage/docs/reference/sdk/get-archive-stream.md): Download a repository archive as a streaming tar.gz response. - [grep()](https://code.storage/docs/reference/sdk/grep.md): Search for patterns within repository content using regular expressions. - [getBlame()](https://code.storage/docs/reference/sdk/get-blame.md): Show what revision and author last modified each line of a file. - [listTags()](https://code.storage/docs/reference/sdk/list-tags.md): List all tags in the repository with pagination support. - [createTag()](https://code.storage/docs/reference/sdk/create-tag.md): Create a lightweight tag pointing to a specific commit. - [deleteTag()](https://code.storage/docs/reference/sdk/delete-tag.md): Delete a tag from the repository. - [getNote()](https://code.storage/docs/reference/sdk/get-note.md): Read a note attached to a specific commit. - [createNote()](https://code.storage/docs/reference/sdk/create-note.md): Create a new note on a commit. Fails if a note already exists. - [appendNote()](https://code.storage/docs/reference/sdk/append-note.md): Append content to an existing note (creates if it doesn't exist). - [deleteNote()](https://code.storage/docs/reference/sdk/delete-note.md): Remove a note from a commit. - [Code Storage HTTP API](https://code.storage/docs/reference/api/overview.md): Reference overview for the Code Storage HTTP API: base URL, JWT authentication, cursor pagination, and error format. - [Get Repo Url By Id](https://code.storage/docs/reference/api/repositories/get-repo-url-by-id.md): Resolve the repository URL path for an internal repository ID in the current organisation. The returned `url` is the value clients use in the JWT `repo` claim. #### JWT claims Required scopes: `org:read` Requires per repo scope: No - [List Repos](https://code.storage/docs/reference/api/repositories/list-repos.md): List repositories for the current organisation with cursor-based pagination. Supply `q` to filter results by a case-insensitive substring match against the repository `url` (for example `pierre/sdk-documentation`). #### JWT claims Required scopes: `org:read` Requires per repo scope: No - [Create Repo](https://code.storage/docs/reference/api/repositories/create-repo.md): Create a repository using the repo name embedded in the JWT. You can start empty, mirror an upstream repository, or fork another Code Storage repository into a new independent repo. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Get Repo](https://code.storage/docs/reference/api/repositories/get-repo.md): Fetch repository metadata for the repository identified by the JWT `repo` claim. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Delete Repo](https://code.storage/docs/reference/api/repositories/delete-repo.md): Permanently retire a repository. The API performs a soft delete first and then triggers asynchronous hot and cold storage cleanup. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Update Repository Settings](https://code.storage/docs/reference/api/repositories/update-repository-settings.md): Change the default branch of the repository identified by the JWT `repo` claim. - [Unset Base Repo](https://code.storage/docs/reference/api/repositories/unset-base-repo.md): Detach the repository from its configured upstream provider. The operation is idempotent: already-detached repositories return success. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Create Git Credential](https://code.storage/docs/reference/api/repositories/create-git-credential.md): Create a stored HTTPS credential for a repository configured with a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Update Git Credential](https://code.storage/docs/reference/api/repositories/update-git-credential.md): Update a stored HTTPS credential for a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Delete Git Credential](https://code.storage/docs/reference/api/repositories/delete-git-credential.md): Delete a stored HTTPS credential for a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Pull Upstream](https://code.storage/docs/reference/api/repositories/pull-upstream.md): Trigger a sync from the configured upstream for the repository in the JWT `repo` claim. This only works for repositories that were created with an upstream `base_repo`. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Get Repo](https://code.storage/docs/reference/api/repositories/get-repo-1.md): Fetch repository metadata for the repository identified by the JWT `repo` claim. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Update Repository Settings](https://code.storage/docs/reference/api/repositories/update-repository-settings-1.md): Change the default branch of the repository identified by the JWT `repo` claim. - [List Repos](https://code.storage/docs/reference/api/repositories/list-repos-1.md): List repositories for the current organisation with cursor-based pagination. Supply `q` to filter results by a case-insensitive substring match against the repository `url` (for example `pierre/sdk-documentation`). #### JWT claims Required scopes: `org:read` Requires per repo scope: No - [Create Repo](https://code.storage/docs/reference/api/repositories/create-repo-1.md): Create a repository using the repo name embedded in the JWT. You can start empty, mirror an upstream repository, or fork another Code Storage repository into a new independent repo. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Unset Base Repo](https://code.storage/docs/reference/api/repositories/unset-base-repo-1.md): Detach the repository from its configured upstream provider. The operation is idempotent: already-detached repositories return success. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Delete Repo](https://code.storage/docs/reference/api/repositories/delete-repo-1.md): Permanently retire a repository. The API performs a soft delete first and then triggers asynchronous hot and cold storage cleanup. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Update Git Credential](https://code.storage/docs/reference/api/repositories/update-git-credential-1.md): Update a stored HTTPS credential for a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Create Git Credential](https://code.storage/docs/reference/api/repositories/create-git-credential-1.md): Create a stored HTTPS credential for a repository configured with a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Delete Git Credential](https://code.storage/docs/reference/api/repositories/delete-git-credential-1.md): Delete a stored HTTPS credential for a generic Git upstream. #### JWT claims Required scopes: `repo:write` Requires per repo scope: Yes - [Pull Upstream](https://code.storage/docs/reference/api/repositories/pull-upstream-1.md): Trigger a sync from the configured upstream for the repository in the JWT `repo` claim. This only works for repositories that were created with an upstream `base_repo`. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Archive](https://code.storage/docs/reference/api/files/archive.md): Download a repository snapshot without cloning the repo. This is useful for packaging docs, examples, or release artefacts directly from a branch, tag, or commit. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Blame](https://code.storage/docs/reference/api/files/blame.md): Return per-line blame metadata for a file at a branch, tag, or commit. Supports `git blame -L`-style range filters and rename/copy detection for callers building IDE blame views or audit tooling. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get File](https://code.storage/docs/reference/api/files/get-file.md): Stream a file directly from the repository with byte ranges, ETag validators, and Last-Modified conditionals. Use `ref` to read from a branch, tag, or commit without cloning the repo locally. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get File Headers](https://code.storage/docs/reference/api/files/get-file-headers.md): Return file metadata headers for a repository file without streaming the file body. Supports byte ranges, ETag validators, and Last-Modified conditionals. Use `ref` to inspect a branch, tag, or commit without cloning the repo locally. #### JWT claims Required scopes: `git:read` Requires per repo s… - [List Files](https://code.storage/docs/reference/api/files/list-files.md): List files or direct child entries at a branch, tag, or commit without cloning the repository. Each entry includes its path, Git mode, and derived type (`blob`, `tree`, `symlink`, or `submodule`). Trees no longer carry a trailing `/`; branch on `type` instead. #### JWT claims Required scopes: `git:r… - [List Files with Metadata](https://code.storage/docs/reference/api/files/list-files-with-metadata.md): Return a recursive file tree together with per-file commit metadata in one request. Each file also includes a derived `type` field for symmetry with `/files`. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Grep](https://code.storage/docs/reference/api/files/grep.md): Search a repository without cloning it. Results are paginated and can include surrounding context lines so downstream tools only fetch the relevant slices. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Archive](https://code.storage/docs/reference/api/files/archive-1.md): Download a repository snapshot without cloning the repo. This is useful for packaging docs, examples, or release artefacts directly from a branch, tag, or commit. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Blame](https://code.storage/docs/reference/api/files/blame-1.md): Return per-line blame metadata for a file at a branch, tag, or commit. Supports `git blame -L`-style range filters and rename/copy detection for callers building IDE blame views or audit tooling. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get File](https://code.storage/docs/reference/api/files/get-file-1.md): Stream a file directly from the repository with byte ranges, ETag validators, and Last-Modified conditionals. Use `ref` to read from a branch, tag, or commit without cloning the repo locally. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get File Headers](https://code.storage/docs/reference/api/files/get-file-headers-1.md): Return file metadata headers for a repository file without streaming the file body. Supports byte ranges, ETag validators, and Last-Modified conditionals. Use `ref` to inspect a branch, tag, or commit without cloning the repo locally. #### JWT claims Required scopes: `git:read` Requires per repo s… - [List Files](https://code.storage/docs/reference/api/files/list-files-1.md): List files or direct child entries at a branch, tag, or commit without cloning the repository. Each entry includes its path, Git mode, and derived type (`blob`, `tree`, `symlink`, or `submodule`). Trees no longer carry a trailing `/`; branch on `type` instead. #### JWT claims Required scopes: `git:r… - [List Files with Metadata](https://code.storage/docs/reference/api/files/list-files-with-metadata-1.md): Return a recursive file tree together with per-file commit metadata in one request. Each file also includes a derived `type` field for symmetry with `/files`. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Grep](https://code.storage/docs/reference/api/files/grep-1.md): Search a repository without cloning it. Results are paginated and can include surrounding context lines so downstream tools only fetch the relevant slices. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [List Branches](https://code.storage/docs/reference/api/branches/list-branches.md): List branches in the repository with cursor pagination. Use this to build branch selectors, review tools, or sync jobs without shelling out to Git. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Delete Branch](https://code.storage/docs/reference/api/branches/delete-branch.md): Delete a branch from the repository. The default branch is protected and cannot be deleted through this endpoint. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Create Branch](https://code.storage/docs/reference/api/branches/create-branch.md): Create a new branch from an existing branch or ref. This is useful for agent workflows, ephemeral previews, or server-side automation where you do not want to clone the repo first. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Merge Branch](https://code.storage/docs/reference/api/branches/merge-branch.md): Merge changes between branches without cloning the repository or shelling out to Git. This endpoint also supports promoting work from ephemeral branches into long-lived branches such as `main`. Omit `expected_target_sha` to merge into the current target tip and allow the gateway to retry stale targe… - [Preview Merge](https://code.storage/docs/reference/api/branches/preview-merge.md): Preview merge conflicts without creating commits, updating refs, or touching a working tree. When requested, conflict content is rendered from Git objects produced in request-local scratch storage. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [List Branches](https://code.storage/docs/reference/api/branches/list-branches-1.md): List branches in the repository with cursor pagination. Use this to build branch selectors, review tools, or sync jobs without shelling out to Git. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Delete Branch](https://code.storage/docs/reference/api/branches/delete-branch-1.md): Delete a branch from the repository. The default branch is protected and cannot be deleted through this endpoint. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Create Branch](https://code.storage/docs/reference/api/branches/create-branch-1.md): Create a new branch from an existing branch or ref. This is useful for agent workflows, ephemeral previews, or server-side automation where you do not want to clone the repo first. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Merge Branch](https://code.storage/docs/reference/api/branches/merge-branch-1.md): Merge changes between branches without cloning the repository or shelling out to Git. This endpoint also supports promoting work from ephemeral branches into long-lived branches such as `main`. Omit `expected_target_sha` to merge into the current target tip and allow the gateway to retry stale targe… - [Preview Merge](https://code.storage/docs/reference/api/branches/preview-merge-1.md): Preview merge conflicts without creating commits, updating refs, or touching a working tree. When requested, conflict content is rendered from Git objects produced in request-local scratch storage. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get Branch Diff](https://code.storage/docs/reference/api/commits/get-branch-diff.md): Compare a feature branch to its base branch and return every change that would be reviewed before a merge. Repeated `path` filters limit the diff to selected files and bypass the usual large-file filtering for those requested paths. #### JWT claims Required scopes: `git:read` Requires per repo sco… - [Get Commit](https://code.storage/docs/reference/api/commits/get-commit.md): Resolve a branch name, short SHA, or full SHA to a commit and return the same metadata shape used in commit listings. Use this when you need commit details without computing a diff. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Commit from Files](https://code.storage/docs/reference/api/commits/create-commit-from-files.md): Create a commit by streaming file operations directly to the service. This is designed for automation, AI agents, and other workflows that need atomic Git writes without running a local Git process. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [List Commits](https://code.storage/docs/reference/api/commits/list-commits.md): List commit history for the repository default branch or for an explicit branch. Results are cursor-paginated and ordered by commit date, newest first. Set `path` to restrict the history to commits that modified a specific file or subtree. #### JWT claims Required scopes: `git:read` Requires per r… - [Get Commit Diff](https://code.storage/docs/reference/api/commits/get-commit-diff.md): Get the diff for a commit, optionally relative to a specific base commit. Repeated `path` parameters narrow the diff to selected files or directories. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Commit from Diff](https://code.storage/docs/reference/api/commits/create-commit-from-diff.md): Create a commit by streaming a Git patch instead of individual file blobs. Use this when your workflow already produces unified diffs or generated patches. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Reset Branch to Commit](https://code.storage/docs/reference/api/commits/reset-branch-to-commit.md): Create a new commit that resets a branch back to a specific commit SHA while preserving normal Git history. - [Restore Commit](https://code.storage/docs/reference/api/commits/restore-commit.md): Create a new commit that resets a branch back to a specific commit SHA while preserving normal Git history. - [Get Branch Diff](https://code.storage/docs/reference/api/commits/get-branch-diff-1.md): Compare a feature branch to its base branch and return every change that would be reviewed before a merge. Repeated `path` filters limit the diff to selected files and bypass the usual large-file filtering for those requested paths. #### JWT claims Required scopes: `git:read` Requires per repo sco… - [Get Commit](https://code.storage/docs/reference/api/commits/get-commit-1.md): Resolve a branch name, short SHA, or full SHA to a commit and return the same metadata shape used in commit listings. Use this when you need commit details without computing a diff. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Commit from Files](https://code.storage/docs/reference/api/commits/create-commit-from-files-1.md): Create a commit by streaming file operations directly to the service. This is designed for automation, AI agents, and other workflows that need atomic Git writes without running a local Git process. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [List Commits](https://code.storage/docs/reference/api/commits/list-commits-1.md): List commit history for the repository default branch or for an explicit branch. Results are cursor-paginated and ordered by commit date, newest first. Set `path` to restrict the history to commits that modified a specific file or subtree. #### JWT claims Required scopes: `git:read` Requires per r… - [Get Commit Diff](https://code.storage/docs/reference/api/commits/get-commit-diff-1.md): Get the diff for a commit, optionally relative to a specific base commit. Repeated `path` parameters narrow the diff to selected files or directories. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Commit from Diff](https://code.storage/docs/reference/api/commits/create-commit-from-diff-1.md): Create a commit by streaming a Git patch instead of individual file blobs. Use this when your workflow already produces unified diffs or generated patches. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Reset Branch to Commit](https://code.storage/docs/reference/api/commits/reset-branch-to-commit-1.md): Create a new commit that resets a branch back to a specific commit SHA while preserving normal Git history. - [Restore Commit](https://code.storage/docs/reference/api/commits/restore-commit-1.md): Create a new commit that resets a branch back to a specific commit SHA while preserving normal Git history. - [Get Note](https://code.storage/docs/reference/api/notes/get-note.md): Read the Git note attached to a commit or other Git object SHA. Notes let you store review status, handoff details, or other context without changing repository contents. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create or Append Note](https://code.storage/docs/reference/api/notes/create-or-append-note.md): Attach text to a Git object without changing the repository contents. Use notes for review markers, internal decisions, or other lightweight context. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Delete Note](https://code.storage/docs/reference/api/notes/delete-note.md): Remove the Git note attached to a commit or other Git object SHA. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [List Notes Refs](https://code.storage/docs/reference/api/notes/list-notes-refs.md): List Git notes refs under a notes ref prefix with cursor pagination. Use this to discover custom notes namespaces before reading individual notes. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Get Note](https://code.storage/docs/reference/api/notes/get-note-1.md): Read the Git note attached to a commit or other Git object SHA. Notes let you store review status, handoff details, or other context without changing repository contents. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create or Append Note](https://code.storage/docs/reference/api/notes/create-or-append-note-1.md): Attach text to a Git object without changing the repository contents. Use notes for review markers, internal decisions, or other lightweight context. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Delete Note](https://code.storage/docs/reference/api/notes/delete-note-1.md): Remove the Git note attached to a commit or other Git object SHA. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [List Notes Refs](https://code.storage/docs/reference/api/notes/list-notes-refs-1.md): List Git notes refs under a notes ref prefix with cursor pagination. Use this to discover custom notes namespaces before reading individual notes. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [List Tags](https://code.storage/docs/reference/api/tags/list-tags.md): List tags in lexical order with cursor pagination. The returned `sha` is the dereferenced commit SHA, even for annotated tags. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Tag](https://code.storage/docs/reference/api/tags/create-tag.md): Create a lightweight tag pointing to a specific commit. Annotated tags are not created through this endpoint. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Delete Tag](https://code.storage/docs/reference/api/tags/delete-tag.md): Delete a tag from the repository. The server resolves the stored ref correctly for both lightweight and annotated tags. #### JWT claims Required scopes: `git:read`, `git:write` Requires per repo scope: Yes - [List Tags](https://code.storage/docs/reference/api/tags/list-tags-1.md): List tags in lexical order with cursor pagination. The returned `sha` is the dereferenced commit SHA, even for annotated tags. #### JWT claims Required scopes: `git:read` Requires per repo scope: Yes - [Create Tag](https://code.storage/docs/reference/api/tags/create-tag-1.md): Create a lightweight tag pointing to a specific commit. Annotated tags are not created through this endpoint. #### JWT claims Required scopes: `git:write` Requires per repo scope: Yes - [Delete Tag](https://code.storage/docs/reference/api/tags/delete-tag-1.md): Delete a tag from the repository. The server resolves the stored ref correctly for both lightweight and annotated tags. #### JWT claims Required scopes: `git:read`, `git:write` Requires per repo scope: Yes ## OpenAPI Specs - [openapi](https://code.storage/docs/openapi.yaml)