meta { name: Update Media Item type: http seq: 2 } put { url: {{base_url}}/api/media-items/{{media_item_id}} body: json auth: inherit } headers { Content-Type: application/json } body:json { "title": "Updated Media Item Title", "author": "Updated Author Name", "isbn": "978-9876543210", "description": "Updated description", "cover_image_path": "/updated/path/to/cover.jpg", "series": "Updated Series Name", "series_number": 2, "tags": "updated, fiction, adventure", "asin": "B09XYZ789", "date_published": "2023-02-20", "publisher": "Updated Publisher", "contributors": "Updated Contributor", "language": "en", "edition": "Updated Edition", "page_count": 400, "genre": "Updated Genre", "copyright_year": 2023, "goodreads_id": "7890123", "openlibrary_id": "OL789012M", "google_books_id": "GB789012" } tests { test_update_media_item_success(status, headers, body) { if (status !== 200) { throw new Error("Expected status 200, got " + status); } let data; try { data = JSON.parse(body); } catch (e) { throw new Error("Response body is not valid JSON"); } if (!data || typeof data !== "object") { throw new Error("Expected updated media item object in response"); } if (!data.id || !data.updated_at) { throw new Error("Media item response missing update confirmation"); } return true; } } vars:pre-request { mediaItemId: "550e8400-e29b-41d4-a716-446655440000" } settings { encodeUrl: true timeout: 0 } docs { ## Update Media Item Updates an existing media item's metadata. **Method:** PUT **Endpoint:** /api/media-items/{id} **Authentication:** Required (Bearer token, admin only) **Path Parameters:** - `id` (string): Media item UUID **Request Body:** All media item fields (same as Create) **Response:** Updated media item object **Status Codes:** - 200: Media item updated successfully - 400: Invalid request data - 401: Unauthorized - 403: Forbidden (admin access required) - 404: Media item not found - 500: Internal server error **Examples:** - Update media item: `PUT /api/media-items/550e8400-e29b-41d4-a716-446655440000` **Note:** Admin access required - only users with admin role can update media items. }