Boardly API

Boardly is the realtime-collaborative kanban half of craftstack. The authenticated REST surface is consumed by the Next.js App Router client; this spec documents that surface so third-party tools, typed SDKs, or external integrations can target it.

Workspaces

Workspace CRUD and membership

List workspaces the caller is a member of

Create a workspace (caller becomes OWNER)

List workspace members (ADMIN+)

Workspace activity feed (cursor-paginated)

Lists

Lists on a board

Create a list on a board (EDITOR+)

Update a list (title / wipLimit, ADMIN+ for wipLimit)

Soft-delete a list (ADMIN+)

Cards

Cards on a list

Create a card at the bottom of a list (EDITOR+)

Fetch a card with its labels, assignees, and version

Update card fields (EDITOR+; respects optimistic lock)

Delete a card (EDITOR+)

Move a card to a new list / position (EDITOR+)

Full-replace the card's assignees. Non-member userIds are rejected.

Card-scoped activity history

Labels

Workspace-scoped labels

List workspace labels

Create a label (ADMIN+)

Full-replace the card's label set (ADR-0028). Cross-workspace guard (ADR-0029) rejects foreign label IDs.

Update a workspace label (ADMIN+)

Delete a workspace label (ADMIN+)

Comments

Card comments

List comments on a card

Post a comment (EDITOR+). @mentions fire notifications.

Soft-delete a comment (author or ADMIN+)

Invitations

Workspace invitations flow

Create an invitation (ADMIN+, token-hashed, rate-limited)

Accept an invitation using its one-time token

Revoke a pending invitation (ADMIN+)

Notifications

In-app notification feed

List notifications (most-recent first)

Mark every notification read

Mark a single notification read

Knowlex

AI playground (streamed RAG)

Stream a Gemini 2.5 Flash answer grounded in the supplied context

Meta

Health and documentation

Liveness probe

This OpenAPI specification as JSON