{"service":"BrainFable API","endpoints":["GET    /health","GET    /ready","GET    /legal/privacy.html","GET    /legal/terms.html","POST   /v1/auth/register","POST   /v1/auth/login","POST   /v1/auth/refresh","POST   /v1/auth/logout","POST   /v1/auth/password/forgot","POST   /v1/auth/password/reset","POST   /v1/auth/password/confirm  (auth, parent proof)","POST   /v1/auth/social","POST   /v1/push/devices      (auth)","DELETE /v1/push/devices      (auth)","GET    /v1/auth/me            (auth)","POST   /v1/auth/social-opt-in (auth, parent proof to turn on)","DELETE /v1/auth/account       (auth, parent proof)","GET    /v1/billing/plans","POST   /v1/billing/purchases/verify        (auth)","GET    /v1/billing/payments   (auth)","POST   /v1/billing/notifications/play","POST   /v1/billing/notifications/appstore","GET    /v1/content/manifest","GET    /v1/content/grades?curriculum=CAPS","GET    /v1/content/bundle?curriculum=CAPS&grade=11","GET    /v1/content/packs/{packId}   (auth + entitlement when paid)","POST   /v1/sync/batch         (auth)","GET    /v1/backup/info        (auth, premium)","GET    /v1/backup             (auth, premium)","PUT    /v1/backup?baseRevision=&deviceId=  (auth, premium)","GET    /v1/leaderboard        (auth, opt-in only)","POST   /v1/social/standing    (auth)","GET    /v1/social/groups      (auth)","POST   /v1/social/groups      (auth)","POST   /v1/social/groups/join (auth)","GET    /v1/social/groups/{id}/board  (auth, members only)","POST   /v1/social/groups/{id}/leave  (auth)","POST   /v1/social/groups/{id}/open   (auth, owner only; parent proof to reopen)","POST   /v1/social/reactions   (auth, fixed vocabulary, capped)","POST   /v1/social/report      (auth, closes the group)","GET    /v1/social/challenges  (auth)","POST   /v1/social/challenges  (auth)","POST   /v1/social/challenges/{id}/leg      (auth, once per learner)","POST   /v1/social/challenges/{id}/respond  (auth)","GET    /v1/social/friends     (auth)","GET    /v1/social/friends/code             (auth)","POST   /v1/social/friends/invite           (auth, by code only)","POST   /v1/social/friends/{id}/respond     (auth, addressee only)","POST   /v1/social/friends/{id}/block       (auth, permanent)","GET    /v1/leagues/me         (auth)","GET    /v1/leaderboard/schools (auth)","POST   /v1/explanations       (auth, premium, off unless enabled)","POST   /v1/admin/session      (content admins: password and TOTP)","GET    /v1/admin/content/releases                      (admin)","GET    /v1/admin/content/releases/{id}/archive         (admin)","GET    /v1/admin/content/releases/{id}/files/{file}    (admin)","POST   /v1/admin/content/releases                      (admin, application/zip)","POST   /v1/admin/content/releases/{id}/promote         (admin)","DELETE /v1/admin/content/releases/{id}                 (admin)"]}