Skip to content

Boards API

Service: $client->boards()

List boards

$boards = $client->boards()->list($projectId)->collection();

Route GET /projects/{project}/boards; scope boards:read.

Create board

$client->boards()->create($projectId, new CreateBoardRequest(
    name: 'Security Review',
    color: '#7c3aed',
    wipLimit: 3,
    isDone: false,
));

Route POST /projects/{project}/boards; scope boards:write.

Update board

$client->boards()->update(
    $boardId,
    UpdateBoardRequest::create()
        ->name('Security Validation')
        ->wipLimit(4)
        ->hidden(false),
);

Route PATCH /boards/{board}; scope boards:write.

Set wipLimit(null) to clear a WIP limit if permitted by the server.

Reorder boards

$client->boards()->reorder($projectId, new ReorderBoardsRequest([
    $openId,
    $inProgressId,
    $reviewId,
    $doneId,
]));

Route PUT /projects/{project}/boards/reorder; scope boards:write.

Delete board

Empty board:

$client->boards()->delete($boardId);

Board containing tickets:

$client->boards()->delete($boardId, moveToBoardId: $replacementBoardId);

Route DELETE /boards/{board}; scope boards:write. Returns 422 for invalid targets or WIP-limit violations.