--- method: PUT path: /api/media-items/:id/notes/:noteId auth: jwt area: media-items --- # Update Note Update an existing note. **Endpoint**: `PUT /api/media-items/:id/notes/:noteId` **Auth**: Required **Content-Type**: `application/json` ## Path Parameters | Parameter | Type | Required | Description | | --------- | ------ | -------- | ----------- | | note_id | string | Yes | Note UUID | ## Request Body | Field | Type | Required | Description | | -------- | ------ | -------- | -------------------------- | | content | string | No | Updated note content | | position | string | No | Updated location reference | ### Example Request ```json example-request { "content": "Updated note content", "position": "epubcfi(/6/4/2:20)" } ``` ## Response (200 OK) ```json example-response { "id": "uuid", "media_item_id": "uuid", "user_id": "uuid", "content": "Updated note content", "position": "epubcfi(/6/4/2:20)", "updated_at": "2026-01-31T10:00:00Z", "chapter_reference": null, "character_end": null, "character_start": null, "created_at": null, "dedup_key": null, "deleted": null, "deleted_at": null, "device_sync_data": null, "epubcfi_location": null, "last_modified_at": null, "last_modified_source": null, "paragraph_reference": null, "percentage_location": null } ``` ## Error Responses | Code | Description | | ---- | --------------------------- | | 400 | Invalid note data | | 401 | Invalid or expired token | | 403 | User does not own this note | | 404 | Note not found |