# Mesa Docs > Programmatic Git hosting for AI agents, automation, and CI/CD pipelines. ## Docs - [Create bookmark](https://docs.mesa.dev/api-reference/bookmark/create-bookmark.md): Create a new bookmark from an existing change id - [Delete bookmark](https://docs.mesa.dev/api-reference/bookmark/delete-bookmark.md): Delete a bookmark from a repository - [List bookmarks](https://docs.mesa.dev/api-reference/bookmark/list-bookmarks.md): List all bookmarks in a repository - [Merge bookmarks](https://docs.mesa.dev/api-reference/bookmark/merge-bookmarks.md): Merge the source bookmark into the target bookmark. The target bookmark is advanced to the merge result. - [Move bookmark](https://docs.mesa.dev/api-reference/bookmark/move-bookmark.md): Move an existing bookmark to a different change - [Create change](https://docs.mesa.dev/api-reference/change/create-change.md): Create a new change on top of an existing base change, optionally applying initial file operations. File content must be base64-encoded. - [Get change](https://docs.mesa.dev/api-reference/change/get-change.md): Retrieve a specific change by its JJ change id - [Get diff](https://docs.mesa.dev/api-reference/change/get-diff.md): Retrieve the diff between two change ids. In the JSON response, conflicted paths are excluded from `entries[]` and surface only in `conflicted_entries[]` (with per-side target/base/source content); the two arrays are mutually exclusive. When the client requests `Accept: text/plain`, the response is… - [List changes](https://docs.mesa.dev/api-reference/change/list-changes.md): List current reachable changes for a repository bookmark - [Patch change](https://docs.mesa.dev/api-reference/change/patch-change.md): Patch an existing change by updating metadata and/or applying file operations, then snapshot the result into a new change-owned commit. File content must be base64-encoded. When the change is conflicted, `files` writes are refused; submit a `resolutions` array instead to incrementally resolve confli… - [Get content](https://docs.mesa.dev/api-reference/content/get-content.md): Get file content or directory listing at a path. Use Accept: application/json for the JSON union response, or Accept: application/octet-stream for raw file bytes. Directory + octet-stream requests return 406 Not Acceptable. - [Create API key](https://docs.mesa.dev/api-reference/org/create-api-key.md): Create a new API key for programmatic access - [whoami](https://docs.mesa.dev/api-reference/org/get-caller-identity.md): Get the authenticated organization, effective scopes, and API key metadata - [Get organization](https://docs.mesa.dev/api-reference/org/get-organization.md): Get organization metadata and repository counts - [List API keys](https://docs.mesa.dev/api-reference/org/list-api-keys.md): List all API keys for the organization (key values are not returned) - [Revoke API key](https://docs.mesa.dev/api-reference/org/revoke-api-key.md): Revoke an API key by its ID - [Update API key tags](https://docs.mesa.dev/api-reference/org/update-api-key-tags.md): Add, update, or remove tags on an API key. Set a tag value to null to remove it. - [Bulk update tags](https://docs.mesa.dev/api-reference/repo/bulk-update-tags.md): Bulk set or remove a tag across repositories. This operation is idempotent. - [Create repository](https://docs.mesa.dev/api-reference/repo/create-repository.md): Create a new repository in the organization - [Delete repository](https://docs.mesa.dev/api-reference/repo/delete-repository.md): Permanently delete a repository and all its data - [Get repository](https://docs.mesa.dev/api-reference/repo/get-repository.md): Get metadata for a specific repository - [List repositories](https://docs.mesa.dev/api-reference/repo/list-repositories.md): List repositories in the organization using cursor pagination - [Update repository](https://docs.mesa.dev/api-reference/repo/update-repository.md): Update repository name, default bookmark, or tags. Tags are patched: omitted keys are unchanged, string values add or update a tag, and null values remove a tag. - [Create webhook target](https://docs.mesa.dev/api-reference/webhook-target/create-webhook-target.md): Create a webhook target for the organization - [Delete webhook target](https://docs.mesa.dev/api-reference/webhook-target/delete-webhook-target.md): Delete a webhook target from the organization - [Get webhook target](https://docs.mesa.dev/api-reference/webhook-target/get-webhook-target.md): Get a webhook target by ID - [List webhook targets](https://docs.mesa.dev/api-reference/webhook-target/list-webhook-targets.md): List webhook targets configured for the organization - [Update webhook target](https://docs.mesa.dev/api-reference/webhook-target/update-webhook-target.md): Update a webhook target for the organization. Any provided field replaces its current value; omitted fields are left unchanged. Pass `repo_ids: null` to clear the repo filter and make the target org-wide. - [Overview](https://docs.mesa.dev/content/api-reference/overview.md): Get started with the Mesa HTTP API. - [File Storage](https://docs.mesa.dev/content/core-concepts/file-storage.md): Learn how Mesa stores and serves files. - [Patterns & Best Practices](https://docs.mesa.dev/content/core-concepts/patterns-best-practices.md): Recommended patterns for reliable agent workflows on top of Mesa. - [Versioning](https://docs.mesa.dev/content/core-concepts/versioning.md): Understand how Mesa models document history with changes and bookmarks. - [Virtual Filesystem](https://docs.mesa.dev/content/core-concepts/virtual-filesystem.md): Understand Mesa's virtual filesystem and choose between OS-level and app-level virtualization. - [Auth & Permissions](https://docs.mesa.dev/content/getting-started/auth-and-permissions.md): Secure access to repositories with scoped API keys. - [Introduction](https://docs.mesa.dev/content/getting-started/introduction.md): Mesa is a programmable storage layer and virtual filesystem, built specifically for AI agents and developers building agentic products. - [Orgs & Members](https://docs.mesa.dev/content/getting-started/orgs-and-members.md): Manage organizations and team membership in Mesa. - [Quickstart](https://docs.mesa.dev/content/getting-started/quickstart.md): Create a repository and write your first commit. - [Webhooks](https://docs.mesa.dev/content/getting-started/webhooks.md): Programmatically subscribe to events on your organization's repositories. - [GitHub Sync](https://docs.mesa.dev/content/git-server/github-sync.md): Sync repositories between Mesa and GitHub. - [Large Files](https://docs.mesa.dev/content/git-server/large-files.md): Mesa natively handles large files without Git LFS. - [Overview](https://docs.mesa.dev/content/git-server/overview.md): Mesa repositories are fully compatible with standard Git clients over HTTPS. - [Blaxel](https://docs.mesa.dev/content/integration-guides/blaxel.md): Use Mesa with Blaxel sandboxes for secure agent workflows. - [Cloudflare](https://docs.mesa.dev/content/integration-guides/cloudflare.md): Use Mesa with Cloudflare Workers and containers. - [Daytona](https://docs.mesa.dev/content/integration-guides/daytona.md): Use Mesa with Daytona sandboxes for secure, high-performance agent workflows. - [E2B](https://docs.mesa.dev/content/integration-guides/e2b.md): Use Mesa with E2B sandboxes for secure, high-performance agent workflows. - [Freestyle](https://docs.mesa.dev/content/integration-guides/freestyle.md): Use Mesa with Freestyle when your AI needs a whole computer, not just a code runner. - [Modal](https://docs.mesa.dev/content/integration-guides/modal.md): Use Mesa with Modal sandboxes. - [Sprites](https://docs.mesa.dev/content/integration-guides/sprites.md): Use Mesa with Sprites sandboxes for stateful, high-performance agent workflows. - [Vercel](https://docs.mesa.dev/content/integration-guides/vercel.md): Use Mesa with Vercel. - [Mount Modes](https://docs.mesa.dev/content/mesa/mount-modes.md): Control which repositories appear in your Mesa mount with "all" or "explicit" mount modes. - [Overview](https://docs.mesa.dev/content/mesa/overview.md): Mount Mesa repositories as local directories without cloning. - [Prefetching](https://docs.mesa.dev/content/mesa/prefetching.md): How mesa loads your repository in the background to reduce sandbox startup time. - [Overview](https://docs.mesa.dev/content/reference/cli-overview.md): Install and get started with the Mesa CLI. - [Overview](https://docs.mesa.dev/content/reference/git-server.md): Protocol details, endpoints, authentication, capabilities, and limits for Mesa's Git HTTP server. - [Filesystem API & Bash](https://docs.mesa.dev/content/reference/just-bash.md): API reference for the just-bash integration in the Mesa SDK. - [Limits](https://docs.mesa.dev/content/reference/limits.md): System limits for repositories, files, operations, pagination, and timeouts. - [Mesa CLI Reference](https://docs.mesa.dev/content/reference/mesa-cli.md): Complete reference for all mesa commands, arguments, and options. - [Mesa CLI Authentication](https://docs.mesa.dev/content/reference/mesa-cli-authentication.md): How the Mesa CLI stores and resolves API tokens. - [Mesa CLI Configuration](https://docs.mesa.dev/content/reference/mesa-cli-configuration.md): Configuration file format and options for the Mesa CLI. - [Overview](https://docs.mesa.dev/content/reference/sdk.md): Get started with the Mesa SDK - [Basic Operations](https://docs.mesa.dev/content/reference/sdk-basic-operations.md): Core SDK operations for repos, bookmarks, and content. - [App-level Virtualization](https://docs.mesa.dev/content/virtual-filesystem/application-level.md): Run shell commands against Mesa repositories without needing a sandbox. - [OS-level Virtualization](https://docs.mesa.dev/content/virtual-filesystem/os-level.md): Set up and use Mesa's FUSE-based virtual filesystem to mount repositories as local directories. ## OpenAPI Specs - [openapi](https://docs.mesa.dev/openapi.json)