Record a received gift

Record a gift that already arrived by cash, check, in kind or an outside payment service.

POST https://cotlet.dev/api/v1/bloomerang/constituents/{constituent_id}/donations

write Confirm

Adds the gift to the timeline and returns its ID. It records money that is already in your hands: it does not process a payment, so Credit Card, EFT and Saved Payment are refused, and there is no tool to refund or delete a gift. It leaves "send acknowledgement now" off, so no email goes to the donor. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: record_donation
NameTypeDescription
constituent_id integer required integer Constituent ID from search_constituents.
date string required string Date the gift was made, YYYY-MM-DD.
amount number required number Total amount.
method string required string Cash, Check, InKind, PayPal, Venmo, ApplePay or GooglePay. The last three record payments made outside Bloomerang.
non_deductible number number Part of the gift that is not tax deductible. Default 0.
fund string string Fund name from list_giving_options.
campaign string string Campaign name from list_giving_options.
appeal string string Appeal name from list_giving_options.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/bloomerang/constituents/48211/donations \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-10-19","amount":150,"method":"Check","fund":"General Fund","campaign":"Fall Appeal 2026","appeal":"Fall mailer"}'
Python
result = client.call("bloomerang", "record_donation", {"constituent_id":48211,"date":"2026-10-19","amount":150,"method":"Check","fund":"General Fund","campaign":"Fall Appeal 2026","appeal":"Fall mailer"})
Node.js
const result = await cotlet.call('bloomerang', 'record_donation', {"constituent_id":48211,"date":"2026-10-19","amount":150,"method":"Check","fund":"General Fund","campaign":"Fall Appeal 2026","appeal":"Fall mailer"});
CLI
cotlet call bloomerang record_donation --data '{"constituent_id":48211,"date":"2026-10-19","amount":150,"method":"Check","fund":"General Fund","campaign":"Fall Appeal 2026","appeal":"Fall mailer"}'

Example response

JSON

{
  "id": 90533,
  "constituent_id": 48211,
  "date": "2026-10-19",
  "amount": 150,
  "method": "Check",
  "fund": "General Fund",
  "campaign": "Fall Appeal 2026",
  "appeal": "Fall mailer",
  "acknowledgement_sent": false
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.