No SDK to install, no OAuth dance. One key, one header, plain JSON back.
action_items:read), and click Generate.
The key is shown once — copy it immediately.
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://getchurchops.com/api/v1/action-items"
const res = await fetch("https://getchurchops.com/api/v1/action-items", {
headers: { Authorization: "Bearer YOUR_API_KEY" }
});
const { data, total } = await res.json();
console.log(data);import requests
res = requests.get(
"https://getchurchops.com/api/v1/action-items",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
payload = res.json()
print(payload["data"])POST a signed JSON
payload to it the moment something happens — a new follow-up, a completed action item —
instead of you checking on a timer.
Each key only sees what it's explicitly given. Combine scopes freely when generating a key.
directory:basicName, gender, department. Add :contact, :address, :sensitive, or :write as needed.
action_items:read / :writeRead the board, or create/update items and receive status-change webhooks.
attendance:read / :writeAggregate service/HF counts only — no individual names ever.
followups:read / :writeCare pipeline entries — read or create/update, including status.
volunteers:read / :writeRoster read or add/update, including department assignments.
tasks:read / :writeExecution tasks under an Action Item.
programs:readProgram metadata — read-only.
collections:read / :donorGiving amounts and dates; add :donor for donor identity (respects anonymous giving).
house_fellowships:readActive fellowships and their leaders — read-only.
Three concrete ways to connect ChurchOps to tools you already use — no developer required.
action_items:read scope./api/v1/action-items with an Authorization header./settings/api, add a webhook subscribed to followup.created.directory:basic + directory:contact./api/v1/directory?per_page=200.Paste a real API key into "Authorize" below to try requests directly from this page.