I'm trying to undelete a record via ReadyAPI SOAP client but I'm getting an INSUFFICIENT_ACCESS_OR_READONLY error back from the API.

My user has all permission tick boxes checked including Modify All access to Account records. But still getting error. Access is granted via a permission set.

This API User's profile is "Salesforce API Only System Integrations" and assigned with API User permission set license below.

enter image description here

SOAP Client error:

enter image description here

Update: I tried as System Admin and it worked apparently. Wonder if a user needs more than modify all to be able to restore a record.

Any ideas what might be missing with permissions here? Thanks!

2 Answers 2


As stated in the documentation, you must be a user with the Modify All Data permission. This is the Profile/Permission Set field in the API called PermissionsModifyAllData. Having an object-level Modify All permission is not sufficient to recover another user's record from the Recycle Bin. Any time you see the plain "Modify All Data" permission as a requirement, they are talking about the top-level permission that allows a user to edit any record regardless of ownership.


You are probably missing permissions at the record-level (row), not at the field level (column), granted through sharing rules.

Check if your org-wide sharing settings for the account object allows your user to edit the record in question.

You can also make sure that your user is either at the top of the role hierarchy or has no role at all.

  • Thanks for your reply @Renato, I could undelete as a system admin user. It seems to fail only as API only user with view all/modify all permissions. Org-wide is private for Account. But I tried sharing rules to open access to Integration user. Still it couldn't undelete. It could read it in Recycle bin, but not delete :( Nov 7, 2023 at 4:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .