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.
67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# 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
|
|
|
|
```json
|
|
{
|
|
"title": "Updated Title",
|
|
"author": "Updated Author",
|
|
"description": "Updated description",
|
|
"series": "Series",
|
|
"series_number": 2
|
|
}
|
|
```
|
|
|
|
## Response (200 OK)
|
|
|
|
```json
|
|
{
|
|
"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 |
|