planningcenter / developers

Planning Center API docs and support
https://developer.planning.center/docs/
85 stars 8 forks source link

Permissions issue or intentional? #1241

Open evangunter opened 2 days ago

evangunter commented 2 days ago

Related Product Which product is this question related to? Giving

Describe the question I'm attempting to update a designation of a donation. I'm using the "/giving/v2/donations/{donation.Data.Id}" endpoint and sending a patch request with the appropriate object and getting a 403. However, I am an organization administrator AND a Giving administrator. Why can't I modify donations via the API if I have the permissions to do it via the UI?

I'm using the "/giving/v2/donations/{donation.Data.Id}" endpoint

What have you tried that worked? If I attempt to patch a donation that I (the user) created, I do not get a 403 and it works.

What have you tried that didn't work? If I attempt to patch a donation that I did not create, I get a 403.

Additional context Patch requestion URL: https://api.planningcenteronline.com/giving/v2/donations/95048400 Object I'm sending in patch: {"data":{"id":95048400,"type":"donation","attributes":{}},"included":[{"relationships":{"fund":{"data":{"type":"Fund","id":380007}}},"type":"Designation","id":100745837,"attributes":{"amount_cents":8206}}]}

***Note, this same object patch request works if I change the donationId to a donation I created.

Is this the expected behavior? Again, I can modify the donation directly in the UI, but get a 403 using the API

Error: {"errors":[{"status":"403","title":"Forbidden","detail":"You do not have access to this resource","meta":{"description":"User with id 20474185 cannot update AppGraph::V2019_10_18::Vertices::DonationVertex with id 95048400."}}]}

I have..

breannedurenjohnson commented 2 days ago

Hi @evangunter! If the donation was processed through Stripe, you won't be able to update it via the API. Only batch donations can be updated via the API. We recognize there may not be sufficient documentation around this so it's on our radar to add clarity in the docs. If this information doesn't solve the issue, let us know!