> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tylon.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Board

> Read a Tylon board column by column — every stage of the flow with the cards standing in it.

The board is work **in flight**: the flow's stages, and the cards standing
in each. The backlog behind it is [its own screen](/en/api-reference/endpoints/backlog)
and its own endpoint.

## Reading it

<ParamField path="GET /v1/board" type="endpoint" />

Every stage of the flow with the cards standing in it, in order.

<ParamField query="projectId" type="string">
  Which product. Optional when the board has one; `400` when it has several.
</ParamField>

The columns are the flow's stages, and each one is a real branch rule — which is why a card sitting in a column is a statement about the repository rather than a status somebody typed.

```json theme={null}
{
  "columns": [
    {
      "statusId": "83729308086044949",
      "name": "In development",
      "kind": "stage",
      "minRole": "member",
      "tasks": [
        {
          "id": "84812280205807556",
          "number": 7,
          "title": "Invert the log order",
          "projectId": "83729280726599954",
          "statusId": "83729308086044949",
          "priority": "medium",
          "assignee": null,
          "labels": []
        }
      ]
    }
  ]
}
```

`minRole` on a column is what it takes to move a card **into** it, and `statusId` is what a move is addressed by — the two things a script needs before it can promote anything.

<Note>
  `blocked` on a card means its last promotion was refused — the branch had conflicts, the checks were red, there was nothing to merge. The reason is on the card itself.
</Note>
