Gamma API

Introduction

The Gamma platform's HTTP API — the same one the web app is built on.

Everything the web app does, it does through this API: organizations, projects, models, issues, forms, markers and progress tracking. This site documents it for anyone who wants to automate it or connect another system.

The basics

  • Base URL. The API answers under /api on your deployment's server, e.g. https://gamma.example.com/api/projects.
  • JSON in, JSON out. Requests with a body send Content-Type: application/json unless an operation says otherwise (uploads are multipart/form-data, downloads are files).
  • Two ways to authenticate. A browser-style session from signing in, or a personal API key sent as x-api-key. See Authentication and API keys.
  • Refusals are { "error": "…" } with an HTTP status, worded in the language you ask for. See Errors and Languages.

How the reference is organized

The API reference is grouped in three levels:

  1. Categories — Authentication, Account, Organizations, Projects, Models, Views, Search sets, Markers, Issues, Forms, Progress.
  2. Sections within each category — for example Projects → Project members or Models → Model metadata.
  3. Operations — one page each, with its parameters, request body, responses, code samples and a playground to try it.

Every operation states who may call it — any member, the project's managers, an owner or admin of the organization, or a member whose permission profile allows an action such as issue.update — and whether an API key reaches it.

Generated from the code

The reference is built from the server's routes and their validation schemas, and a test fails when the two disagree — so what you read here is what the server does.

The OpenAPI document

The machine-readable description is served by every deployment at GET /api/openapi.json (OpenAPI 3.1). Import it into Postman, Insomnia or a client generator.

On this page