The API, webhooks, and the embed
Everything you publish can be read back out with one read-only key, from any page on your church’s own website. The delivery API comes with every plan.
Reading
One read-only key, safe in a browser
A delivery key starts with pk_ and reads your published sermons and nothing else. It can’t see a draft, change a word, or reach another church’s library, so it can sit in your website’s front-end code where anyone can read it.
The OpenAPI document at cdn.shepherdsmessage.com/openapi.json needs no key, so whoever builds your site can read the whole surface before you’ve signed up.
Responses carry your library’s content version, a number that goes up each time you publish, so a site that keeps its own copy can tell when to fetch a fresh one.
The delivery API serves
- Sermons
- The published list, filtered by speaker, series, tag, service, year, or passage; one sermon by its slug; and its transcript, with a start time on every segment.
- Series, speakers, tags
- Each with its sermons or its counts, for the pages your own site builds.
- Passages
- Give it a reference, Romans 8:18–30 say, and it returns every sermon whose passages overlap it.
- Search
- Full text across the titles, summaries, and transcripts you’ve published.
- Feeds
- Your podcast feed, and the church name, colors, and badge rule the embed draws with.
- Rate limit
- Library 300, Platform 600, and Pro 2,000 requests a minute.
Keys
Issued and revoked from your dashboard
An owner creates a key under Settings, copies it the one time it’s shown, and revokes it from the same table. Each row shows when the key was last used. There’s no sales call and no approval step.
| Key | Access | Mode | Created | Last used | Status |
|---|---|---|---|---|---|
| pk_live_7Hq2 | delivery:read | live | 2026-03-08 | 2026-09-21 | Active |
| sk_live_Rm4x | sermons:read, sermons:write, uploads:write | live | 2026-03-08 | 2026-09-20 | Active |
| pk_test_c9Tf | delivery:read | test | 2026-02-14 | Never | Revoked |
The API keys table in the dashboard, with example keys.
Writing, and being told
The management API, webhooks, and the embed
- The management API
- A separate plane on its own host, with its own sk_ keys and scopes, for a church that wants to upload, edit, publish, import, or export from its own tooling. It comes with Platform and Pro; on Library, the dashboard does all of it.
- Webhooks
- A signed callback when a sermon is published, updated, or deleted. Every delivery is logged, and any of them can be sent again by hand. Retries back off from one minute to eight hours and then stop, and an endpoint that’s failed for seven days straight is switched off, with an email to say so. Webhooks come with every plan, Library included.
- The embed
- One script tag and two custom elements: a sermon list, and a single sermon with its player and a transcript you can click to move the audio there. Both draw inside a shadow root, so your site’s styles and ours never touch.
Not built yet
No client library on a package registry
- There’s no typed client to install yet. The API is plain HTTP and JSON, documented well enough to call from any language, so for now your developer writes the requests. The OpenAPI document is enough to generate a client from.
Tell us about your church
Tell us what your church’s website runs on, and we’ll say which plan’s rate limit it needs.