MyChurchDocs

Profile, family and professions

Read and update the member's own record and photo, link children and a spouse, opt out of non-transactional SMS, request data deletion and record professions.

Every route here needs the member token. Routes marked Member token + PIN also need the member's pin in the body, because they change the family or the account itself.

Read the profile

GEThttps://uat-api.mychurch.co.ke/api/v2/profileMember token
bash
curl https://uat-api.mychurch.co.ke/api/v2/profile \
  -H "Authorization: Bearer 11111111-2222-4333-8444-555555555555"
Response
{
  "message": "Success",
  "status": true,
  "account": {
    "first_name": "Jane",
    "middle_name": "",
    "other_names": "Wanjiku",
    "primary_phone": "254712345678",
    "alternative_phone": null,
    "email": "[email protected]",
    "physical_address": "Kilimani, Nairobi",
    "date_of_birth": "1990-04-12",
    "confirmation_date": null,
    "married_on": "2018-12-01",
    "age_group": null,
    "status": 1,
    "gender": 2,
    "marital_status": 2,
    "uuid": "00000000-0000-4000-8000-0000000000b1",
    "member_number": "GC042",
    "tithe_number": "T-118",
    "blocked": null,
    "baptism_date": "2005-08-14"
  },
  "department_name": "Departments",
  "cell_group_name": "Cell Groups"
}

The account block is the login one plus baptism_date; here the two labels sit beside it instead of inside it. age_group is the whole age group record (with its integer id, kept for the installed apps) or null.

Update the profile

POSThttps://uat-api.mychurch.co.ke/api/v2/update-profileMember token

Parameters

FieldTypeRequiredDescription
namestringYesFull name, split into first, middle and other names.
physical_addressstringYesWhere the member lives.
genderintegerYes1 male, 2 female.
marital_statusintegerYes1 single, 2 married, 3 single parent, 4 widowed.
date_of_birthstringNoYYYY-MM-DD. Required unless age_group is sent.
age_groupuuidNoRequired unless date_of_birth is sent.
alternative_phonestringNoA second number. Must not belong to another member or to the church (422 The alternative phone has already been taken.).
tithe_numberstringNoUnique within the church (422 The tithe number has already been taken.).
confirmation_datestringNoYYYY-MM-DD.
married_onstringNoYYYY-MM-DD.
Response
{"message": "Your account has been updated", "status": true}

Upload a photo

POSThttps://uat-api.mychurch.co.ke/api/v2/upload-photoMember token

Parameters

FieldTypeRequiredDescription
photofileYesMultipart field. PNG or JPEG, up to 8 MB.
bash
curl -X POST https://uat-api.mychurch.co.ke/api/v2/upload-photo \
  -H "Authorization: Bearer 11111111-2222-4333-8444-555555555555" \
  -F "[email protected]"
Response
{"message": "You photo has been uploaded", "status": true, "photo": "https://uat-api.mychurch.co.ke/storage/scarlet/profiles/0a1b2c3d.jpg"}

Another file type is a 422: The photo field must be a file of type: png, jpg, jpeg.

Children

POSThttps://uat-api.mychurch.co.ke/api/v2/my-childrenMember token

No body. Lists the children of the member and their spouse: children registered under the parent (is_member: 0) and members linked to the parent as their child (is_member: 1).

Response
{
  "message": "Success",
  "status": true,
  "children": [
    { "uuid": "00000000-0000-4000-8000-0000000000c1", "first_name": "Brian", "other_names": "Wanjiku", "date_of_birth": "2016-02-20", "gender": 1, "is_member": 0 },
    { "uuid": "00000000-0000-4000-8000-0000000000b7", "first_name": "Mercy", "other_names": "Wanjiku", "date_of_birth": "2004-09-03", "gender": 2, "is_member": 1 }
  ]
}
POSThttps://uat-api.mychurch.co.ke/api/v2/register-childMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
namestringYesThe child's name.
date_of_birthstringYesYYYY-MM-DD.
genderintegerYes1 male, 2 female.
Response
{"message": "Your child is being registered", "status": true}
POSThttps://uat-api.mychurch.co.ke/api/v2/delete-child/{child}Member token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
Response
{"message": "Child removed successfully", "status": true}

Link an adult child who is a member

POSThttps://uat-api.mychurch.co.ke/api/v2/register-child-memberMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
phonestringYesThe child's own member phone number in this church.
Response
{"message": "Child added successfully", "status": true}

Failures: A member with the phone number does not exist, The child is already linked to a parent.

POSThttps://uat-api.mychurch.co.ke/api/v2/delete-child-member/{child}Member token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
Response
{"message": "Child removed successfully", "status": true}

Spouse

Spouses are linked by invitation: one member invites the other by phone, the invitee receives a code by SMS and confirms it.

