SuperChurch

Church work, in one place.

Developer Access

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.

Keys stay on your server.

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

Church name, location, denomination, public website, and public page URL.

GET /v1/church/events

Approved events explicitly marked public or churchwide. Private notes and member-only events stay out.

GET /v1/church/live

Whether the church is live and the public SuperChurch viewer link. No stream keys are returned.

POST /v1/church/events

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