Skip to main content
The Mesa HTTP API provides direct programmatic access to repository management, file operations, and version control. Use one of our SDKs when you want a client library, or call the HTTP API directly when you want full control over requests and transport behavior.
Looking for client libraries instead of raw HTTP requests? Start with the TypeScript SDK reference.

Base URL

All API endpoints are available at:

Authentication

Every API request carries a bearer credential in the Authorization header. For new integrations, use a short-lived access token:
See Authentication for private keys and access-token minting.

Request Format

  • All request bodies should be JSON with Content-Type: application/json
  • Path parameters use the format /{org}/{repo}/... where org is your organization slug
  • Query parameters are used for filtering, pagination, and optional settings

Response Format

Most endpoints return JSON responses. However, some endpoints support content negotiation via the Accept header to return alternative formats: Example JSON response:
Example requesting raw file content:

Pagination

List endpoints support cursor-based pagination: Paginated responses include:

Error Handling

Errors return a consistent JSON structure with an appropriate HTTP status code:

Error Codes

Server errors (5xx) additionally include an error.trace_id. Quote it when reporting an issue.

Scopes

Access tokens use scoped permissions: Scope hierarchy: adminwriteread. Each scope includes everything below it.