POSThttps://uat-api.mychurch.co.ke/api/v2/my-spouseMember token
Response
{
  "message": "Success",
  "status": true,
  "spouse": {
    "uuid": "00000000-0000-4000-8000-0000000000b2",
    "first_name": "Peter",
    "middle_name": null,
    "other_names": "Kamau",
    "primary_phone": "254722000111",
    "gender": 1,
    "physical_address": "Kilimani, Nairobi"
  }
}

spouse is null when none is linked.

POSThttps://uat-api.mychurch.co.ke/api/v2/invite-spouseMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
phonestringYesThe spouse's member phone number in this church.
Response
{"message": "Your invite has been sent", "status": true}

Failures: There is no member with that phone number, The spouse is already linked to you, The spouse is already linked to another member, You have already invited this spouse., You have been invited by this spouse. Check pending invitations and accept.

POSThttps://uat-api.mychurch.co.ke/api/v2/pending-invitationsMember token
Response
{
  "message": "Success",
  "status": true,
  "spouses": [
    {
      "id": 88, "uuid": "00000000-0000-4000-8000-0000000000d1", "church_id": 12, "invitee": 4410,
      "code": 4821, "status": 0, "deleted_at": null,
      "created_at": "2026-10-30T08:12:00.000000Z", "updated_at": "2026-10-30T08:12:00.000000Z",
      "inviter": {
        "id": 4409, "uuid": "00000000-0000-4000-8000-0000000000b2", "first_name": "Peter", "middle_name": null,
        "other_names": "Kamau", "primary_phone": "254722000111", "gender": 1, "physical_address": "Kilimani, Nairobi"
      }
    }
  ]
}

This route keeps the whole legacy record, integer ids included, because the installed apps read it.

POSThttps://uat-api.mychurch.co.ke/api/v2/confirm-invitationMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
codestringYesThe code the invitee received by SMS.
Response
{"message": "Your invite is being processed", "status": true}

Unknown code: The code you entered does not exist.

POSThttps://uat-api.mychurch.co.ke/api/v2/remove-spouseMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
Response
{"message": "Spouse removed successfully", "status": true}

SMS opt-out

Members can stop the church's general (non-transactional) SMS such as announcements. Receipts, codes and other transactional messages still arrive.

POSThttps://uat-api.mychurch.co.ke/api/v2/block-messagesMember token
Response
{"message": "You have successfully blocked non-transactional messages", "status": true}
POSThttps://uat-api.mychurch.co.ke/api/v2/unblock-messagesMember token
Response
{"message": "You have unblocked non-transactional messages", "status": true}

Request data deletion

POSThttps://uat-api.mychurch.co.ke/api/v2/request-data-deletionMember token + PIN

Parameters

FieldTypeRequiredDescription
pinstringYesThe member's PIN, encrypted by the app. A wrong PIN answers You have entered the wrong pin.
reasonstringNoOptional reason, shown to the church.
Response
{"message": "Your request has been received.", "status": true}

The church reviews the request in the portal. A second request while one is open answers Your request is under review.

Professions

Members can list the professional services they offer, under a category and sub-category the platform defines, so the church can find skills in its congregation.

GEThttps://uat-api.mychurch.co.ke/api/v2/my-professionsMember token
Response
{
  "message": "success",
  "status": true,
  "categories": [
    {
      "uuid": "00000000-0000-4000-8000-0000000000e1", "name": "Health", "description": null,
      "deleted_at": null, "created_at": "2024-01-01T00:00:00.000000Z", "updated_at": "2024-01-01T00:00:00.000000Z",
      "subs": [
        { "uuid": "00000000-0000-4000-8000-0000000000e2", "category_id": 1, "name": "Nursing", "description": null,
          "deleted_at": null, "created_at": "2024-01-01T00:00:00.000000Z", "updated_at": "2024-01-01T00:00:00.000000Z" }
      ]
    }
  ],
  "professions": [
    { "uuid": "00000000-0000-4000-8000-0000000000e9", "sub_category": "Nursing", "category": "Health", "services": "Home visits,First aid training" }
  ]
}
POSThttps://uat-api.mychurch.co.ke/api/v2/save-my-profession/{subCategory}Member token

Parameters

FieldTypeRequiredDescription
servicesstringYesComma-separated services, e.g. Home visits,First aid training.
Response
{"message": "Profession saved successfully", "status": true}
POSThttps://uat-api.mychurch.co.ke/api/v2/update-my-profession/{profession}Member token

Parameters

FieldTypeRequiredDescription
servicesstringYesThe new comma-separated list.
Response
{"message": "Profession updated successfully", "status": true}
POSThttps://uat-api.mychurch.co.ke/api/v2/delete-my-profession/{profession}Member token
Response
{"message": "Profession deleted successfully", "status": true}
Field encodings (gender, marital status, 0/1 flags) are listed on the overview.