Create a board
Create an empty private board on a personal or team account.
A new board is empty and PRIVATE. That is deliberate rather than a default you
should override at creation time: a board is never born visible to a team, and
widening it is a separate, explicit call to
Set board access settings. The account you create it
on comes from the account selection, so a team board and a personal one differ
only in whether team_id is sent.
https://api2.rundiffusion.com/api/v2/boardsRequest
Headers
AuthorizationstringRequired- Bearer token. This endpoint accepts an OAuth device flow token, a Personal API Access Token, or a Company API Access Token. See Authentication.
Authorization: Bearer eyJhbGciOi…
Body
titlestringRequired- Board name, up to 100 characters. Cannot be blank.
Hero shots descriptionstringoptional- Optional description, up to 1000 characters.
curl -X POST https://api2.rundiffusion.com/api/v2/boards \
-H "Authorization: Bearer $RUNDIFFUSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Hero shots"}'const board = await fetch('https://api2.rundiffusion.com/api/v2/boards', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.RUNDIFFUSION_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ title: 'Hero shots' }),
}).then(r => r.json());board = requests.post(
f"{BASE}/boards",
headers=HEADERS,
json={"title": "Hero shots"},
).json()Response
201 Created with the board in the same shape
Get a board returns, so nodes and members are present
and empty. A picture is assigned for you: every board in the product has one, and
a board without would show as a blank tile beside the rest. It is not settable
through the API; change it in the app.
{
"id": "Tq8vNc…",
"created_at": "2026-08-01T09:14:00+00:00",
"title": "Hero shots",
"description": null,
"access_level": "PRIVATE",
"owner_user_id": "k3PqV9…",
"team_id": null,
"avatar_url": "https://rundiffusion.com/...",
"nodes": [],
"members": []
}Keep the id. It is the board_id every other board call takes, and the
board_id filter on Library.
From here, Add a board node puts nodes on it, and Set board access settings shares it with a team.
Errors
Status codes
400INVALID_REQUEST- A blank title, or a field over its length limit.
401TOKEN_INVALID- Missing or invalid credential.
403ACCOUNT_HEADER_INVALID- The selected account is not one this credential may act on.
429RATE_LIMITED- Too many requests. Board writes have a tighter budget than reads. See Rate limits.
