Skip to content
Docs
English
Esc
navigateopen⌘Jpreview

Add a note

Creates a user note. data is a TipTap document (type: "doc"). See UserNoteData for supported block types (paragraph, heading, lists, task lists, etc.) and inline marks (bold, italic, link, …). Scoped to your integration’s institution via Basic Auth credentials.

POST/users/{id}/notes
Path parameters
idstringrequired
Request body
requiredapplication/json
noteNamestringrequired
dataUserNoteDatarequired
TipTap/ProseMirror JSON document stored in `data`. Root `type` must be `"doc"`. The Fuxam dashboard user-notes editor uses the formatted-textarea stack (StarterKit + lists, task lists, alignment, colors, links, etc.). The API stores valid TipTap JSON as-is; nodes the dashboard cannot render may be preserved but not editable in the UI.
Show properties
typestringrequired
Root document type. Only `"doc"` is supported.
Allowed:doc
contentobject[]required
Top-level block nodes inside the document. Supported block `type` values: - `paragraph` — plain text block; may include `attrs.textAlign` (`left`, `center`, `right`, `justify`) and inline `text` / `hardBreak` children. - `heading` — heading block; set `attrs.level` to `1`, `2`, or `3` (dashboard headings). - `bulletList` / `orderedList` — lists containing `listItem` nodes. - `listItem` — list row; usually wraps one or more `paragraph` nodes. - `taskList` / `taskItem` — checklist; `taskItem` supports `attrs.checked` (`true` / `false`). - `blockquote` — quoted paragraph(s). - `horizontalRule` — divider line (no `content`). Not exposed in the dashboard notes slash menu (avoid via API unless you accept limited UI support): `codeBlock`, `image`, `file`, `table`, `youtube`, `columns`.
Show properties
Array of object
typestringrequired
Block node type. See `content` array description for supported values.
attrsobject | null
Block attributes. Common keys: `textAlign` on `paragraph`/`heading`; `level` (1–3) on `heading`; `checked` on `taskItem`.
Show properties
classstring | null
textAlignstring | null
Allowed:leftcenterrightjustify
levelinteger | null
Heading level (`heading` blocks only).
min 1 · max 6
checkedboolean | null
Checked state (`taskItem` blocks only).
contentobject[]
Child nodes. For `paragraph`/`heading`: inline `text` and `hardBreak`. For lists: `listItem` or `taskItem`. For `listItem`/`taskItem`: usually nested `paragraph` blocks.
Show properties
Array of object
typestringrequired
Inline node `text` (with optional `marks`) or block `hardBreak`. List blocks nest `listItem` / `taskItem` here.
textstring
Plain text (`type: "text"` only).
marksobject[]
Inline formatting on a `text` node. Supported mark `type` values: `bold`, `italic`, `strike`, `code`, `underline`, `highlight`, `subscript`, `superscript`, `link` (`attrs.href`), `textStyle` (`attrs.color`, `attrs.fontSize`).
Show properties
Array of object
typestringrequired
attrsobject
Responses
201Note added
dataUserNoterequired
Show properties
idstringrequired
noteNamestringrequired
dataUserNoteDatarequired
TipTap/ProseMirror JSON document stored in `data`. Root `type` must be `"doc"`. The Fuxam dashboard user-notes editor uses the formatted-textarea stack (StarterKit + lists, task lists, alignment, colors, links, etc.). The API stores valid TipTap JSON as-is; nodes the dashboard cannot render may be preserved but not editable in the UI.
Show properties
typestringrequired
Root document type. Only `"doc"` is supported.
Allowed:doc
contentobject[]required
Top-level block nodes inside the document. Supported block `type` values: - `paragraph` — plain text block; may include `attrs.textAlign` (`left`, `center`, `right`, `justify`) and inline `text` / `hardBreak` children. - `heading` — heading block; set `attrs.level` to `1`, `2`, or `3` (dashboard headings). - `bulletList` / `orderedList` — lists containing `listItem` nodes. - `listItem` — list row; usually wraps one or more `paragraph` nodes. - `taskList` / `taskItem` — checklist; `taskItem` supports `attrs.checked` (`true` / `false`). - `blockquote` — quoted paragraph(s). - `horizontalRule` — divider line (no `content`). Not exposed in the dashboard notes slash menu (avoid via API unless you accept limited UI support): `codeBlock`, `image`, `file`, `table`, `youtube`, `columns`.
Show properties
Array of object
typestringrequired
Block node type. See `content` array description for supported values.
attrsobject | null
Block attributes. Common keys: `textAlign` on `paragraph`/`heading`; `level` (1–3) on `heading`; `checked` on `taskItem`.
Show properties
classstring | null
textAlignstring | null
Allowed:leftcenterrightjustify
levelinteger | null
Heading level (`heading` blocks only).
min 1 · max 6
checkedboolean | null
Checked state (`taskItem` blocks only).
contentobject[]
Child nodes. For `paragraph`/`heading`: inline `text` and `hardBreak`. For lists: `listItem` or `taskItem`. For `listItem`/`taskItem`: usually nested `paragraph` blocks.
Show properties
Array of object
typestringrequired
Inline node `text` (with optional `marks`) or block `hardBreak`. List blocks nest `listItem` / `taskItem` here.
textstring
Plain text (`type: "text"` only).
marksobject[]
Inline formatting on a `text` node. Supported mark `type` values: `bold`, `italic`, `strike`, `code`, `underline`, `highlight`, `subscript`, `superscript`, `link` (`attrs.href`), `textStyle` (`attrs.color`, `attrs.fontSize`).
Show properties
Array of object
typestringrequired
attrsobject
creatorNamestringrequired
createdAtstring<date-time>required
updatedAtstring<date-time>required
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
400Bad Request
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
401Unauthorized
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
404Not Found
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
429Too Many Requests
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
500Internal Server Error
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
Request
curl -X POST "https://fuxam.app/api/v4/users/string/notes" \
  -H "Content-Type: application/json" \
  -d '{
  "noteName": "Onboarding notes",
  "data": {
    "type": "doc",
    "content": [
      {
        "type": "heading",
        "attrs": {
          "level": 2,
          "textAlign": "left"
        },
        "content": [
          {
            "type": "text",
            "text": "Onboarding"
          }
        ]
      },
      {
        "type": "paragraph",
        "attrs": {
          "textAlign": "left"
        },
        "content": [
          {
            "type": "text",
            "text": "Prefers "
          },
          {
            "type": "text",
            "marks": [
              {
                "type": "bold"
              }
            ],
            "text": "morning"
          },
          {
            "type": "text",
            "text": " sessions."
          }
        ]
      },
      {
        "type": "bulletList",
        "content": [
          {
            "type": "listItem",
            "content": [
              {
                "type": "paragraph",
                "content": [
                  {
                    "type": "text",
                    "text": "Bring laptop"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}'
Response
{
  "data": {
    "id": "string",
    "noteName": "string",
    "data": {
      "type": "doc",
      "content": [
        {
          "type": "heading",
          "attrs": {
            "level": 2,
            "textAlign": "left"
          },
          "content": [
            {
              "type": "text",
              "text": "Onboarding"
            }
          ]
        },
        {
          "type": "paragraph",
          "attrs": {
            "textAlign": "left"
          },
          "content": [
            {
              "type": "text",
              "text": "Prefers "
            },
            {
              "type": "text",
              "marks": [
                {
                  "type": "bold"
                }
              ],
              "text": "morning"
            },
            {
              "type": "text",
              "text": " sessions."
            }
          ]
        },
        {
          "type": "bulletList",
          "content": [
            {
              "type": "listItem",
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Bring laptop"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    "creatorName": "string",
    "createdAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-01-01T00:00:00Z"
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-02T07:00:00.000Z",
    "version": "v4"
  }
}