Auth
API keys are issued from /settings. Send the key as Authorization: Bearer sk_live_.... Base URL: https://api.shotshq.com/v1.
Idempotency
Every mutating request must send an Idempotency-Key header. We retain keys for 24 hours — replays return the original response.
Endpoints
- POST /projects — create a new project
- GET /projects — list your projects
- GET /projects/:id — fetch a single project
- PATCH /projects/:id — update canvas / metadata
- POST /projects/:id/render — kick off a render
- GET /projects/:id/screenshots — list rendered assets
- POST /ai/copy — generate headline copy
- POST /ai/backdrop — generate AI backdrop
- POST /ai/translate — fan out to N locales
- POST /webhooks — register a webhook URL
Webhooks
We POST to your registered URL for these events:render.completed, render.failed, credits.low, checkout.completed. Signed with HMAC-SHA256 in the X-ShotsHQ-Signature header.
Rate limits
Studio tier: 60 requests/minute. AI endpoints have separate per-user concurrency limits (3 in-flight at once) — additional requests are queued, not rejected.