I am progressing deeper and deeper into CivCRM intricacies, and work with External (https://) access of the database via API's. When performing a python requests.get(....,entity=Contact,action=get) it works OK, and I get the data I request.

Next I tried to update the contact/membership with a payment via requests.get(...entity=Contribution, action=create...) and the same for requests.post, both gave the same disappointing status_code of 414. I also tried to get some more information and among the plethora of data dumped the following was "readable":

"is_error":1,"error_message":"API permission check failed for Contribution/create call; insufficient permission: require access CiviCRM and access CiviContribute and edit contributions"}, as well as a status_code of 414 (unknown to me)

I have now updated my access-capabilities (granted all "Edit Capabilities: Custom) in the role table in WP (where our CiviCRM resides), so I shall have all the rights mentioned above. Still the same problem. We run API 3 at present, but I do not think that is the problem here.

So here I am asking for some guidance, please!


1 Answer 1


You'll have an easier time modifying the permissions from within CiviCRM - Administer menu >> Users and Permissions >> Permissions (Access Control). When changing permissions from WP, you're usually dealing with machine names, not human-readable labels, so it can be hard to correlate error messages with the particular permission needed.

It sounds like your REST user still doesn't have the Access CiviContribute permission.

  • Thanks. I am an Administrator so I should basically have full access to everything. Stil I have met a total blocking here. Commented Feb 21, 2021 at 21:46
  • Can you edit your question to show a command-line CURL operation that duplicates the error (with both the command and the error)? If you do, please comment on this answer so I'll get a notification! Commented Feb 21, 2021 at 23:26
  • You may also want to ask in the ~dev channel on chat.civicrm.org. Commented Feb 21, 2021 at 23:26
  • Jon, I'm really sorry, but I don't really know how to do that. I am trying to make the access via a Python programme. I can provide you with the call that gives the answer above. I'll run it and post it here. Commented Feb 23, 2021 at 13:44
  • Jon, I have now succeeded to proceed a bit. It has been suggested on the Mattermost site that I used the wrong API access way. It should be via the WP- aAPI v3 wrapper, so I tried it. Wasn't successful, but I have done some curl accesses. Please see the results I got from a a v3 access effort: Commented Feb 24, 2021 at 21:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.