Skip to content

Add a board node

Place a tool on a board as a new node, at the end or at a chosen position.

On this page

A node is one tool placed on a board. The same tool can appear on a board more than once, which is why a node has its own ID and its own name.

POSThttps://api2.rundiffusion.com/api/v2/boards/{board_id}/nodes
AcceptsOAuth device flowPersonal API Access TokenCompany API Access Token

The node lands at the end of the board unless you send a position. Its name starts as the tool's name; rename it afterwards with Edit a board node if the board holds the same tool twice.

Adding a node needs edit access to the board, described under Who can edit a board.

Request

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…

Path parameters

board_idstringRequired
The board to add to.Tq8vNc…

Body

tool_idstringRequired
The tool to add. Get one from List tools.Tl9xBv…
positionobjectoptional
Where to put the node. Omit it to add to the end. See Position object below.

Position object

list_view_indexintegeroptional
The index the new node takes, starting at 0. The node already at that index, and every node after it, gains one: a node at 5 becomes 6. An index at or past the end of the board lands at the end, so it is never an error to aim too high.0

Every way of saying nothing lands the node at the end: no position at all, an empty position, or a list_view_index of null.

curl -X POST https://api2.rundiffusion.com/api/v2/boards/$BOARD_ID/nodes \
  -H "Authorization: Bearer $RUNDIFFUSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tool_id": "Tl9xBv…", "position": {"list_view_index": 0}}'

Response

201 Created with the Node object. Read its position.list_view_index rather than assuming: an index past the end lands at the end, so it is not always the one you sent.

json
{
  "id": "Nd4kWs…",
  "created_at": "2026-08-01T09:30:00+00:00",
  "title": "Flux Dev",
  "description": "Text to image",
  "tool_id": "Tl9xBv…",
  "position": { "list_view_index": 0 }
}

An insert renumbers the rest of the board in the same write, so no reader sees a half-applied order, and the other nodes keep their relative order.

An index past the end adds to the end rather than failing. A board can gain a node between your read and your write, and putting the node last is still what you asked for.

To move nodes already on a board, send the whole order to Reorder board nodes.

Errors

Status codes

400INVALID_REQUEST
A missing or blank tool_id, or a negative position.list_view_index. An index past the end is not an error: it adds to the end.
401TOKEN_INVALID
Missing or invalid credential.
403PERMISSION_DENIED
You can see the board but may not change what is on it.
403PLAN_LIMIT_REACHED
The board already holds as many nodes as the plan allows. details carries limit and current. Remove a node to add more.
404BOARD_NOT_FOUND
No such board, or not one this credential can see.
404TOOL_NOT_FOUND
The tool_id does not exist, or is not one that can be placed on a board.
429RATE_LIMITED
Too many requests. Board writes have a tighter budget than reads. See Rate limits.

View as Markdown