# Note

object type

One generic note on ANY same-tenant construct. Internal-only in v1 (no consumer face — CsCase owns that lane).

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `id` | [ID](/types/#scalars) `ID!` | No further notes. |
| `type` | [String](/types/#scalars) `String!` | No further notes. |
| `caption` | [String](/types/#scalars) `String!` | No further notes. |
| `status` | [String](/types/#scalars) `String!` | active (a posted fact) — the void lane is FSM data with NO wire op (the CaseMessage class). |
| `parentId` | [ID](/types/#scalars) `ID!` | The annotated TARGET construct (ANY same-tenant type — the note's parent). |
| `rootId` | [ID](/types/#scalars) `ID!` | The org-group family root. |
| `createdAt` | [String](/types/#scalars) `String!` | No further notes. |
| `updatedAt` | [String](/types/#scalars) `String!` | No further notes. |
| `revisionNum` | [Int](/types/#scalars) `Int!` | No further notes. |
| `revision` | [ID](/types/#scalars) `ID!` | No further notes. |
| `targetType` | [String](/types/#scalars) `String!` | The target's construct type — SERVER-STAMPED from the existence read (the tombstone render's anchor). |
| `authorId` | [ID](/types/#scalars) `ID!` | The authoring staff User (server-stamped from the principal — notes are internal-only in v1). |
| `parentNoteId` | [ID](/types/#scalars) | No further notes. |
| `title` | [String](/types/#scalars) | The optional lead line (1..120; immutable — the ledger law). |
| `kind` | [String](/types/#scalars) `String!` | The kind ∈ {comment, question, action} (unnamed births stamp 'comment'; pre- rows answer the default — states ride later). |
| `body` | [String](/types/#scalars) `String!` | The note body (1..4096). |
| `links` | [NoteLink](/types/NoteLink/) `[NoteLink!]` | The outbound links (≤8; absolute http(s):// only — the scheme fence held at the boundary). |
| `attachments` | [NoteAttachmentMeta](/types/NoteAttachmentMeta/) `[NoteAttachmentMeta!]` | No further notes. |
| `refs` | [TaskConstructRef](/types/TaskConstructRef/) `[TaskConstructRef!]` | The bound construct references (≤8, distinct by (type,id) — validated in-tenant + non-doomed at write; ref-ONLY per the @375 law: a purged target renders as a tombstone). |
| `mentions` | [NoteMention](/types/NoteMention/) `[NoteMention!]` | The mentions (≤8, distinct by target; each landed ONE inbox message in the birth txn — the MSG lane). |
| `labelIds` | [ID](/types/#scalars) `[ID!]` | The labels (≤8 — the SHARED TaskLabel vocabulary; ACTIVE at write). |
| `taskId` | [ID](/types/#scalars) | SET-ONCE, server-stamped; the face joins the state chip through it against the tasksByConstruct page. |
| `refCaptions` | [RefCaption](/types/RefCaption/) `[RefCaption!]!` | the referenced-caption rule: the server-composed captions for refs + mentions + labelIds under the caller-root gate — the surfaces speak names, never ids. |
| `reactions` | [NoteReactionGroup](/types/NoteReactionGroup/) `[NoteReactionGroup!]` | The reaction groups. |

## Used by

- [addNote](/reference/work-and-notes/addNote/)
