Reposting here as this contains implementation details:
Etherpad doesn't allow to change access state values in between concurrent editing unlike google docs. Pad access states like readonly have to be declared upfront in the settings.json file. / A readonly URL can be loaded using the already existing padID with the help of getReadOnlyID(padID)function.
If however, user is already aware of the original padID where the edits can be made, then they would have access to those pads if they went back to that url.
A possible solution would be to set a sessionID for the editing author once we receive the metadata contents from the setefssmetadata endpoint, then subsequently remove this sessionID on occurrence of the errors.
However, this appears to be non-functional when tested and may prove to be in-effective for multiple users, since in that case multiple sessionIDs would be needed to fetched from the database.
Even after the unix timestamp that is supposed to expire after 5 minutes, the user is still able to edit the pad and make changes, when in fact, they shouldn't be allowed to do so.
Thus, another alternative needs to be investigated...