Boards API
List boards
GET /api/boards
Returns all boards the authenticated user owns or is invited to.
Response (200):
{
"boards": [
{
"id": "abc123",
"name": "Activation funnel revamp",
"createdAt": "2026-01-01T00:00:00Z",
"ownerEmail": "[email protected]"
}
]
}Access check
GET /api/boards/{boardId}/access
Checks whether the authenticated user can access the board.
Response (200):
{
"hasAccess": true,
"isOwner": true,
"isUnclaimed": false,
"canEdit": true,
"phases": { ... }
}| Field | Description |
|---|---|
hasAccess | Whether any access exists |
isOwner | True if the user owns the board |
isUnclaimed | True if no owner has claimed the board yet |
canEdit | True if the user's plan allows editing (Free invited users are view-only) |
phases | Current board phase config (if set) |
Claim board
POST /api/boards/{boardId}/access
Claims ownership of an unclaimed board for the authenticated user.
Response (200):
{ "ok": true }Update phases
PATCH /api/boards/{boardId}/access
Saves the board's phase configuration (owner only).
Request:
{
"phases": {
"phases": [ ... ],
"currentPhaseId": "phase-2"
}
}List invites
GET /api/boards/{boardId}/invite
Returns the list of invited email addresses. Owner only.
Response (200):
{ "invitedEmails": ["[email protected]"] }Add invite
POST /api/boards/{boardId}/invite
Invites a collaborator by email. Owner only.
Request:
{ "email": "[email protected]" }Remove invite
DELETE /api/boards/{boardId}/invite
Removes a collaborator by email. Owner only.
Request:
{ "email": "[email protected]" }See also
- Authentication and Access — Board access model
- API Overview — Error codes