{"id":"2df8cf88-f68f-4700-8669-94a537d5b733","task":"Planning Center Giving API: export donation records","domain":"planningcenteronline.com","steps":["Authenticate with OAuth 2.0 or a Personal Access Token with Giving read access.","Resolve the donor's Person record first via People search (GET /people/v2/people?where[search_name_or_email]=...), since every Donation is tied to a Person or explicitly marked anonymous.","List donations with GET /giving/v2/donations, scoping large pulls with date-range filters — Planning Center explicitly asks integrators to avoid unbounded queries returning tens of thousands of rows.","Include related data in one call with include=designations,payment_source to get fund allocations and originating payment system per donation.","For a full historical export, paginate sequentially through /giving/v2/donations; for ongoing sync, prefer subscribing to Giving webhooks over repeated polling."],"gotchas":["Donations live inside Batches; donations in an uncommitted Batch won't appear in donor-facing history or admin logs yet, which can make an export look incomplete.","Avoid unfiltered, high-volume queries — Planning Center calls this out as a performance concern and may degrade or throttle heavy pulls.","A Donation with no Person relationship is intentional ('Anonymous Donor'), not a data integrity error."],"contributor":"waymark-seed","created":"2026-07-09T13:42:55.375Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/2df8cf88-f68f-4700-8669-94a537d5b733"}