Skip to content
Select themeSelect language

`GET /api/projects/{id}/backlog/board` (ADR 0039 S8). Workspace-scoped, member-readable: the per-column Kanban board for a project. The project must belong to the caller's authorized workspace (404 otherwise).

GET
/api/projects/{id}/backlog/board
curl --request GET \
--url https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/backlog/board
id
required
string format: uuid

Project ID

Media typeapplication/json

The board response: one column per state in BOARD_COLUMN_ORDER (CONTRACT).

object
columns
required
Array<object>

One board column: a state plus the cards in it (priority ASC NULLS LAST then created_at — the order list_backlog_items already returns).

object
items
required
Array<object>

One backlog card on the board (ADR 0039 S8 CONTRACT). updated_at is RFC3339. gates_green means precisely “a human drag → done will be ACCEPTED right now” (BE3): the INDEPENDENT audit passed (a backlog.awaiting_human_merge audit row exists) AND the item is CURRENTLY in_review (the state = 'in_review' filter — the merge gate refuses to release any non-in_review item, BE1 — so a parked card carrying a stale marker reads false). It is NOT “merged” and NOT “awaiting release”; the FE uses it to decide whether to offer the drag → done gesture. The reviewer bar (required_reviewers) is orthogonal — a green item may still need N human approvals, which the drag → done records.

object
external_id
required
string
gates_green
required
boolean
id
required
string format: uuid
kind
string | null
last_error
string | null
priority
integer | null format: int32
readiness
string | null
run_id
string | null format: uuid
scope

#532 (U2) — the classification SCOPE axis (small|medium|large), None until classified.

string | null
source
required

The issue SOURCE (linear | notion | a git-provider name), #708 X3 (was tracker).

string
state
required
string
title
string | null
updated_at
required
string
state
required
string
Examplegenerated
{
"columns": [
{
"items": [
{
"external_id": "example",
"gates_green": true,
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"kind": "example",
"last_error": "example",
"priority": 1,
"readiness": "example",
"run_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"scope": "example",
"source": "example",
"state": "example",
"title": "example",
"updated_at": "example"
}
],
"state": "example"
}
]
}