Three families
Public feeds
The schedule, the speakers, and a subscribable calendar. No credentials.
This is what the embeddable widgets render.
Functions
POST /api/fn/<name> — 94 endpoints covering the whole product. Each one
enforces its own membership and role checks.Entities
GET /api/entities/<Entity> — direct row access over 36 entities, filtered
by row-level policies.Try it without an account
The public feeds work right now, against the live demo:Errors
Every endpoint fails the same shape, so one handler covers all of them:INVALID_ARGS for a bad request body, FORBIDDEN when you are authenticated
but not permitted, NOT_FOUND for a missing row or an internal function, and
CONFLICT when the operation contradicts current state.
This reference is read live from
/api/openapi.json, which the
running application generates from its own manifest. It cannot drift from the
code: if an endpoint is listed here, the router serves it. Functions marked
internal are excluded, because the router refuses external calls to them.