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 |
| 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 |