Commonly, we are asked for support for endpoints that support 0(x) or 0(n) numbers of deletions. This article is written to provide an explanation of why these usually aren't supported.
- Delete a Channel and hard-delete all messages
- Delete an application and all of its data
- Delete a Feed and all of the activities
- Delete a user and all of their activities
- Delete an array of users and all of their messages
Why we don't support these operations
There are three main reasons why we don't support 0(x) or 0(n) deletions.
- Deleting records from databases can be an expensive operation. This means that as an API provider, we do need to limit these deletions in some way in order to provide a competitive product.
- Deletions need to happen in a synchronous manner and be fast.
- There is no way to restrict the number of records that are deleted for many of these operations. With a single deletion endpoint, such as deleting a message, or batch fetching activities, we know that there will be 0(1) or 0(n) operations respectively, where we set n to 100. However, for the request to delete an app and all of the messages, this can represent 0(n) operations where n is equal to the number of messages sent in an app, which could be millions or more.
Which operations do we support?
In order to comply with GDPR, we do support deleting a user and all of their messages. We also support truncating a channel and soft deleting messages.
Please sign in to leave a comment.