I have a collection with entities created using the master secret, I can create/update but when I try deleting the entity using a cache store the operation is successful and removed from the cache but not removed the backend.
I understand the risks with using the master credentials, in this instance it is being used by administration and not by the end user. The application is definitely online, as modifying entities gets reflected on the backend correctly it's just delete operations that are problematic.
You mentioned that you deleted an entity from '.cache' datastore successfully. It is removed from cache but still present on the backend. Was your app offline? The Cache Store also stores pending write operations when the app is offline. However, the developer is required to push these pending operations to the backend when the network resumes. The push API should be used to accomplish this. Check https://devcenter.kinvey.com/nodejs/guides/datastore#push.
For a store of type
Cache, data is written first to your
local copy and sent immediately to be written to the backend. If the
write to the backend fails (e.g. because of network connectivity), the
library maintains information to recognize that this data needs to be
sent to the backend when connectivity becomes available again. Due to
platform limitations, this does not happen automatically, but needs to
be initiated from the user by calling the
sync() methods. Check https://devcenter.kinvey.com/nodejs/guides/datastore#WritePolicy