API Reference
Boards

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
}