Clone
1
API Reference
nmemmert edited this page 2026-09-03 17:05:26 -04:00

API Reference

All endpoints are at port 4173. Study endpoints require a study session cookie. Admin endpoints require an admin session cookie.

Authentication

Method Path Auth Description
POST /api/study-auth/signup — Create study account
POST /api/study-auth/login — Sign in, sets session cookie
POST /api/study-auth/logout Study Sign out
GET /api/study-auth/status — Auth state + enrolled slugs

Study Data

Method Path Auth Description
GET /api/study-community?studySlug= Study List community posts
POST /api/study-community/posts Study Create a post
POST /api/study-community/posts/:id/replies Study Reply to a post
POST /api/study-community/posts/:id/like Study Toggle like
GET /api/study-notes/:noteId Study Get a note
PUT /api/study-notes/:noteId Study Save a note
GET /api/study-quiz/:studySlug/:sectionId Study Get quiz answers
POST /api/study-quiz/:studySlug/:sectionId Study Save quiz answers
GET /api/study-progress/:studySlug Study Get progress
POST /api/study-progress/:studySlug/:sectionId/complete Study Mark section complete

Study Account

Method Path Auth Description
GET /api/study-account Study Get profile
PATCH /api/study-account Study Update display name, avatar, preferences
POST /api/study-account/enroll Study Enroll in a study
DELETE /api/study-account Study Delete own account

Comments (per-lesson, separate from community feed)

Method Path Auth Description
GET /api/study-comments/:studySlug/:sectionId — Public approved comments
POST /api/study-comments/:studySlug/:sectionId Study Post a comment
DELETE /api/study-comments/:studySlug/:sectionId/:id Study Delete own comment

Certificates

Method Path Auth Description
GET /api/study-certificate/:studySlug Study Get own certificate

Public / Content

Method Path Auth Description
GET /api/admin-content — Public site content
GET /api/episodes — Episode list
GET /api/bible-passage — Fetch a Bible passage (BSB)
GET /api/episode-scripts/search?q= — Full-text script search
GET /sitemap.xml — Dynamic sitemap
GET /feed.xml — Podcast RSS feed

Contact / Questions

Method Path Auth Description
POST /api/contact — Submit a contact form
GET /api/questions — Public approved Q&A
POST /api/questions — Submit a question

Admin

All admin routes require an admin session cookie.

Method Path Description
POST /api/admin-auth/login Admin sign in
POST /api/admin-auth/logout Admin sign out
GET/POST/PATCH /api/admin-content Read/write site content
GET/POST/DELETE /api/admin-assets Upload/list/delete assets
GET /api/admin/study-users List all study users
PATCH /api/admin/study-users/:id Edit a user
DELETE /api/admin/study-users/:id Delete a user
POST /api/admin/study-users/:id/send-reengagement Trigger re-engagement email
GET /api/admin-backup List backups
POST /api/admin-backup/restore Restore a backup
GET/POST/DELETE /api/admin-episode-scripts/:n Manage episode scripts
GET/POST/PATCH/DELETE /api/webhooks Manage outgoing webhooks

Analytics

Method Path Auth Description
GET /api/analytics/hits Admin Page hit stats
GET /api/analytics/visitors Admin Visitor stats
POST /api/analytics/event — Track a custom event