v1.0.0
OpenAPI 3.1.0
Orpheus API
Orpheus runs a wedding band’s office: gigs at the centre, the products sold on each gig (ceremony, cocktail hour, reception), the ensembles that fulfil them, and the staff who fill each role.
Conventions
- JSON in and out. Keys are camelCase. Ids are UUIDs.
- Single records come back as
{ "data": … }; lists as{ "data": [...], "meta": { total, limit, offset } }. - Every error is
{ "error": { code, message, status, details? } }. - Lists page with
limit(default 50, max 200) andoffset, sort withsort=-date,label, narrow withfields=…, and filter withfilter[field][operator]=value. - Dates are
YYYY-MM-DD, timesHH:MM(venue-local), timestamps ISO 8601 in UTC. PATCHis partial.DELETEis hard and refuses (409) while other records still reference the row.
Authentication
Send Authorization: Bearer <token>. Tokens come from POST /auth/confirm (30-day session, after a sign-in link) or POST /api-keys (long-lived). Every request is checked against the user’s roles: each resource group needs <group>.view to read and <group>.edit to write.
Client Libraries