Conferencer API

A read/write REST API over one event's programme. Machine-readable spec: /api/v1/openapi.json.

Authentication

Create a token in Settings → API tokens, then send it as a bearer token. Tokens are scoped to a single event.

curl -H "Authorization: Bearer cft_xxx" \
  "$APP_URL/api/v1/submissions?status=accepted&limit=25"

Every list endpoint accepts limit, cursor, updated_since and resource-specific filters, and replies with { data, meta: { count, limit, next_cursor } }.

Resources
Webhooks

Register an endpoint in Settings → Webhooks to receive submission.created, submission.status_changed, task.completed and session.scheduled as they happen.

POST https://your-app.example.com/hooks
X-Conferencer-Event: submission.status_changed
X-Conferencer-Signature: sha256=<hmac of the raw body with your endpoint secret>

{"type":"submission.status_changed","event_id":"…","created_at":"…",
 "data":{"id":"…","title":"…","from":"pending","to":"accepted"}}

Deliveries time out after 5 seconds and never block the action that triggered them.

Public feeds without a token

Every embed also exposes JSON, XML and iCal at /e/:slug/embed/:token.json, ?format=xml and .ics. Generate one in Site & embeds.