{"name":"markroom-server","version":"unknown","routes":["GET    /health","GET    /health/ready","GET    /version","GET    /version/history","POST   /auth/signup","POST   /auth/login","GET    /auth/me                       (auth)","GET    /auth/me/orgs                  (auth)","POST   /devices                       (auth)","GET    /regattas","GET    /regattas/:id","POST   /regattas                      (auth)","POST   /regattas/:id/archive          (auth, owner/admin)","DELETE /regattas/:id                  (auth, owner; archived only)","GET    /regattas/:id/events","POST   /regattas/:id/events           (auth)","GET    /regattas/:id/events/stream    (SSE; ?ticket= for signed-in EventSource)","POST   /regattas/:id/events/stream-ticket (auth)","GET    /regattas/:id/standings","GET    /regattas/:id/person-photos","GET    /regattas/:id/calendar.ics","GET    /sailors","GET    /sailors/me                            (auth)","POST   /sailors/:personId/claim/request","POST   /sailors/:personId/claim/verify","POST   /sailors/:personId/unclaim             (auth)","GET    /regattas/:id/entries/:competitorId/claim          (auth, entry managers)","POST   /regattas/:id/entries/:competitorId/claim/release  (auth, entry managers)","POST   /regattas/:id/entries/:competitorId/claim/support  (auth, entry managers)","GET    /regattas/:id/check-in-info                         (auth, may view)","GET    /regattas/:id/entries/:competitorId/check-in        (auth)","POST   /regattas/:id/entries/:competitorId/check-in        (auth, the sailor)","POST   /regattas/:id/entries/:competitorId/check-in/request (auth, not the sailor)","GET    /check-in-requests/:token","POST   /check-in-requests/:token/confirm","POST   /check-in-requests/:token/undo","POST   /sailors/:personId/photo               (auth)","DELETE /sailors/:personId/photo               (auth)","POST   /sailors/signup                        (public)","GET    /push/vapid-public-key","POST   /push/subscribe                        (auth)","POST   /push/unsubscribe                      (auth)","POST   /push/test                             (auth)","GET    /push/subscriptions                    (auth)","DELETE /push/subscriptions/:id                (auth)","POST   /push/regatta/:regattaId/subscribe     (public)","POST   /push/regatta/:regattaId/unsubscribe   (public)","GET    /sailors/me/regattas                   (auth)","GET    /sailors/me/check-ins                  (auth)","GET    /clubs","GET    /clubs/:name","GET    /regattas/:id/documents","GET    /documents/:id","GET    /orgs/:id/members              (auth)","DELETE /orgs/:id/members/:userId      (auth)","GET    /orgs/:id/invitations          (auth)","POST   /orgs/:id/invitations          (auth)","DELETE /orgs/:id/invitations/:token   (auth)","GET    /invitations/:token            (public)","POST   /auth/accept-invite","GET    /regattas/:id/officials                (auth)","POST   /regattas/:id/officials                (auth)","DELETE /regattas/:id/officials/:userId/:role  (auth)","GET    /regattas/:id/officials/past           (auth)","GET    /regattas/:id/jury-tasks               (auth)","PUT    /regattas/:id/jury-tasks/:userId       (auth)","POST   /regattas/:id/officials/jury           (auth)","PATCH  /regattas/:id/officials/:userId/jury-details (auth)","POST   /regattas/:id/officials/:userId/claim-link   (auth)","POST   /auth/official-claim                   (public)","POST   /auth/official-claim/renew             (public)","GET    /regattas/:id/hearing-declines         (auth)","POST   /regattas/:id/hearings/:hearingId/decline (auth)","GET    /regattas/:id/officials-messages       (auth)","POST   /regattas/:id/officials-messages       (auth)","GET    /orgs/:id/publish-config               (auth, owner/admin)","PUT    /orgs/:id/publish-config               (auth, owner/admin)","DELETE /orgs/:id/publish-config               (auth, owner/admin)","POST   /orgs/:id/publish-config/test          (auth, owner/admin)","POST   /regattas/:id/publish                  (auth, owner/admin)","GET    /regattas/:id/registration-info        (public)","POST   /regattas/:id/register                 (public, rate-limited)","POST   /regattas/:id/registration-open        (auth, owner/admin)","POST   /regattas/:id/entries-external-url     (auth, owner/admin)","GET    /regattas/:id/pending-registrations    (auth, owner/admin/entry desk)","DELETE /pending-registrations/:id             (auth, owner/admin/entry desk)","POST   /pending-registrations/:id/mark-paid   (auth, owner/admin)","POST   /pending-registrations/:id/waive       (auth, owner/admin)","POST   /pending-registrations/:id/refund      (auth, owner/admin)","POST   /orgs/:id/stripe/onboard               (auth, owner/admin)","GET    /orgs/:id/stripe/status                (auth, owner/admin)","POST   /regattas/:id/entry-fee                (auth, owner/admin)","POST   /webhooks/stripe                       (public, signature-verified)","GET    /regattas/:id/activity                 (auth, member or any regatta-role)","GET    /regattas/:id/me                       (auth) — caller's org + regatta roles","GET    /regattas/:id/branding                 (public) — effective branding (regatta over org)","PUT    /regattas/:id/branding                 (auth, owner/admin)","PUT    /orgs/:id/branding                     (auth, owner/admin or super-admin)","GET    /regattas/:id/division-presets         (auth, regatta member) — org age-division presets","PUT    /regattas/:id/division-presets/:pid    (auth, org owner/admin)","DELETE /regattas/:id/division-presets/:pid    (auth, org owner/admin)","POST   /orgs/:id/logo                         (auth, owner/admin or super-admin) — multipart upload","DELETE /orgs/:id/logo                         (auth, owner/admin or super-admin)","GET    /orgs/search?q=                        (public, fuzzy)","POST   /orgs                                  (auth) — create club, caller becomes owner","POST   /orgs/:id/transfer-ownership           (auth, owner or super-admin)","GET    /orgs/:id/host-requests                (auth, owner/admin)","POST   /host-requests/:id/approve             (auth, host-org admin)","POST   /host-requests/:id/reject              (auth, host-org admin)","GET    /me/host-requests                      (auth)","GET    /me/notifications                      (auth)","POST   /me/notifications/read-all             (auth)","POST   /notifications/:id/read                (auth)","POST   /me/home-org                           (auth) — set/clear home club"]}