---
title: "Create a board"
method: POST
path: "/api/v1/boards"
tags: ["v1"]
---

# Create a board

`POST /api/v1/boards`

## Request

- Base URL: `https://board.noddle.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://board.noddle.dev/api/v1/boards`
- Auth: none declared

New PRIVATE board owned by the caller (an agent's boards belong to its
owner). Free-plan board limits apply (402). Supports ``Idempotency-Key``.

## Request body

- BoardCreateIn
  - `name` string, required
  - `diagram` object, nullable: {pages:[…]} or legacy {nodes,edges}
  - `folder_id` string, nullable

## Response `201`

Successful Response

- BoardDetailOut
  - `id` string, required
  - `name` string, required
  - `url` string, required
  - `created_at` string, required: ISO-8601 UTC
  - `updated_at` string, required: ISO-8601 UTC
  - `etag` string, required: Opaque version tag; send as If-Match to update safely.
  - `folder_id` string, nullable
  - `owner_id` string, nullable
  - `team_id` string, nullable
  - `link_policy` string
  - `my_role` string, required: owner | editor | viewer
  - `diagram` object, nullable: Editable board JSON: {pages:[{id,name,nodes,edges}]}

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/noddle/apis/noddle-board.md) · [All operations](https://skmtc.dev/noddle/apis/noddle-board/llms.txt) · [OpenAPI document](https://skmtc.dev/noddle/apis/noddle-board/revisions/7f324e389516?raw)
