Files
bookhoard/docs/developer/api/media-items/update_media_item.md
T
john-okeefe b44e4e4709 docs: remove Phase X placeholders from API documentation
Clean up API documentation files by removing Phase X references:

Remove 'API Explorer will be inserted here in Phase X' placeholders from:
- 70+ API endpoint documentation files
- Authentication endpoints (login, logout, register, refresh)
- User endpoints (profile, settings, password)
- Device endpoints (registration, sync, shelves)
- Library endpoints (CRUD, folders, visibility)
- Media endpoints (items, progress, highlights, notes)
- Admin endpoints (users, analytics)
- Sync endpoints (Kobo, KOReader)
- OPDS endpoints
- Scanner endpoints
- Queue endpoints

These placeholders were from planning documents and have no meaning
to API consumers. The documentation is now clean and ready for use.
2026-02-13 21:50:44 -05:00

1.7 KiB

Update Media Item

Update media item metadata (Admin only).

Endpoint: PUT /api/media-items/{media_id} Auth: Required (Admin only) Content-Type: application/json

Path Parameters

Parameter Type Required Description
media_id string Yes Media item UUID

Request Body

Field Type Required Description
title string No Updated title
author string No Updated author
description string No Updated description
series string No Series name
series_number integer No Number in series
tags array of string No Updated tags (auto-normalized)
contributors array of string No Updated contributors (auto-normalized)

Tag/Contributor Normalization:

  • Tags are titlecased and deduplicated (case-insensitive)
  • Contributors preserve original casing and punctuation
  • Punctuation-preferred deduplication (keeps "ACME CORP." over "acme corp")
  • Search fields auto-generated for case-insensitive search

Example Request

{
  "title": "Updated Title",
  "author": "Updated Author",
  "description": "Updated description",
  "series": "Series",
  "series_number": 2
}

Response (200 OK)

{
  "id": "uuid",
  "title": "Updated Title",
  "author": "Updated Author",
  "description": "Updated description",
  "series": "Series",
  "series_number": 2,
  "updated_at": "2026-01-31T10:00:00Z"
}

Error Responses

Code Description
400 Invalid input data
401 Invalid or expired token
403 User is not an admin
404 Media item not found