Departments, cell groups and classes
The church's departments, ministries and cell groups, the member's own memberships, joining and leaving, department meetings, and classes with their lessons.
Churches name these groups themselves (a church may call departments "Ministries" or cell groups "Home Fellowships"). Several responses carry a name field with the church's singular word for the group so the app can label its screens. Some churches allow a member in only one department and one cell group; joining a second then fails with You are already a member of a Department. You cannot join another one.
Departments and ministries
curl https://uat-api.mychurch.co.ke/api/v2/all-departments/00000000-0000-4000-8000-000000000001{
"message": "Success",
"status": true,
"departments": [
{ "uuid": "00000000-0000-4000-8000-000000000c01", "department_name": "Choir", "description": "Sunday and midweek choir", "code": 104 }
],
"name": "Department"
}Departments hidden from the app are left out. code is what a member enters to join.
Same shape for ministries, without name.
{
"message": "Success",
"status": true,
"departments": [
{ "uuid": "00000000-0000-4000-8000-000000000c01", "department_name": "Choir", "description": "Sunday and midweek choir", "active_since": null, "status": 1 }
],
"count": 1,
"name": "Department"
}status is 0 awaiting approval, 1 active, 3 inactive.
Same rows under ministries, with count and no name.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | The department's join code. |
{"message": "You are being added shortly", "status": true}The membership is active at once when the department allows open membership, otherwise it waits for the department leader's approval. Unknown code: Invalid. The code you entered does not exist.
{"message": "Your exit is awaiting approval", "status": true}On v2 leaving is a request the department approves. A second request answers Your already initiated your exit. Please wait for approval; a non-member gets You are not a member of this department. On /api/v1 the member leaves at once (You have successfully exited).
Department meetings
{
"message": "Success",
"status": true,
"meetings": [
{ "uuid": "00000000-0000-4000-8000-000000000901", "title": "Choir practice", "start": "2026-11-05 17:30:00", "end": "2026-11-05 19:00:00" }
]
}Cell groups
{
"message": "Success",
"status": true,
"name": "Cell Group",
"cellgroups": [
{ "uuid": "00000000-0000-4000-8000-000000000d01", "name": "Kilimani", "categories": [
{ "uuid": "00000000-0000-4000-8000-000000000d11", "name": "Young Couples" }
] }
]
}{
"message": "Success",
"status": true,
"cellgroups": [ { "uuid": "00000000-0000-4000-8000-000000000d01", "name": "Kilimani", "description": null } ],
"categories": [ { "uuid": "00000000-0000-4000-8000-000000000d11", "name": "Young Couples", "description": null } ],
"name": "Cell Group"
}Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| category | uuid | No | Join this category of the cell group instead of the cell group itself. |
{"message": "You have successfully joined", "status": true}Already a member: You are already a member.
{"message": "You have successfully exited Kilimani", "status": true}{"message": "You have successfully exited Young Couples", "status": true}Classes
Classes are courses the church runs (membership class, baptism class, marriage preparation). Paid classes have a fee and a CLS- account number.
{
"message": "Success",
"status": true,
"classes": [
{ "uuid": "00000000-0000-4000-8000-000000000e01", "name": "Foundations", "description": "New believers class", "is_paid": 0, "amount": null },
{ "uuid": "00000000-0000-4000-8000-000000000e02", "name": "Marriage Preparation", "description": null, "is_paid": 1, "amount": "2000.00" }
]
}{"message": "You have successfully joined the class", "status": true}A paid class answers You have successfully joined the class. Please proceed to make payment to activate your membership and the membership stays pending until the fee is paid. Already joined: You are already a member of this class.
{
"message": "Success",
"status": true,
"lessons": [
{ "uuid": "00000000-0000-4000-8000-000000000e11", "topic": "Who is Jesus", "description": null, "from": "2026-11-07 14:00:00", "to": "2026-11-07 15:30:00" }
]
}