SuperChurch
Church work, in one place.
Connect your church website and tools.
Read public church information and submit event drafts for approval through SuperChurch API v1. Each key belongs to one church, with permissions chosen by its pastor or admin.
Do not place an API key in a public webpage, browser script, mobile app, or source repository. The API does not allow browser CORS.
What you can read
GET /v1/church/profileChurch name, location, denomination, public website, and public page URL.
GET /v1/church/eventsApproved events explicitly marked public or churchwide. Private notes and member-only events stay out.
GET /v1/church/liveWhether the church is live and the public SuperChurch viewer link. No stream keys are returned.
POST /v1/church/eventsSubmit a pending event draft with the optional church.events.create permission. Church approval is required before it becomes public.
Make a request
curl -H "Authorization: Bearer $SUPERCHURCH_API_KEY" \
"https://us-central1-supermom-c3c3d.cloudfunctions.net/superChurchApiV1/v1/church/profile"
Event requests accept ISO dates with from and to, a page size up to 100, and a returned cursor for the next page. The date range is limited to 366 days.
Manage access
A church admin or pastor can create and revoke keys in Pastor Portal → API. Choose only the permissions a service needs; draft creation is not selected by default. Keys expire after 30, 90, 180, or 365 days; each church can have ten active keys. A removed church manager's keys stop working.
Submit a draft once, even when retrying
Send a JSON object containing title, type, location, startAtMs and endAtMs. Include a persistent Idempotency-Key header and reuse it on retries. The response contains the draft ID and status, not private church data.
Download the server-side JavaScript SDK. Any language that supports HTTPS and JSON can use the API.
Download the read-only Postman collection · Download a Node.js example
For the example, place both JavaScript files in one directory, set SUPERCHURCH_API_KEY in your server environment, then run node superchurch-example.mjs. The Postman collection ships with an empty key. Keep the populated value local and do not publish an environment containing it.
Events on an existing website
Public events embed displays a published church website's upcoming public events without an API key. It cannot display member-only events or private church information. Use the server API when you need a custom integration rather than a public widget.
Connected tools
Register an external HTTPS tool in Pastor Portal → API → Connected Tools, and choose which church roles see it in Church Hub. Registration does not grant data access or share sign-in credentials. Create a separate scoped API key only when the integration needs one.
Private church work stays private
Version 1 does not expose members, contact lists, messages, care requests, attendance, giving records, internal notes, invite links, or streaming credentials. Connected tools open as external websites, not downloaded native plug-ins. The API runs on SuperChurch's existing Firebase project; normal Google Cloud usage charges may apply.