Read ChurchSuite contacts, children, small groups, rotas, events and attendance; add contact notes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: add a new note to a contact's record in ChurchSuite (it is visible to other ChurchSuite users who can see the contact, unless private_to_me is true). Only adds a note: never edits or deletes anything, sends nothing to the contact. API: POST /addressbook/contacts/{id}/notes.
The note text.
The contact's numeric id.
Pin the note to the top of the contact's notes (default false).
true = only the API user can see the note (ChurchSuite visible_to.just_me). Default: no restriction.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
WRITE: add a new note to a contact's record in ChurchSuite (it is visible to other ChurchSuite users who can see the contact, unless private_to_me is true). Only adds a note: never edits or deletes anything, sends nothing to the contact. API: POST /addressbook/contacts/{id}/notes.
| Argument | Type | Description |
|---|---|---|
| pinned | boolean | Pin the note to the top of the contact's notes (default false). |
| content* | string | The note text. |
| contact_id* | integer | The contact's numeric id. |
| private_to_me | boolean | true = only the API user can see the note (ChurchSuite visible_to.just_me). Default: no restriction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact_id",
"content"
],
"properties": {
"pinned": {
"type": "boolean",
"description": "Pin the note to the top of the contact's notes (default false)."
},
"content": {
"type": "string",
"maxLength": 10000,
"minLength": 1,
"description": "The note text."
},
"contact_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The contact's numeric id.",
"exclusiveMinimum": 0
},
"private_to_me": {
"type": "boolean",
"description": "true = only the API user can see the note (ChurchSuite visible_to.just_me). Default: no restriction."
}
}
}The church's ChurchSuite account summary: name, unique id, subdomain, time zone, currency, language and first day of week (no billing or data-protection contact details). A good first call. API: GET /account/info.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get one child by id (names, date of birth, school, contact details, custom fields, consents, sites, status). Medical and additional-needs fields only with include_medical: true. API: GET /children/children/{id}.
| Argument | Type | Description |
|---|---|---|
| child_id* | integer | The child's numeric id. |
| include_medical | boolean | true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"child_id"
],
"properties": {
"child_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The child's numeric id.",
"exclusiveMinimum": 0
},
"include_medical": {
"type": "boolean",
"description": "true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false)."
}
}
}Get one Address Book contact by id: names, sex, date of birth, marital status and spouse id, address, phones, email, job, custom fields, communication preferences, sites, status. API: GET /addressbook/contacts/{id}.
| Argument | Type | Description |
|---|---|---|
| contact_id* | integer | The contact's numeric id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact_id"
],
"properties": {
"contact_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The contact's numeric id.",
"exclusiveMinimum": 0
}
}
}Get one calendar event by id (times, status, category, location, description, visibility, sign-up options). API: GET /calendar/events/{id}.
| Argument | Type | Description |
|---|---|---|
| event_id* | integer | The event's numeric id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"event_id"
],
"properties": {
"event_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The event's numeric id.",
"exclusiveMinimum": 0
}
}
}Get one small group by id (schedule, location, description, custom fields, sign-up options, sites). API: GET /smallgroups/groups/{id}.
| Argument | Type | Description |
|---|---|---|
| group_id* | integer | The small group's numeric id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"group_id"
],
"properties": {
"group_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The small group's numeric id.",
"exclusiveMinimum": 0
}
}
}List attendance records (headcounts per gathering and date: total number, total people, notes), sorted by date. Filter by gathering, weekday or a date window (YYYY-MM-DD). API: GET /attendance/records.
| Argument | Type | Description |
|---|---|---|
| days | array | Only records on these weekdays. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| is_after | string | Only records after this date (YYYY-MM-DD). |
| per_page | integer | Items per page, 1-100 (default 25). |
| is_before | string | Only records before this date (YYYY-MM-DD). |
| gathering_ids | array | Only these gatherings (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "array",
"items": {
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"type": "string"
},
"maxItems": 7,
"minItems": 1,
"description": "Only records on these weekdays."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"is_after": {
"type": "string",
"description": "Only records after this date (YYYY-MM-DD)."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"is_before": {
"type": "string",
"description": "Only records before this date (YYYY-MM-DD)."
},
"gathering_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these gatherings (numeric ChurchSuite ids, up to 100)."
}
}
}Search or list children in the Children module (name, date of birth, school year, contact details, sites, status, consent flags). Medical and additional-needs fields are left out unless include_medical is true. API: GET /children/children.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on first/last/formal name, email, mobile and address. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | Only children with this status. |
| tag_ids | array | Only these tags (numeric ChurchSuite ids, up to 100). |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
| group_ids | array | Only these children's groups (see list_children_groups) (numeric ChurchSuite ids, up to 100). |
| include_medical |
List the Children module's groups (classes/age groups: id, name, entry age, check-in capacity and ratio, status). API: GET /children/groups.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the group name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| per_page | integer | Items per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the group name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
}
}
}List the pastoral/admin notes on a contact (content, pinned, visibility, who wrote it and when), pinned first. API: GET /addressbook/contacts/{id}/notes.
| Argument | Type | Description |
|---|---|---|
| contact_id* | integer | The contact's numeric id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact_id"
],
"properties": {
"contact_id": {
"type": "integer",
"maximum": 2147483647,
"description": "The contact's numeric id.",
"exclusiveMinimum": 0
}
}
}List Address Book tags (id, name, category, whether it is a smart tag). Use a tag id as tag_ids in list_contacts to list the people with that tag. API: GET /addressbook/tags.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the tag name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the tag name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
}
}
}Search or list adult contacts in the Address Book (name, contact details, address, sites, status, tags via tag_ids). Personal data: ask only for what you need. API: GET /addressbook/contacts.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on first/last/formal name, email, telephone, mobile and address. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | Only contacts with this status. |
| tag_ids | array | Only these tags (contacts with ANY of them) (numeric ChurchSuite ids, up to 100). |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on first/last/formal name, email, telephone, mobile and address."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived",
"pending"
],
"type": "string",
"description": "Only contacts with this status."
},
"tag_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these tags (contacts with ANY of them) (numeric ChurchSuite ids, up to 100)."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
}
}
}List calendar categories (id, name, colour, status). Use the ids as category_ids in list_events. API: GET /calendar/categories.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the category name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| per_page | integer | Items per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the category name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
}
}
}List calendar events (name, start/end, status, category, location, description, sign-up options, sites). Use starts_after/starts_before (YYYY-MM-DD) for a date window. API: GET /calendar/events.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the event name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
| sequence_id | integer | Only events of this recurring sequence. |
| category_ids | array | Only these event categories (see list_event_categories) (numeric ChurchSuite ids, up to 100). |
| starts_after | string | Only events starting after this date (YYYY-MM-DD). |
List the Attendance module's gatherings (services/meetings whose attendance is counted: id, name, sites, status). API: GET /attendance/gatherings.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the gathering name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the gathering name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
}
}
}List the church's giving funds (id, name, description, Gift Aid / tax-deductible flags, whether shown in Donate, status). Funds only: no donors, donations or amounts. API: GET /giving/funds.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the fund name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| per_page | integer | Items per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the fund name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
}
}
}List the Rotas module's ministries (worship team, welcome team…: id, name, description, days, rota and rotation type, status, sites). API: GET /rotas/ministries.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the ministry name. |
| ids | array | Only these ministries (numeric ChurchSuite ids, up to 100). |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
| statuses | array | Only ministries with these statuses. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the ministry name."
},
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
},
"statuses": {
"type": "array",
"items": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"maxItems": 2,
"minItems": 1,
"description": "Only ministries with these statuses."
}
}
}List who serves in rota ministries (ministry id, team id, person = contact or child id, role ids). Look people up with get_contact / get_child. API: GET /rotas/ministry_members.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| role_ids | array | Only these roles (numeric ChurchSuite ids, up to 100). |
| team_ids | array | Only these teams (numeric ChurchSuite ids, up to 100). |
| ministry_ids | array | Only these ministries (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"role_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these roles (numeric ChurchSuite ids, up to 100)."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these teams (numeric ChurchSuite ids, up to 100)."
},
"ministry_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
}
}
}List the teams inside rota ministries (id, ministry id, name, order). API: GET /rotas/ministry_teams.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| per_page | integer | Items per page, 1-100 (default 25). |
| team_ids | array | Only these teams (numeric ChurchSuite ids, up to 100). |
| ministry_ids | array | Only these ministries (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these teams (numeric ChurchSuite ids, up to 100)."
},
"ministry_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
}
}
}List the running order of one or more service plans (items: type, name, song arrangement, duration, start time, notes, people). API: GET /planning/plan_items.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| plan_ids* | array | The plan ids (from list_service_plans), up to 20. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"plan_ids"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc",
"order:asc",
"order:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"plan_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 20,
"minItems": 1,
"description": "The plan ids (from list_service_plans), up to 20."
}
}
}List service plans from the Planning module (name, date, time, status, linked event, sites). API: GET /planning/plans.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the plan name. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
| starts_after | string | Only plans dated after this date (YYYY-MM-DD). |
| starts_before | string | Only plans dated before this date (YYYY-MM-DD). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the plan name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"draft",
"published"
],
"type": "string"
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"date:asc",
"date:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
},
"starts_after": {
"type": "string",
"description": "Only plans dated after this date (YYYY-MM-DD)."
},
"starts_before": {
"type": "string",
"description": "Only plans dated before this date (YYYY-MM-DD)."
}
}
}List the church's sites (campuses/congregations: id, name, initials, address). Site ids filter contacts, children, groups, events and plans. API: GET /account/sites.
| Argument | Type | Description |
|---|---|---|
| ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
}
}
}List small group memberships (group id, person = contact or child id, status, role ids, joined date). Filter by group to get a group's members, or by contact/child to get a person's groups; look people up with get_contact / get_child. API: GET /smallgroups/members.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| status | string | |
| role_id | integer | Only members with this role id. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| child_ids | array | Only these children (numeric ChurchSuite ids, up to 100). |
| group_ids | array | Only these small groups (numeric ChurchSuite ids, up to 100). |
| contact_ids | array | Only these contacts (numeric ChurchSuite ids, up to 100). |
List small groups (home groups/life groups: name, day, time, frequency, location, description, dates, sign-up options). API: GET /smallgroups/groups.
| Argument | Type | Description |
|---|---|---|
| q | string | Fuzzy search on the group name and location. |
| days | array | Only groups meeting on these days. |
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| view | string | Groups whose date range is in the past, active now, active or future, or future. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| site_ids | array | Only these sites (numeric ChurchSuite ids, up to 100). |
| frequency | string | |
| cluster_ids | array | Only these clusters (numeric ChurchSuite ids, up to 100). |
List the dates people said they are unavailable to serve (person, description, start/end). Filter by person, ministry or a date window. API: GET /rotas/unavailability.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). Use next_page from the previous reply. |
| order_by | string | Sort order, field:direction. |
| per_page | integer | Items per page, 1-100 (default 25). |
| child_ids | array | Only these children (numeric ChurchSuite ids, up to 100). |
| contact_ids | array | Only these contacts (numeric ChurchSuite ids, up to 100). |
| ministry_ids | array | Only these ministries (numeric ChurchSuite ids, up to 100). |
| starts_after | string | Only unavailability starting after this date (YYYY-MM-DD). |
| starts_before | string | Only unavailability starting before this date (YYYY-MM-DD). |
| boolean |
| true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on first/last/formal name, email, mobile and address."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"archived",
"pending"
],
"type": "string",
"description": "Only children with this status."
},
"tag_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these tags (numeric ChurchSuite ids, up to 100)."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
},
"group_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these children's groups (see list_children_groups) (numeric ChurchSuite ids, up to 100)."
},
"include_medical": {
"type": "boolean",
"description": "true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false)."
}
}
}| starts_before | string | Only events starting before this date (YYYY-MM-DD). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the event name."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"cancelled",
"confirmed",
"pending"
],
"type": "string"
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"date:asc",
"date:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
},
"sequence_id": {
"type": "integer",
"maximum": 2147483647,
"description": "Only events of this recurring sequence.",
"exclusiveMinimum": 0
},
"category_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these event categories (see list_event_categories) (numeric ChurchSuite ids, up to 100)."
},
"starts_after": {
"type": "string",
"description": "Only events starting after this date (YYYY-MM-DD)."
},
"starts_before": {
"type": "string",
"description": "Only events starting before this date (YYYY-MM-DD)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"status": {
"enum": [
"active",
"pending"
],
"type": "string"
},
"role_id": {
"type": "integer",
"maximum": 2147483647,
"description": "Only members with this role id.",
"exclusiveMinimum": 0
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"child_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these children (numeric ChurchSuite ids, up to 100)."
},
"group_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these small groups (numeric ChurchSuite ids, up to 100)."
},
"contact_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these contacts (numeric ChurchSuite ids, up to 100)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fuzzy search on the group name and location."
},
"days": {
"type": "array",
"items": {
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"type": "string"
},
"maxItems": 7,
"minItems": 1,
"description": "Only groups meeting on these days."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"view": {
"enum": [
"past",
"active",
"active_future",
"future"
],
"type": "string",
"description": "Groups whose date range is in the past, active now, active or future, or future."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc",
"name:asc",
"name:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"site_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these sites (numeric ChurchSuite ids, up to 100)."
},
"frequency": {
"enum": [
"weekly",
"fortnightly",
"monthly",
"quarterly",
"custom"
],
"type": "string"
},
"cluster_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these clusters (numeric ChurchSuite ids, up to 100)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number (default 1). Use next_page from the previous reply."
},
"order_by": {
"enum": [
"created_at:asc",
"created_at:desc",
"date:asc",
"date:desc",
"id:asc",
"id:desc",
"modified_at:asc",
"modified_at:desc"
],
"type": "string",
"description": "Sort order, field:direction."
},
"per_page": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Items per page, 1-100 (default 25)."
},
"child_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these children (numeric ChurchSuite ids, up to 100)."
},
"contact_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these contacts (numeric ChurchSuite ids, up to 100)."
},
"ministry_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
},
"starts_after": {
"type": "string",
"description": "Only unavailability starting after this date (YYYY-MM-DD)."
},
"starts_before": {
"type": "string",
"description": "Only unavailability starting before this date (YYYY-MM-DD)."
}
}
}