diff --git a/API/Controllers/MaintenanceController.cs b/API/Controllers/MaintenanceController.cs
new file mode 100644
index 0000000..844bb6d
--- /dev/null
+++ b/API/Controllers/MaintenanceController.cs
@@ -0,0 +1,36 @@
+using API.MangaConnectors;
+using API.Schema.MangaContext;
+using Asp.Versioning;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using static Microsoft.AspNetCore.Http.StatusCodes;
+
+namespace API.Controllers;
+
+[ApiVersion(2)]
+[ApiController]
+[Route("v{v:apiVersion}/[controller]")]
+public class MaintenanceController(MangaContext mangaContext) : Controller
+{
+
+ ///
+ /// Removes all not marked for Download on any
+ ///
+ ///
+ /// Error during Database Operation
+ [HttpPost("CleanupNoDownloadManga")]
+ [ProducesResponseType(Status200OK)]
+ [ProducesResponseType(Status500InternalServerError, "text/plain")]
+ public IActionResult CleanupNoDownloadManga()
+ {
+ Manga[] noDownloads = mangaContext.Mangas
+ .Include(m => m.MangaConnectorIds)
+ .Where(m => !m.MangaConnectorIds.Any(id => id.UseForDownload))
+ .ToArray();
+ mangaContext.Mangas.RemoveRange(noDownloads);
+
+ if(mangaContext.Sync() is { success: false } result)
+ return StatusCode(Status500InternalServerError, result.exceptionMessage);
+ return Ok();
+ }
+}
\ No newline at end of file
diff --git a/API/Controllers/MangaController.cs b/API/Controllers/MangaController.cs
index a42c975..51afb1d 100644
--- a/API/Controllers/MangaController.cs
+++ b/API/Controllers/MangaController.cs
@@ -66,7 +66,7 @@ public class MangaController(MangaContext context) : Controller
///
/// .Key
///
- /// < with not found
+ /// with not found
/// Error during Database Operation
[HttpDelete("{MangaId}")]
[ProducesResponseType(Status200OK)]