diff --git a/src/main/java/com/smartharvester/controller/SmartHarvesterCatalogController.java b/src/main/java/com/smartharvester/controller/SmartHarvesterCatalogController.java
new file mode 100644
index 0000000000000000000000000000000000000000..1298c6474f54436413aa40733a8f293d9c8d4f88
--- /dev/null
+++ b/src/main/java/com/smartharvester/controller/SmartHarvesterCatalogController.java
@@ -0,0 +1,59 @@
+package com.smartharvester.controller;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.mongodb.client.FindIterable;
+import com.mongodb.client.MongoCollection;
+import com.mongodb.client.MongoDatabase;
+import com.mongodb.client.MongoIterable;
+import com.smartharvester.dao.CatalogDaoRepository;
+import com.smartharvester.dao.OpenApiDaoRepository;
+import com.smartharvester.dao.UserDaoRepository;
+import com.smartharvester.exception.ResourceNotFoundException;
+import com.smartharvester.model.login.response.MessageResponse;
+import com.smartharvester.model.user.Catalog;
+import com.smartharvester.model.user.SmartHarvesterUser;
+import com.smartharvester.service.UserDaoSevice;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.bson.Document;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@CrossOrigin(origins = "*")
+@RestController
+@Tag(name = "SmartHarvester catalog", description = "Catalog management")
+@RequestMapping("/harvester/api/catalogs")
+public class SmartHarvesterCatalogController {
+    
+    @Autowired
+    private CatalogDaoRepository catalogDoaRepository;
+
+    @Autowired
+    private OpenApiDaoRepository openApiDaoRepository;
+    
+    @DeleteMapping("/{catId}")
+    public ResponseEntity<?> registerUser(@PathVariable("catId") String catId) {
+
+        Catalog catalog = catalogDoaRepository.findByCatId(catId);
+        if (catalog == null) {
+            return ResponseEntity
+                    .badRequest()
+                    .body(new MessageResponse("Error: Catalog not found!",HttpStatus.NOT_FOUND));
+        }
+
+        if (openApiDaoRepository.existsByCatalogId(catId)) {
+            openApiDaoRepository.delete(openApiDaoRepository.findByUUID(catId));
+        }
+
+        catalogDoaRepository.deleteByCatId(catalog.getCatId());
+
+        return ResponseEntity.ok(new MessageResponse("Catalog deleted succefully!",HttpStatus.OK));
+    }
+
+}
diff --git a/src/main/java/com/smartharvester/dao/CatalogDaoRepository.java b/src/main/java/com/smartharvester/dao/CatalogDaoRepository.java
index 974a4f58ca06c8aafb5202bb3e0846a99d653d2e..3551b083031ab58e40e38f8667c57577bfd2e88b 100644
--- a/src/main/java/com/smartharvester/dao/CatalogDaoRepository.java
+++ b/src/main/java/com/smartharvester/dao/CatalogDaoRepository.java
@@ -4,14 +4,18 @@ import java.util.List;
 
 import com.smartharvester.model.user.Catalog;
 
+import org.springframework.data.mongodb.repository.DeleteQuery;
 import org.springframework.data.mongodb.repository.MongoRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface CatalogDaoRepository extends MongoRepository<Catalog, Integer> {
+public interface CatalogDaoRepository extends MongoRepository<Catalog, String> {
 
     List<Catalog> findByUserUuid(String userUuid);
 
     Catalog findByCatId(String catId);
 
+    @DeleteQuery
+    public void deleteByCatId(String catId);
+
 }