gamma-install-auth
Configures Gamma API authentication using X-API-KEY headers and verifies connections via curl.
Install
mkdir -p .claude/skills/gamma-install-auth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8066" && unzip -o skill.zip -d .claude/skills/gamma-install-auth && rm skill.zipInstalls to .claude/skills/gamma-install-auth
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Set up Gamma API v1.0 authentication and first request.Key capabilities
- →Generate Gamma Pro API keys
- →Configure environment variables for API authentication
- →Verify API connectivity using curl or HTTP clients
- →Initialize REST API clients in Node.js or Python
How it works
Authentication is performed by passing a Gamma Pro API key via the X-API-KEY header to the v1.0 REST API endpoints.
Inputs & outputs
When to use gamma-install-auth
- →Setting up initial Gamma API authentication
- →Configuring environment variables for secure API access
- →Verifying Gamma API connectivity via CLI
- →Initializing Gamma REST API clients
About this skill
Gamma Install & Auth
Output
Record the authentication method, minimum scope, secret-manager reference, validation time, owner, and rotation/revocation procedure—never a token, presentation, or viewer record.
Examples
Use a scoped staging credential for a read-only fictional workspace check, record the redacted result, and verify the credential is denied after revocation.
Overview
Configure authentication for the Gamma Generate API v1.0 (GA since Nov 2025). Gamma uses a REST API at https://public-api.gamma.app/v1.0/ — there is no official SDK package. All requests authenticate via the X-API-KEY header.
Prerequisites
- Gamma Pro account or higher (API access requires Pro+)
- Node.js 18+ or Python 3.10+ for wrapper code
curlor HTTP client library
Instructions
Step 1: Generate API Key
- Log in at gamma.app
- Navigate to Settings and Members (dropdown, upper-left)
- Select the API key tab
- Click Create API key
- Copy and securely store the key — it will not be shown again
Step 2: Configure Environment
# Set environment variable (add to .env or shell profile)
export GAMMA_API_KEY="gma_your_api_key_here"
# .env file approach
echo 'GAMMA_API_KEY=gma_your_api_key_here' >> .env
Step 3: Verify Connection
# Quick verification with curl
curl -s -o /dev/null -w "%{http_code}" \
-H "X-API-KEY: ${GAMMA_API_KEY}" \
https://public-api.gamma.app/v1.0/themes
# 200 = authenticated, 401 = invalid key
Step 4: First API Call (Node.js)
// gamma-client.ts — thin wrapper around the REST API
const GAMMA_BASE = "https://public-api.gamma.app/v1.0";
interface GammaConfig {
apiKey: string;
baseUrl?: string;
}
export function createGammaClient(config: GammaConfig) {
const headers = {
"X-API-KEY": config.apiKey,
"Content-Type": "application/json",
};
const base = config.baseUrl ?? GAMMA_BASE;
return {
async listThemes() {
const res = await fetch(`${base}/themes`, { headers });
if (!res.ok) throw new Error(`Gamma API ${res.status}: ${await res.text()}`);
return res.json();
},
async listFolders() {
const res = await fetch(`${base}/folders`, { headers });
if (!res.ok) throw new Error(`Gamma API ${res.status}: ${await res.text()}`);
return res.json();
},
};
}
// Verify connection
const gamma = createGammaClient({ apiKey: process.env.GAMMA_API_KEY! });
const themes = await gamma.listThemes();
console.log(`Connected — ${themes.length} workspace themes available`);
Step 5: First API Call (Python)
import os, requests
GAMMA_BASE = "https://public-api.gamma.app/v1.0"
HEADERS = {
"X-API-KEY": os.environ["GAMMA_API_KEY"],
"Content-Type": "application/json",
}
# Verify connection
resp = requests.get(f"{GAMMA_BASE}/themes", headers=HEADERS)
resp.raise_for_status()
themes = resp.json()
print(f"Connected — {len(themes)} workspace themes available")
API Key Security
| Practice | Implementation |
|---|---|
| Never commit keys | Add GAMMA_API_KEY to .gitignore and .env |
| Rotate regularly | Regenerate in Settings > API key tab |
| Scope per environment | Separate keys for dev/staging/prod workspaces |
| Audit usage | Monitor credit consumption at gamma.app/settings/billing |
Error Handling
| HTTP Status | Meaning | Fix |
|---|---|---|
| 401 Unauthorized | Invalid or missing API key | Verify X-API-KEY header value |
| 403 Forbidden | Account not on Pro+ plan | Upgrade at gamma.app/pricing |
| 429 Too Many Requests | Rate limit exceeded | Implement backoff; contact Gamma support for higher limits |
| 5xx Server Error | Gamma service issue | Retry with exponential backoff |
Important Notes
- No SDK: Gamma does not publish an npm/pip package. Use
fetch/requestsdirectly. - Header format: Use
X-API-KEY, notAuthorization: Bearer. - API v0.2 sunset: v0.2 was deprecated Jan 2026. Use v1.0 only.
- Credit system: API calls consume credits based on image model tier (Standard 2-15, Advanced 20-33, Premium 34-75, Ultra 30-125 credits/image).
Resources
Next Steps
Proceed to gamma-hello-world for your first presentation generation.
When not to use it
- →When using deprecated v0.2 API endpoints
- →When attempting to use an official SDK package
Prerequisites
Limitations
- →API access requires a Pro plan or higher
- →No official SDK package is available
How it compares
This workflow requires manual REST API implementation because Gamma does not publish an official SDK.
Compared to similar skills
gamma-install-auth side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| gamma-install-auth (this skill) | 0 | 2mo | Caution | Beginner |
| lindy-install-auth | 4 | 2mo | Caution | Beginner |
| evernote-install-auth | 1 | 2mo | Review | Beginner |
| instantly-install-auth | 1 | 2mo | Caution | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
lindy-install-auth
jeremylongshore
Install and configure Lindy AI SDK/CLI authentication. Use when setting up a new Lindy integration, configuring API keys, or initializing Lindy in your project. Trigger with phrases like "install lindy", "setup lindy", "lindy auth", "configure lindy API key".
evernote-install-auth
jeremylongshore
Install and configure Evernote SDK and OAuth authentication. Use when setting up a new Evernote integration, configuring API keys, or initializing Evernote in your project. Trigger with phrases like "install evernote", "setup evernote", "evernote auth", "configure evernote API", "evernote oauth".
instantly-install-auth
jeremylongshore
Install and configure Instantly SDK/CLI authentication. Use when setting up a new Instantly integration, configuring API keys, or initializing Instantly in your project. Trigger with phrases like "install instantly", "setup instantly", "instantly auth", "configure instantly API key".
documenso-install-auth
jeremylongshore
Install and configure Documenso SDK/API authentication. Use when setting up a new Documenso integration, configuring API keys, or initializing Documenso in your project. Trigger with phrases like "install documenso", "setup documenso", "documenso auth", "configure documenso API key".
deepgram-install-auth
jeremylongshore
Install and configure Deepgram SDK/CLI authentication. Use when setting up a new Deepgram integration, configuring API keys, or initializing Deepgram in your project. Trigger with phrases like "install deepgram", "setup deepgram", "deepgram auth", "configure deepgram API key".
fireflies-install-auth
jeremylongshore
Install and configure Fireflies.ai SDK/CLI authentication. Use when setting up a new Fireflies.ai integration, configuring API keys, or initializing Fireflies.ai in your project. Trigger with phrases like "install fireflies", "setup fireflies", "fireflies auth", "configure fireflies API key".