> For the complete documentation index, see [llms.txt](https://docs.monolithforensics.com/monolith/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monolithforensics.com/monolith/monolith-api/notes-api/update-note.md).

# Update Note

Update a note's title, body, parent folder, or object link. This is a partial update — only the fields you send are changed. Replacing `note_data` records a new entry in the note's version history. To add to the end of a note without replacing it, use [append-note.md](broken://pages/96c8d6cdc6cbdb44ebe1c49f8bfe8094b1147172).

```http
PATCH /v1/notes/{uuid}
Content-Type: application/json
```

## Path parameters

| Parameter | Description                 |
| --------- | --------------------------- |
| `uuid`    | UUID of the note to update. |

## Request body

At least one field is required.

| Field         | Type                  | Description                                                                                                    |
| ------------- | --------------------- | -------------------------------------------------------------------------------------------------------------- |
| `note_tag`    | string                | New title. Cannot be empty or null.                                                                            |
| `note_data`   | string (HTML) or null | Replaces the entire note body. Normalized through the rich-text renderer. `null` clears the body.              |
| `parent_id`   | string or null        | Move the note into another folder (must be a folder in the same case). `null` moves the note to the case root. |
| `object_id`   | string                | Re-link the note to a different object. Replaces any existing link; requires `object_type`.                    |
| `object_type` | string                | One of `timeline_event`, `task`, `case`, `evidence`, `acquisition`.                                            |

## Example request

```json
{
  "note_tag": "Initial Triage (revised)",
  "note_data": "<h2>Intake</h2><p>Device received, photographed, and bagged.</p>"
}
```

## Response — `200 OK`

Returns the updated note with content included (same shape as [get-notes.md](broken://pages/12ad796747edec1897569c385a42baf8c9738cd4)):

```json
{
  "data": {
    "case_note_id": 119,
    "uuid": "0f8fad5b-d9cb-469f-a165-70867728950e",
    "note_tag": "Initial Triage (revised)",
    "note_data": "<h2>Intake</h2><p>Device received, photographed, and bagged.</p>",
    "path": "/Triage/Initial Triage (revised)",
    "parent_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "is_folder": false,
    "created_on": "2026-08-03T14:21:09.000Z",
    "updated_on": "2026-08-03T16:40:12.000Z",
    "attachments": [],
    "linked_case": { "case_id": 42, "uuid": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d" },
    "linked_object": null,
    "created_by": { "user_id": 12, "email": "api-user@example.com", "first_name": "API", "last_name": "User", "full_name": "API User", "title": "Integration" },
    "updated_by": { "user_id": 12, "email": "api-user@example.com", "first_name": "API", "last_name": "User", "full_name": "API User", "title": "Integration" }
  }
}
```

## Examples

### Rename a note

```python
response = session.patch(
    f"{BASE_URL}/notes/0f8fad5b-d9cb-469f-a165-70867728950e",
    json={"note_tag": "Initial Triage (revised)"},
)
response.raise_for_status()
```

### Replace the note body

```python
response = session.patch(
    f"{BASE_URL}/notes/0f8fad5b-d9cb-469f-a165-70867728950e",
    json={"note_data": "<p>Rewritten from the imaging worksheet.</p>"},
)
print(response.json()["data"]["updated_on"])
```

### Move a note into a folder / back to the root

```python
# Into a folder
session.patch(f"{BASE_URL}/notes/{note_uuid}", json={"parent_id": folder_uuid})

# Back to the case root
session.patch(f"{BASE_URL}/notes/{note_uuid}", json={"parent_id": None})
```

### Re-link a note to a different evidence item

```python
session.patch(f"{BASE_URL}/notes/{note_uuid}", json={
    "object_id": "5a2d9c1e-8877-4c1b-b7d3-0d7f2f8f4e21",
    "object_type": "evidence",
})
```

## Errors

| Status | Body                                                       | Cause                                                                                                                                                                                        |
| ------ | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`  | `{"message": "Invalid request body", "errors": [...]}`     | No updatable fields sent, empty `note_tag`, invalid `object_type`, ...                                                                                                                       |
| `400`  | `{"message": "Parent note with UUID ... is not a folder"}` | `parent_id` references a regular note (or a folder in another case / a missing note — see [create-note.md](broken://pages/baa97fd2ed40fd0aacb6263b64b4e6ac3e248ab2) for all three variants). |
| `404`  | `{"message": "Note not found"}`                            | No note with that UUID.                                                                                                                                                                      |
| `401`  | `Unauthorized`                                             | Missing or invalid API key.                                                                                                                                                                  |
