---
title: "Get board"
method: GET
path: "/open/v1/boards/{board_id}"
tags: ["Boards"]
---

# Get board

`GET /open/v1/boards/{board_id}`

Fetch a single board's metadata. `children` is populated with the direct child boards only (one level deep). To reconstruct deeper subtrees, follow each child's `board_id` recursively or use `GET /open/v1/boards` and rebuild the tree on the client.

Returns: `code=0` success; `code=40001` invalid `board_id` or workspace context missing; `code=40401` when the board does not exist in the caller's workspace.

## Path parameters

- `board_id` string, required — Workspace-scoped board UUID. Obtain it from `GET /open/v1/boards` (the `board_id` field of any item).

## Response `200`

Successful Response

- OpenBoardResponse — Envelope for all open API responses. code=0 means success.
  - `code` integer
  - `message` string
  - `data` OpenBoard
    - `board_id` string, required — Board identifier (UUID, dashed).
    - `name` string, required — Board display name set by the workspace user.
    - `parent_id` string — Parent board id. For a top-level board this carries the workspace id (not another board) as a sentinel — treat any value that isn't a member of the result set as 'root'.
    - `ad_num` integer — Number of ads currently pinned under this board (workspace-scoped count).
    - `children` OpenBoard[] — Direct child boards (one level). Populated by `GET /open/v1/boards/{board_id}` only. On `GET /open/v1/boards` this list is always empty — that endpoint returns a flat, depth-first array; rebuild the tree client-side via `parent_id` links.

## Other responses

- `400` — Invalid request — a query parameter, path parameter, or body field failed validation.

---

[API](https://skmtc.net/tryatria/apis/atria-open-api.md) · [All operations](https://skmtc.net/tryatria/apis/atria-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryatria/atria-open-api/revisions/548d57b611ea/schema)
