MyChurchDocs

Pledges

Record a pledge against a collection account or a fundraiser, change it, and read what is still owed. A pledge is a promise: no money moves until the member pays.

Payments the member later makes into the pledged account are applied to the open pledge automatically, once they are verified (payment verification). The church can also send pledge reminders by SMS. The word "pledge" in the response messages is the church's own label for pledges, so a church that calls them vows says vow.

Accounts that accept pledges

GEThttps://uat-api.mychurch.co.ke/api/v2/pledge-collection-accounts/{church}Member token

The collection accounts of type temporary (projects and appeals) that members can pledge to.

Response
{
  "status": true,
  "message": "Success",
  "count": 4,
  "accounts": [
    { "uuid": "00000000-0000-4000-8000-0000000000f2", "name": "Building Fund", "account": "BUILDING", "tithe_offering": 0 }
  ]
}

count is the number of all active accounts of the church, as it always was.

Record a pledge

POSThttps://uat-api.mychurch.co.ke/api/v2/record-pledge/{account}Member token

Parameters

FieldTypeRequiredDescription
amountintegerYesThe amount pledged, at least 1.
frequencyintegerNo1 once (default), 2 weekly, 3 monthly, 4 annual.
frequency_time_valuestringNoWhen the pledge falls due: the weekday for weekly, the day of the month for monthly, the month (1 to 12) for annual. Drives the reminder SMS.
is_familyintegerNo2 for a family pledge, shared with the spouse; anything else is personal.
bash
curl -X POST https://uat-api.mychurch.co.ke/api/v2/record-pledge/00000000-0000-4000-8000-0000000000f2 \
  -H "Authorization: Bearer 11111111-2222-4333-8444-555555555555" \
  -H "Content-Type: application/json" \
  -d '{"amount": 20000, "frequency": 3, "frequency_time_value": "5"}'
Response
{"message": "Your Pledge is being recorded. You will receive an sms shortly", "status": true}

The member receives a confirmation SMS (the account's own pledge message when the church set one). When the member already has an open pledge on that account, the same answer is returned and the SMS says so instead; no second pledge is created.

Change a pledge

POSThttps://uat-api.mychurch.co.ke/api/v2/update-pledge/{pledge}Member token

Parameters

FieldTypeRequiredDescription
amountintegerYesThe new amount pledged. A pledge already paid up to this amount becomes complete.
frequencyintegerNo1 once (default), 2 weekly, 3 monthly, 4 annual.
frequency_time_valuestringNoWhen the pledge falls due: the weekday for weekly, the day of the month for monthly, the month (1 to 12) for annual. Drives the reminder SMS.
is_familyintegerNo2 for a family pledge.
Response
{"message": "Your Pledges is being updated. You will receive an sms", "status": true}

The member's pledges

GEThttps://uat-api.mychurch.co.ke/api/v2/my-pledgesMember token

The member's own pledges, family pledges of their spouse or parent, and open pledges of departments they belong to, newest first.

Response
{
  "message": "Success",
  "status": true,
  "pledges": [
    {
      "uuid": "00000000-0000-4000-8000-000000000401",
      "account": "BUILDING",
      "accountUUID": "00000000-0000-4000-8000-0000000000f2",
      "name": "Building Fund",
      "frequency": 3,
      "frequency_time_value": "5",
      "is_family": 0,
      "amount_pledged": "20000.00",
      "status": 0,
      "percentage": 25,
      "balance": "15000.00",
      "total_pledged": "20000.00",
      "total_paid": "5000.00"
    }
  ],
  "total": "15,000.00"
}

status is 0 open, 1 complete. total is the balance still owed across all listed pledges. On /api/v1, balance, total_pledged and total_paid are formatted ("15,000.00").

Fundraiser pledges

POSThttps://uat-api.mychurch.co.ke/api/v2/save-fundraising-pledge/{fundRaiser}Member token
POSThttps://uat-api.mychurch.co.ke/api/v2/save-fundraising-pledge/noauth/{fundRaiser}Public

Parameters

FieldTypeRequiredDescription
amountintegerYesThe amount pledged, at least 1.
typeintegerYes1 a set amount; 2 the whole remaining target (the fundraiser closes to others).
frequencyintegerNo1 once (default), 2 weekly, 3 monthly, 4 annual.
frequency_time_valuestringNoWhen the pledge falls due: the weekday for weekly, the day of the month for monthly, the month (1 to 12) for annual. Drives the reminder SMS.
phonestringNoRequired on the noauth route: the pledger's phone. If it belongs to a member of the church the pledge is linked to them.
Response
{"message": "Pledge recorded successfully", "status": true}

An existing open pledge for the same phone gets the same answer and an SMS saying it is already recorded.

POSThttps://uat-api.mychurch.co.ke/api/v2/edit-fundraiser-pledge/{pledge}Member token

Parameters

FieldTypeRequiredDescription
amountintegerYesThe new amount, at least 1.
typeintegerNo1 or 2, as above.
frequencyintegerNo1 once (default), 2 weekly, 3 monthly, 4 annual.
frequency_time_valuestringNoWhen the pledge falls due: the weekday for weekly, the day of the month for monthly, the month (1 to 12) for annual. Drives the reminder SMS.
Response
{"message": "Your pledge has been updated", "status": true}

Only the member who made the pledge can edit it.

GEThttps://uat-api.mychurch.co.ke/api/v2/my-fundraising-pledges/{fundRaiser}Member token

Pledges on one fundraiser by the member, their departments and their cell groups.

Response
{
  "message": "Success",
  "status": true,
  "pledges": [
    {
      "uuid": "00000000-0000-4000-8000-000000000501",
      "amount_pledged": "50000.00",
      "total_paid": "10000.00",
      "source": "Individual Pledge-254712345678",
      "frequency": 3,
      "frequency_time_value": "28",
      "type": 1,
      "status": 0,
      "phone": "254712345678",
      "date_pledged": "2026-09-14 18:20:00"
    }
  ]
}

source is the department or cell group name for a group pledge.

POSThttps://uat-api.mychurch.co.ke/api/v2/my-fundraising-pledges/noauth/{church}Public

Parameters

FieldTypeRequiredDescription
fundraisinguuidYesThe fundraiser.
phonestringYesThe pledger's phone.

Same response as above, for the phone's own and department pledges in that church.

bash
curl -X POST https://uat-api.mychurch.co.ke/api/v2/my-fundraising-pledges/noauth/00000000-0000-4000-8000-000000000001 \
  -H "Content-Type: application/json" \
  -d '{"fundraising": "00000000-0000-4000-8000-000000000201", "phone": "0712345678"}'