Create pledge
Adds a fixed or open-ended recurring pledge to a donor record.
POST https://cotlet.dev/api/v1/donorperfect/donors/{donor_id}/pledges
write Confirm
Adds a pledge on the Pledges tab. For a fixed pledge pass total and payments, and the billing amount follows. For an open-ended recurring pledge leave total at 0 and pass billing_amount. The number of payments is set when the pledge is created. It returns the pledge_id for apply_pledge_payment. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| donor_id integer required | integer | Donor ID from search_donors. |
| pledge_date date required | date | When the donor made the commitment. |
| start_date date required | date | When payments begin. |
| frequency string required | string | As DonorPerfect lists it, for example monthly, quarterly, annually or bi-weekly. |
| total number | number | Pledge total. Leave at 0 for an open-ended recurring pledge. |
| payments integer | integer | Number of payments of a fixed pledge. |
| billing_amount number | number | Amount of each payment. Needed when total is 0. |
| gl_code string | string | General ledger code from list_codes. |
| solicitation string | string | Solicitation code from list_codes. |
| thank_you_letter string | string | Thank you letter code from list_codes. |
Request
curl -X POST https://cotlet.dev/api/v1/donorperfect/donors/1/pledges \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pledge_date":"2026-10-01","start_date":"2026-10-01","frequency":"frequency"}' result = client.call("donorperfect", "create_pledge", {"donor_id":1,"pledge_date":"2026-10-01","start_date":"2026-10-01","frequency":"frequency"}) const result = await cotlet.call('donorperfect', 'create_pledge', {"donor_id":1,"pledge_date":"2026-10-01","start_date":"2026-10-01","frequency":"frequency"}); cotlet call donorperfect create_pledge --data '{"donor_id":1,"pledge_date":"2026-10-01","start_date":"2026-10-01","frequency":"frequency"}' Example response
{
"pledge_id": 77450,
"donor_id": 52004,
"pledge_date": "2026-10-22",
"start_date": "2026-11-01",
"total": 600,
"payments": 6,
"billing_amount": 100,
"frequency": "Monthly",
"status": "saved"
}