MyChurchDocs

Biometric devices

Fingerprint and face terminals at the church door can check members into the service as they arrive. The device posts each recognition to MyChurch; MyChurch finds the church by the device's serial number.

Step 1: register the device

In the portal, open Check-ins, Biometrics, add the device with its serial number (printed on the device and shown in its settings menu), a name and a location, then assign it to the service schedule it serves. A device that is not registered, or not assigned to a schedule, is ignored.

RoutePermissionPurpose
GET/v1/biometricschurch:checkins:viewList the church's devices.
POST/v1/biometricschurch:checkins:manageRegister a device: serial_number, name, location.
PATCH/v1/biometrics/{uuid}church:checkins:manageRename or move a device.
POST/v1/biometrics/{uuid}/assignchurch:checkins:manageAssign the device to a service schedule (schedule_uuid; empty unassigns).
DELETE/v1/biometrics/{uuid}church:checkins:manageRemove a device.

church:services:view also reads the list, and church:services:manage also manages devices.

Members are matched by their phone number or member number, so enrol each member on the device with one of those as the user id.

Step 2: point the device at MyChurch

POSThttps://uat-api.mychurch.co.ke/api/biometricDevice (serial number)

/api/v1/biometric and /api/v2/biometric answer the same way, for devices already configured with them.

Request (JSON or form fields)

FieldTypeRequiredDescription
serialNumberstringYesThe device serial number registered in Step 1.
phonestringNoThe member's phone number, if that is the enrolled id.
member_numberstringNoThe member number, if that is the enrolled id.
checkinTimestringNoDevice time, YYYY-MM-DD HH:MM:SS, Nairobi time. Defaults to the time received.
uuidstringNoThe church uuid. Optional; if sent it must match the device's church.
bash
curl -X POST https://uat-api.mychurch.co.ke/api/biometric \
  -H "Content-Type: application/json" \
  -d '{
    "serialNumber": "BKX3204561",
    "phone": "254712345678",
    "checkinTime": "2026-10-04 09:47:12"
  }'

The answer is always an empty HTTP 200, straight away: devices expect nothing else. The check-in itself is processed a moment later.

What is recorded

  • One check-in per member per service schedule; repeat scans the same day are ignored.
  • Only within the service's start and end time; scans outside it are ignored.
  • If the service sends check-in messages, the member gets the church's confirmation SMS.
  • Check-ins appear with channel biometric in the attendance reports.

Testing a device

Register it, assign it to a schedule running now, scan an enrolled member and check Check-ins in the portal. If nothing appears, check the serial number, the schedule assignment, the service time window and that the enrolled id matches the member's phone or member number. See also Platform API: Services.