CRUD endpoints for boards and the elements inside them.
Boards
| Method | Path | Purpose |
|---|---|---|
GET | /api/moodboards | List all boards |
POST | /api/moodboards | Create a board ({ "name": "…" }) |
GET | /api/moodboards/{id} | Get one board with metadata |
PUT | /api/moodboards/{id} | Update board (name, parent, etc.) |
DELETE | /api/moodboards/{id} | Delete board and its media folder |
POST | /api/moodboards/{id}/duplicate | Duplicate to a new board |
GET | /api/moodboards/current | Get the current/active board ({ "id", "board" }, or null when none) |
PUT | /api/moodboards/current | Set the current board ({ "id": "…" }; null/empty clears it) |
The current board is a backend-wide pointer to the board in focus, used by integrations that need to know which board to act on without being told each time. Setting it to an unknown id returns 404; the returned board includes "is_current": true.
Board object
{
"id": "abc123…",
"name": "Characters",
"created_at": "2026-02-24T11:05:01Z",
"updated_at": "2026-05-30T19:36:54Z",
"canvas_transform": "{\"x\":0,\"y\":0,\"scale\":1}",
"parent_id": null,
"sort_order": 0,
"share_id": null,
"share_url": null,
"connected_media_dir": null,
"active_video_project_id": null
}
Elements
| Method | Path | Purpose |
|---|---|---|
GET | /api/moodboards/{id}/elements | List elements on a board |
POST | /api/moodboards/{id}/elements | Create an element |
PUT | /api/moodboards/{id}/elements/{eid} | Update (position, scale, props) |
DELETE | /api/moodboards/{id}/elements/{eid} | Delete element |
Element types
imagevideonoteframeshapearrowmockuphtml— a live HTML card; the HTML body is stored as a file referenced bydata.htmlUrl(a/media/…path) withdata.htmlVersionanddata.title. Animated cards that render to video also carrydata.fps,data.durationSeconds,data.renderWidth, anddata.renderHeight.
Each type carries type-specific fields in props alongside the universal position / size fields.
Frames
Frames are elements but with extra endpoints for layout management:
| Method | Path | Purpose |
|---|---|---|
POST | /api/moodboards/{id}/frames | Create frame |
PUT | /api/moodboards/{id}/frames/{fid}/layout | Switch layout mode |
PUT | /api/moodboards/{id}/frames/{fid}/children | Reorder children |
Arrows
| Method | Path | Purpose |
|---|---|---|
POST | /api/moodboards/{id}/arrows | Create arrow |
PUT | /api/moodboards/{id}/arrows/{aid} | Update endpoints, style |
DELETE | /api/moodboards/{id}/arrows/{aid} | Delete |
Sort and pagination
The list endpoints accept:
?sort=created_at(default) or?sort=name?order=asc/?order=desc?limit=50&offset=0
Leave a Reply