+ Start a Discussion
Kumar_ShahKumar_Shah 

Throttle inbound API calls

An external application calls standard File upload API to upload files on a case record and the application makes ~60 API calls in less than a minute to upload files. For each transaction, it triggers a case trigger and since, the external application uploads it on the same case record, it triggers ~60 times the case trigger and running into a ROW LOCK issue.

Thanks, 
VinayVinay (Salesforce Developers) 
Hi Kumar,

Salesforce platform has a feature ROW LEVEL Security. This feature ensures that sharing and visibility set by salesforce administrators for the records have to be maintained. As a part of this feature, there are sharing calculations that the platform has to perform when the record ownership is changed or child records are created/modified.

Check below references for more details.
https://help.salesforce.com/articleView?id=000338933&type=1&mode=1
https://developer.salesforce.com/blogs/engineering/2013/01/reducing-lock-contention-by-avoiding-account-data-skews.html

Hope above information was helpful.

Please mark as Best Answer so that it can help others in the future.

Thanks,
Kumar_ShahKumar_Shah
Thanks, Vinay for the response. It is a concurrency-related issue where external API is making ~60 calls within a min and it triggers 60 times triggers, workflow rules, validation rules, etc. Due to this, it causes a ROW LOCK error.