Endpoint reference
All endpoints of the Sanctumel public API: churches, events, announcements, live and Bible - parameters, examples and responses.
Base: https://api.sanctumel.com. All church endpoints require the Authorization: Bearer sk_live_… header (get a key) and only return churches with a public profile. The Bible endpoints are open (no key).
Churches
GET /api/public/v1/churches/{slug}
Public profile of the church.
curl https://api.sanctumel.com/api/public/v1/churches/mon-eglise \
-H "Authorization: Bearer sk_live_…"
Response:
{
"slug": "mon-eglise",
"name": "Mon Église",
"bio": "…",
"denomination": "…",
"logoUrl": "https://…",
"coverImageUrl": "https://…",
"city": "Bruxelles",
"country": "BE",
"language": "fr",
"website": "https://…",
"publicPage": "https://sanctumel.com/p/…"
}
GET /api/public/v1/churches/{slug}/events
Upcoming published and public events (50 max, sorted by date). Ideal for the "Calendar" page of your website.
[
{
"name": "Culte de louange",
"slug": "culte-louange",
"description": "…",
"startDate": "2026-07-11T10:00",
"endDate": "2026-07-11T13:00",
"location": "Salle principale",
"coverImageUrl": null,
"isFree": true,
"registrationPage": "https://sanctumel.com/events/culte-louange"
}
]
Tip: registrationPage points to the Sanctumel ticketing page - a simple link is enough for your visitors to register.
GET /api/public/v1/churches/{slug}/posts
Public announcements of the church, paginated.
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 0 | Page number |
size | integer | 10 | Page size (max 50) |
curl "https://api.sanctumel.com/api/public/v1/churches/mon-eglise/posts?page=0&size=5" \
-H "Authorization: Bearer sk_live_…"
GET /api/public/v1/churches/{slug}/live
Live status (radio or video) - perfect for a "🔴 Live" badge on your website.
{
"isLive": true,
"isVideo": true,
"stationName": "Radio Mon Église",
"listenPage": "https://sanctumel.com/radio/…"
}
GET /api/public/v1/churches/{slug}/library
The church's public library (books, PDFs for sale or reading). Parameters: type (e.g. PDF), page, size (max 50). Paginated response.
GET /api/public/v1/churches/{slug}/store
Public store: products visible on the church's /p page, with price (starting at, if variants) and a productPage link to the Sanctumel product page.
GET /api/public/v1/churches/{slug}/gallery
Public photo albums. Then GET …/gallery/{albumId}/photos for an album's photos.
Bible (no key)
Five public-domain versions: LSG (French), KJV (English), RVR (Spanish), BLIVRE (Portuguese), STV - Statenvertaling (Dutch). The lang parameter (fr, en, es, pt, nl) selects the version.
Abbreviations: they come from /api/v1/bible/books?lang=… and may vary by language (John = Jn). Always use the ones returned by /books.
GET /api/v1/bible/versions
List of available versions.
GET /api/v1/bible/books?lang=fr
The 66 books with their abbreviations and chapter counts.
GET /api/v1/bible/{abbr}/{chapter}?lang=fr
A whole chapter. Example - John 3 in French:
curl "https://api.sanctumel.com/api/v1/bible/Jn/3?lang=fr"
GET /api/v1/bible/{abbr}/{chapter}/{from}/{to}?lang=fr
A range of verses. Example - John 3:16-17:
curl "https://api.sanctumel.com/api/v1/bible/Jn/3/16/17?lang=fr"
GET /api/v1/bible/search?q=amour&lang=fr
Full-text search in the version of the requested language.
Reminders
- Read-only: any method other than
GETreturns405. - Rate limit: 120 requests/minute per key (
429beyond that) - use caching. - Privacy: the API never exposes a church's members, finances or donations, and only churches with a public profile.
Going further
- Getting started with the API - account, key and first call.