# `api.jobs.note.update` > `PUT /job/{jobDisplayId}/note/{id}` — ACPortal **Python** ```python api.jobs.note.update(job_display_id: int, note_id: str, *, data: JobNoteUpdateRequest | dict) -> JobNote ``` **CLI** ```bash ab jobs note update [--data ...] ``` Update a note (``PUT /job/{jobDisplayId}/note/{id}``). Args: job_display_id: Job display ID. note_id: Note identifier. data: :class:`JobNoteUpdateRequest` instance or a dict. Request model: :class:`JobNoteUpdateRequest`. ## Request body — `JobNoteUpdateRequest` | Field | Type | Required | Description | |---|---|---|---| | `comments` | `Optional[str]` | no | Updated content | | `isImportant` | `Optional[bool]` | no | Updated flag | | `isCompleted` | `Optional[bool]` | no | Mark complete | ## Response Returns `JobNote`. | Field | Type | Required | Description | |---|---|---|---| | `createdDate` | `Optional[datetime]` | no | Creation timestamp | | `modifiedDate` | `Optional[datetime]` | no | Last modification timestamp | | `createdBy` | `Optional[str]` | no | Creator identifier | | `modifiedBy` | `Optional[str]` | no | Last modifier identifier | | `id` | `Optional[int]` | no | Note ID | | `comment` | `Optional[str]` | no | Note content | | `isImportant` | `Optional[bool]` | no | Flagged as important | | `isCompleted` | `Optional[bool]` | no | Completion status | | `author` | `Optional[str]` | no | Author name | | `modifiyDate` | `Optional[str]` | no | Last modified (API typo preserved) | | `taskCode` | `Optional[str]` | no | Associated timeline task | --- [← Back to api.jobs](../jobs.md)