# `api.jobs.note.create` > `POST /job/{jobDisplayId}/note` — ACPortal **Python** ```python api.jobs.note.create(job_display_id: int, *, data: JobNoteCreateRequest | dict) -> JobNote ``` **CLI** ```bash ab jobs note create [--data ...] ``` Create a note (``POST /job/{jobDisplayId}/note``). Args: job_display_id: Job display ID. data: :class:`JobNoteCreateRequest` instance or a dict. Request model: :class:`JobNoteCreateRequest`. ## Request body — `JobNoteCreateRequest` | Field | Type | Required | Description | |---|---|---|---| | `comments` | `str` | yes | Note content (max 8000 chars) | | `taskCode` | `str` | yes | Associated timeline task code | | `isImportant` | `Optional[bool]` | no | Flag as important | | `sendNotification` | `Optional[bool]` | no | Notify assigned users | | `dueDate` | `Optional[str]` | no | Due date | ## 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)