Boards API
CRUD operations for boards, groups, columns, and member management.
List Boards
Get all boards for a workspace.
GET /api/boards?workspaceId=<workspace-id>
Authorization: Bearer <token>Response
{
"boards": [
{
"id": "board-id",
"name": "Project Alpha",
"workspaceId": "workspace-id",
"description": "Main project board",
"groups": [...],
"columns": [...],
"createdAt": "2025-01-15T10:00:00Z"
}
]
}Get Board
Get a single board with all details.
GET /api/boards/:id
Authorization: Bearer <token>Response
{
"id": "board-id",
"name": "Project Alpha",
"workspaceId": "workspace-id",
"description": "Main project board",
"groups": [
{ "id": "g1", "name": "To Do", "color": "#3B82F6" },
{ "id": "g2", "name": "Done", "color": "#22C55E" }
],
"columns": [
{ "id": "c1", "name": "Status", "type": "status" },
{ "id": "c2", "name": "Assignee", "type": "person" }
],
"members": [
{ "userId": "user-id", "role": "admin" }
],
"background": {
"type": "gradient",
"value": "linear-gradient(...)"
}
}Create Board
Create a new board.
POST /api/boards
Authorization: Bearer <token>Request Body
{
"name": "New Board",
"workspaceId": "workspace-id",
"description": "Board description"
}Response
{
"success": true,
"board": {
"id": "new-board-id",
"name": "New Board",
...
}
}Update Board
Update board properties.
PATCH /api/boards/:id
Authorization: Bearer <token>Request Body
{
"name": "Updated Name",
"description": "New description",
"background": {
"type": "solid",
"value": "#F3F4F6"
},
"viewDensity": "compact"
}Response
{
"success": true,
"board": { ... }
}Delete Board
Delete a board and all its tasks.
DELETE /api/boards/:id
Authorization: Bearer <token>Response
{
"success": true,
"message": "Board deleted"
}Import Board
Import board from spreadsheet data.
POST /api/boards/import
Authorization: Bearer <token>Request Body
{
"name": "Imported Board",
"workspaceId": "workspace-id",
"description": "Imported from Excel",
"firstColumnIndex": 0,
"columnMappings": [
{ "index": 0, "name": "Task", "type": "text", "isFirstColumn": true },
{ "index": 1, "name": "Status", "type": "status" },
{ "index": 2, "name": "Due Date", "type": "date" }
],
"rows": [
{ "0": "Task 1", "1": "Done", "2": "2025-01-15" },
{ "0": "Task 2", "1": "Working", "2": "2025-01-20" }
],
"headers": ["Task", "Status", "Due Date"]
}Invite Member
Invite a user to the board.
POST /api/boards/:id/invite
Authorization: Bearer <token>Request Body
{
"userId": "user-id-to-invite",
"role": "editor"
}Response
{
"success": true,
"invitation": {
"id": "invitation-id",
"status": "pending"
}
}Add Group
Add a new group to a board.
POST /api/boards/:id/groups
Authorization: Bearer <token>Request Body
{
"name": "New Group",
"color": "#3B82F6"
}Add Column
Add a new column to a board.
POST /api/boards/:id/columns
Authorization: Bearer <token>Request Body
{
"name": "Priority",
"type": "priority",
"required": false,
"description": "Task priority level"
}Update Column
Update column properties.
PATCH /api/boards/:boardId/columns/:columnId
Authorization: Bearer <token>Request Body
{
"name": "Updated Name",
"width": 150,
"visible": true
}