---
title: "Create a sticky note"
method: POST
path: "/api/v1/canvases/{canvasId}/direct/notes"
tags: ["note"]
---

# Create a sticky note

`POST /api/v1/canvases/{canvasId}/direct/notes`

## Request

- Base URL: `https://api.melius.com`
- URL: `https://api.melius.com/api/v1/canvases/{canvasId}/direct/notes`
- Auth: HTTP bearer and API key in header `x-team-id`

## Path parameters

- `canvasId` string, uuid, required

## Request body

- object
  - `id` string, uuid, required
  - `geometry` object, required
    - `x` number, required
    - `y` number, required
    - `w` number, required
    - `h` number, required
  - `body` string
  - `color` 'yellow' | 'pink' | 'blue' | 'green' | 'purple': Note color; defaults to yellow when omitted
  - `heightMode` 'auto' | 'manual'

## Response `201`

201

- object
  - `id` string, uuid, required
  - `canvasId` string, uuid, required
  - `createdByUserId` string, uuid, required
  - `createdByName` string, required
  - `body` string, required
  - `color` 'yellow' | 'pink' | 'blue' | 'green' | 'purple'
  - `geometry` object, required
    - `x` number, required
    - `y` number, required
    - `w` number, required
    - `h` number, required
  - `groupId` string, uuid, nullable
  - `heightMode` 'auto' | 'manual'
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `401`: Missing, invalid, expired, or revoked API key.
- `403`: The API key's user is not a member of the requested team.
- `404`: 404
- `409`: 409
- `429`: Rate limit reached — retry after the `Retry-After` header.

## Changes

- **2026-11-03** `2a857511f605`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/melius/apis/melius-api/changes/api/v1/canvases/:canvasId/direct/notes/post.md)

---

[API](https://skmtc.dev/melius/apis/melius-api.md) - [All operations](https://skmtc.dev/melius/apis/melius-api/llms.txt) - [OpenAPI document](https://skmtc.dev/melius/apis/melius-api/revisions/2a857511f605?raw)
