Files
bookhoard/docs/developer/api/media-items/bulk_delete_media_items.md
T
john-okeefe 4d321528b2 docs: update comprehensive API documentation and project guides
This commit updates all documentation files throughout the project:

- Updated IMPLEMENTATION_PLAN.md with new implementation details
- Updated PROJECT_GUIDELINES.md with coding standards and practices
- Updated README.md with current project information
- Updated SCREENSHOT_AUTOMATION.md with new automation details
- Added TEST_DATA.md with test fixtures data
- Updated cover_image_serving_plan.md with static URL patterns

Documentation API updates:
- Updated API reference documentation for all endpoints including:
  - Authentication (login, logout, register, refresh_token)
  - Book matching (auto_link, bulk_link, link_book, search)
  - Collections (CRUD operations, shelf mappings, auto-assign rules)
  - Conflicts (bulk operations, resolve/dismiss)
  - Devices (registration, approval, shelf management)
  - Highlights (create, update, delete, get)
  - Kobo sync (bookmark, markup, initialization, sync)
  - KOReader sync (library, metadata, bookmarks, progress)
  - Libraries (CRUD, folders, media items, stats)
  - Media items (bulk operations, CRUD)
  - Notes (CRUD operations)
  - OPDS (acquisition, feeds, publication)
  - Progress (reading progress tracking)
  - Queue (device queue management)
  - Ratings (star ratings)
  - Scanner (watch mode, scan operations)
  - Sync protocols (Kobo, KOReader)
  - Users (profile, password, admin operations)
  - WebSocket protocols

- Updated user guides (admin, dashboard, settings, sync)
- Updated device setup guides (Kobo, KOReader)
- Updated developer guides (testing, contributing, operations)
- Updated scripts/README.md
2026-02-27 17:06:22 -05:00

2.6 KiB

Bulk Delete Media Items

Delete multiple media items at once (supports ebooks, comics, manga).

Endpoint: POST /api/media-items/bulk-delete Auth: Required Content-Type: application/json

Request Body

Field Type Required Description
media_item_ids array of UUID Yes Array of media item UUIDs to delete

Example Request

{
  "media_item_ids": [
    "550e8400-e29b-41d4-a716-446655440001",
    "660e8400-e29b-41d4-a716-446655440002",
    "770e8400-e29b-41d4-a716-446655440003"
  ]
}

Response (200 OK)

{
  "results": [
    {
      "media_item_id": "550e8400-e29b-41d4-a716-446655440001",
      "status": "success"
    },
    {
      "media_item_id": "660e8400-e29b-41d4-a716-446655440002",
      "status": "error",
      "error": "Media item not found"
    },
    {
      "media_item_id": "770e8400-e29b-41d4-a716-446655440003",
      "status": "success"
    }
  ],
  "total": 3,
  "deleted": 2,
  "failed": 1
}

Response Fields

Field Type Description
results array Individual result for each media item
results[].media_item_id string UUID of the media item
results[].status string "success" or "error"
results[].error string Error message (only present if status is "error")
total number Total number of media items processed
deleted number Number of media items successfully deleted
failed number Number of media items that failed to delete

Error Responses

Code Description
400 Invalid request data or empty media_item_ids array
401 Invalid or expired token
403 User does not have permission
500 Server error during deletion

Notes

  • File deletion: Successfully deleted media items will also have their associated files removed from disk
  • Invalid UUIDs: Invalid UUID formats are counted as failures in the results array
  • Non-existent items: Media items that don't exist are counted as failures (not errors)
  • Partial success: The operation continues even if some deletions fail