Boards
Create, update, archive, and manage project boards.
Boards are the top-level container for organizing work in Spedy. Each board represents a project or workstream and contains tickets, statuses, and team assignments.
List Boards
GET /api/v1/boardsQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | number | No | Page number (default: 1) |
| limit | number | No | Items per page (default: 20, max: 100) |
| search | string | No | Search by board name or description |
| includeArchived | boolean | No | Include archived boards (default: false) |
| archivedOnly | boolean | No | Show only archived boards (default: false) |
Example Response
{
"data": [
{
"id": "brd_abc123",
"name": "Website Redesign",
"prefix": "WEB",
"description": "Frontend overhaul project",
"isArchived": false,
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-03-20T14:30:00Z"
}
],
"total": 5,
"page": 1,
"pageSize": 20,
"totalPages": 1
}Create Board
POST /api/v1/boardsPermission required: boards:create
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Board name (max 100 characters) |
| prefix | string | No | Custom prefix for ticket IDs, 2-10 alphanumeric characters (auto-generated if omitted) |
| description | string | No | Board description |
| teamIds | string[] | No | Team IDs to assign on creation |
Example Request
{
"name": "Website Redesign",
"prefix": "WEB",
"description": "Frontend overhaul project",
"teamIds": ["team_abc123"]
}Get Board
GET /api/v1/boards/{boardId}Returns a single board with its team assignments.
Update Board
PATCH /api/v1/boards/{boardId}Permission required: boards:edit
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | No | Board name (max 100 characters) |
| description | string | No | Board description |
Delete Board
DELETE /api/v1/boards/{boardId}Permission required: boards:delete
Permanently deletes the board and all its data. Returns 204 No Content.
Archive Board
POST /api/v1/boards/{boardId}/archivePermission required: boards:edit
Archives the board, removing it from the active list without deleting data.
Unarchive Board
POST /api/v1/boards/{boardId}/unarchivePermission required: boards:edit
Restores an archived board to the active list.
Assign Team to Board
POST /api/v1/boards/{boardId}/teamsPermission required: boards:manage-members
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | Team ID to assign |
Remove Team from Board
DELETE /api/v1/boards/{boardId}/teams/{teamId}Permission required: boards:manage-members
Removes a team from the board. Returns the count of tickets that may need reassignment.
Example Response
{
"flaggedTicketCount": 3
}