Appearance
API Reference
Everything you can do in the GatherCloud dashboard is also available over a REST API, so you can create events, drive their lifecycle, and pull recordings and transcripts from your own systems.
Base URL
https://api.gathercloud.devAll endpoints are versioned under /v1.
Interactive reference
Explore and try every endpoint in the interactive API explorer, rendered live from our OpenAPI spec.
Authentication
Server-to-server calls authenticate with a workspace API key in the x-api-key header. See Authentication.
sh
curl https://api.gathercloud.dev/v1/events \
-H "x-api-key: gck_..."Conventions
- Requests and responses are JSON (
content-type: application/json). - Timestamps are ISO 8601 strings (
2026-06-11T18:00:00.000Z). - IDs are UUIDs.
- Successful deletes return
204 No Content.
Errors
Errors use a problem+json style body (content-type: application/problem+json) with three fields: a type URI, a stable machine-readable code, and a human-readable detail. Branch on code (and the HTTP status), not on the detail text — detail strings may change.
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | Malformed or missing input |
| 401 | unauthorized | Missing or invalid credentials |
| 403 | forbidden | Authenticated, but not allowed |
| 404 | not_found | No such resource in your workspace |
| 409 | conflict (e.g. slug_taken) | State conflict |
400 — validation failure. A required field is missing or a value is the wrong type or out of range. detail summarises what failed:
json
{
"type": "https://gathercloud.com/errors/bad_request",
"code": "bad_request",
"detail": "body/title must be string"
}401 — missing or invalid credentials. No x-api-key header, or a key that doesn't match any workspace:
json
{
"type": "https://gathercloud.com/errors/unauthorized",
"code": "unauthorized",
"detail": "missing x-api-key"
}404 — no such resource. The id doesn't exist, or it belongs to a different workspace than your key (we don't distinguish the two, so you can't probe for ids outside your workspace):
json
{
"type": "https://gathercloud.com/errors/not_found",
"code": "not_found",
"detail": "event not found"
}Resources
- Events & phases — create events, build agendas, drive the lifecycle.
- Broadcasts, recordings & transcripts — go live, manage segments, pull assets.
- Webhooks — receive signed event notifications.