Skip to content

List boards

Page through the boards you can see, filtered by access level, owner, name, or date.

On this page

A board holds an ordered set of nodes. This returns the boards the credential can see on the account it acts as, newest first.

GEThttps://api2.rundiffusion.com/api/v2/boards
AcceptsOAuth device flowPersonal API Access TokenCompany API Access Token

Which boards those are depends on the account. On a personal account it is your own boards, and nothing else. On a team it follows the same rules the app does:

Access levelWho sees it
SHAREDeveryone on the team
RESTRICTEDthe members listed on it, the owner always among them
PRIVATEthe owner alone

A member holding Can manage everyone's generations and boards (MANAGE_ALL_GENERATIONS) sees every board on the team regardless of level. See Identity for reading your own permissions.

This listing reads one account at a time: omit team_id for your own boards, or name a single team.

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…

Query parameters

team_idstringoptional
The team whose boards to read, one per request. Omit it to read your personal account. Part of the account selection rather than a filter, so it behaves identically on every endpoint.https://api2.rundiffusion.com/api/v2/boards?team_id=Tq8vNc…
limitintegeroptional
Boards per page, 1 to 100. Defaults to 24.limit=50
cursorstringoptional
The next_cursor from a previous response. Keep every other parameter identical between pages: the cursor is a position within one filtered listing, so changing a filter mid-walk returns 400 INVALID_CURSOR rather than a silently different page.
access_levelstringoptional
Return only boards at this access level.access_level=SHARED
owner_user_idstringoptional
Return only boards created by one user. Useful on a team; on a personal account every board is already yours.owner_user_id=k3PqV9…
start_utcstring (ISO 8601)optional
Start of the window, inclusive, in UTC. A board created at exactly this instant is included.https://api2.rundiffusion.com/api/v2/boards?start_utc=2026-07-01T00:00:00Z
end_utcstring (ISO 8601)optional
End of the window, exclusive, in UTC. A board created at exactly this instant is NOT included.https://api2.rundiffusion.com/api/v2/boards?end_utc=2026-08-01T00:00:00Z
curl -G https://api2.rundiffusion.com/api/v2/boards \
  -H "Authorization: Bearer $RUNDIFFUSION_TOKEN" \
  --data-urlencode "limit=24"

Response

200 OK with one page of boards.

json
{
  "data": [
    {
      "id": "Tq8vNc…",
      "created_at": "2026-07-30T14:02:11+00:00",
      "title": "Hero shots",
      "description": "Landing page art",
      "access_level": "SHARED",
      "owner_user_id": "k3PqV9…",
      "team_id": "Kp7mZq…",
      "avatar_url": "https://rundiffusion.com/..."
    }
  ],
  "next_cursor": "Tq8vNc…",
  "has_more": true
}

Top level

dataarray
One page of boards, newest first. See Board object below.
next_cursorstring | null
Pass as cursor for the next page. Null on the last page.
has_moreboolean
Whether another page exists. Prefer this over checking whether data is short.

Board object

idstring
Board ID. Send it as board_id on the board endpoints, and as board_id on Library to filter that board's generations. Example: Tq8vNc….
createdstring (ISO 8601)
When it was created, in UTC.
titlestring | null
Board name. Example: Hero shots.
descriptionstring | null
Optional description, null when unset.
access_levelstring
Who can reach the board. Always PRIVATE on a personal account, where there is nobody to share with.
owner_user_idstring
The user who created the board.
team_idstring | null
The team the board belongs to, or null for a personal board.
avatar_urlstring | null
The board's picture, as a png URL you can render directly. Assigned automatically when the board is created, so it is normally set; null only where a board was created without one.

This listing carries the board itself, not its contents. For the nodes on a board, and its members, fetch one board with Get a board.

Errors

Status codes

400INVALID_REQUEST
A parameter failed validation, such as a limit outside 1 to 100 or a malformed datetime.
400INVALID_CURSOR
The cursor does not belong to this listing. It usually means a filter changed between pages, or the board it pointed at is gone. Restart without a cursor.
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. See Rate limits.

View as Markdown