diff --git a/beat/web/common/api.py b/beat/web/common/api.py
index 2ce7b761aacdd1e7924e5221abde3bac49a1f4c8..cb0ebdbb0c9a3662897aec6dc7f704c444fc1703 100644
--- a/beat/web/common/api.py
+++ b/beat/web/common/api.py
@@ -263,32 +263,12 @@ class RetrieveUpdateDestroyContributionView(
         serializer = self.get_serializer(db_object, fields=fields_to_return)
         return Response(serializer.data)
 
-    def delete(self, request, *args, **kwargs):
-        author_name = self.kwargs.get("author_name")
-        object_name = self.kwargs.get("object_name")
-        version = self.kwargs.get("version", None)
-
-        # Retrieve the object
-        if version is None:
-            raise drf_exceptions.ValidationError(
-                {"version": "A version number must be provided"}
-            )
-
-        db_object = get_object_or_404(
-            self.model,
-            author__username__iexact=author_name,
-            name__iexact=object_name,
-            version=version,
-        )
-
+    def perform_destroy(self, instance):
         # Check that the object can be deleted
-        if not (db_object.deletable()):
+        if not (instance.deletable()):
             raise drf_exceptions.MethodNotAllowed(
                 "The {} can't be deleted anymore (needed by an attestation, an algorithm or another data format)".format(
-                    db_object.model_name()
+                    instance.model_name()
                 )
             )
-
-        # Deletion of the object
-        db_object.delete()
-        return Response(status=204)
+        return super().perform_destroy(instance)