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
Search
Cross-workspace fuzzy search
Cross-workspace fuzzy search (membership-scoped server-side)
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