# `api.notes.create` > `POST /note` — ACPortal **Python** ```python api.notes.create(*, data: NoteRequest | dict) -> GlobalNote ``` **CLI** ```bash ab notes create [--data ...] ``` Create a note (``POST /note``). Args: data: Note payload. Accepts a :class:`NoteRequest` instance or a dict. ``comments`` and ``category`` are **required** by swagger; the request model enforces this. Request model: :class:`NoteRequest` (same schema as ``update``). ## Request body — `NoteRequest` | Field | Type | Required | Description | |---|---|---|---| | `comments` | `str` | yes | Note content (1-8000 chars) | | `category` | `str` | yes | Category UUID (required) | | `dueDate` | `Optional[date]` | no | Due date (yyyy-mm-dd) | | `isImportant` | `Optional[bool]` | no | Mark important | | `isCompleted` | `Optional[bool]` | no | Mark completed | | `jobId` | `Optional[str]` | no | Job UUID | | `sendNotification` | `Optional[bool]` | no | Send notification to assigned users | | `assignedUsers` | `Optional[list[SuggestedUser]]` | no | Assigned users (forward ref: SuggestedUser.id) | | `crmContactId` | `Optional[int]` | no | CRM contact ID (int) | | `companyId` | `Optional[str]` | no | Company UUID | | `isGlobal` | `Optional[bool]` | no | Global flag | | `isShared` | `Optional[bool]` | no | Shared flag | ## Response Returns `GlobalNote`. | Field | Type | Required | Description | |---|---|---|---| | `noteID` | `Optional[int]` | no | Note ID (int) | | `isImportant` | `Optional[bool]` | no | Important flag | | `comments` | `Optional[str]` | no | Note content | | `category` | `Optional[str]` | no | Category UUID | | `dueDate` | `Optional[datetime]` | no | Due date | | `jobId` | `Optional[str]` | no | Associated job UUID | | `crmContactId` | `Optional[int]` | no | CRM contact ID (int) | | `contactId` | `Optional[str]` | no | Contact UUID | | `companyId` | `Optional[str]` | no | Company UUID | | `userID` | `Optional[str]` | no | User UUID | | `importance` | `Optional[str]` | no | Importance label | | `author` | `Optional[str]` | no | Author display name | | `dueDates` | `Optional[str]` | no | Due-date label | | `categoryName` | `Optional[str]` | no | Category display name | | `createdDate` | `Optional[datetime]` | no | Created timestamp | | `createdBy` | `Optional[str]` | no | Creator user UUID | | `modifiedBy` | `Optional[str]` | no | Modifier user UUID | | `modifiyDate` | `Optional[datetime]` | no | Modified timestamp (server spelling: modifiyDate) | | `franchiseID` | `Optional[str]` | no | Franchise UUID | | `isCompleted` | `Optional[bool]` | no | Completion flag | | `isGlobal` | `Optional[bool]` | no | Global flag | | `isShared` | `Optional[bool]` | no | Shared flag | | `assignedContactNames` | `Optional[list[str]]` | no | Assigned contact display names | | `assignedUsers` | `Optional[list[SuggestedUser]]` | no | Assigned users (SuggestedContactEntity[]) | | `isJobLevel` | `Optional[bool]` | no | Job-scoped note flag | --- [← Back to api.notes](../notes.md)