For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gamma Developer Docs

Build with the Gamma API — generate presentations, documents, websites, and social posts programmatically.

One API call. Polished presentations, documents, websites, and social posts — branded, exported, and shared.

Get your API keyAPI overview

Authentication

All requests require an API key in the X-API-KEY header. Generate a key from Account Settings > API Keys.

Header
Value
Required

X-API-KEY

Your API key

Yes

Content-Type

application/json

Yes

API key access requires a Pro, Ultra, Teams, or Business plan. Some connectors work on all plans and do not require an API key.

Machine-readable docs are available at developers.gamma.app/llms.txt and developers.gamma.app/llms-full.txt. Every page is also available as markdown by appending .md to the URL.

Quickstart

1. Start a generation

curl -X POST https://public-api.gamma.app/v1.0/generations \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $GAMMA_API_KEY" \
  -d '{
    "inputText": "Q3 product launch strategy",
    "textMode": "generate",
    "format": "presentation",
    "numCards": 10,
    "exportAs": "pdf"
  }'

2. Poll for the result

Poll GET /v1.0/generations/{generationId} every 5 seconds until status is completed or failed. Full polling examples in Poll for results.

3. Use your Gamma

Your presentation is live at gammaUrl. If you specified exportAs, the file is ready at exportUrl.

Getting a 401? Gamma uses X-API-KEY as a custom header — not Authorization: Bearer. See Error codes for other common issues.

Endpoints

Endpoint
Method
Description

/generations

POST

Generate from text

POST

Generate from template

/generations/{id}

GET

Poll generation status

/themes

GET

List workspace themes

/folders

GET

List workspace folders

/gammas/{gammaId}

GET

Get gamma metadata

GET

List comment threads

/gammas/{gammaId}/archive

POST

Archive a Gamma

/gammas/{gammaId}/export

POST

Export an existing Gamma

/exports/{id}

GET

Poll export status

/gammas/{gammaId}

DELETE

Delete a Gamma

GET

Doc-level engagement metrics

GET

Per-card engagement stats

GET

Per-viewer engagement (paginated)

GET

Single-viewer per-card engagement

Next steps

Last updated

Was this helpful?