SpedySpedy Docs

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/boards

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number (default: 1)
limitnumberNoItems per page (default: 20, max: 100)
searchstringNoSearch by board name or description
includeArchivedbooleanNoInclude archived boards (default: false)
archivedOnlybooleanNoShow 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/boards

Permission required: boards:create

Request Body

FieldTypeRequiredDescription
namestringYesBoard name (max 100 characters)
prefixstringNoCustom prefix for ticket IDs, 2-10 alphanumeric characters (auto-generated if omitted)
descriptionstringNoBoard description
teamIdsstring[]NoTeam 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

FieldTypeRequiredDescription
namestringNoBoard name (max 100 characters)
descriptionstringNoBoard 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}/archive

Permission required: boards:edit

Archives the board, removing it from the active list without deleting data.

Unarchive Board

POST /api/v1/boards/{boardId}/unarchive

Permission required: boards:edit

Restores an archived board to the active list.

Assign Team to Board

POST /api/v1/boards/{boardId}/teams

Permission required: boards:manage-members

Request Body

FieldTypeRequiredDescription
teamIdstringYesTeam 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
}