Skip to content

Set board access settings

Set a team board to private, shared with the team, or restricted to named board members.

On this page

Who can reach a team board. This is the one call that changes access_level, and the same call sets the board member list, because the two only make sense together.

PUThttps://api2.rundiffusion.com/api/v2/boards/{board_id}/access
AcceptsOAuth device flowPersonal API Access TokenCompany API Access Token
LevelWho can reach the board
PRIVATEthe owner alone
SHAREDeveryone on the team
RESTRICTEDonly the board members you name, plus the owner

Personal boards have no access settings: there is nobody to share with, so this endpoint answers 400 INVALID_REQUEST for one.

Who can change access

Stricter than editing a board's name, because it changes who can see work:

  • to SHARED or RESTRICTED you need Can manage Shared assets (SHARE_ASSETS). If you are not the owner you also need Can manage everyone's generations and boards (MANAGE_ALL_GENERATIONS).
  • to PRIVATE the owner may always do it, and so may a holder of Can manage everyone's generations and boards.

Owning a board is therefore not enough to share it: a team that withholds Can manage Shared assets from a role keeps that role's boards private, which is the point of the permission.

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 change.Tq8vNc…

Body

access_levelstringRequired
The level to set.
member_user_idsarrayoptional
The complete board member list for RESTRICTED, replacing whatever was there. Send user IDs, as returned by Identity. The owner is always a board member and does not need listing. Ignored at the other levels, where membership is not what decides access.["k3PqV9…", "m8ZtLq…"]
curl -X PUT "https://api2.rundiffusion.com/api/v2/boards/$BOARD_ID/access?team_id=$TEAM_ID" \
  -H "Authorization: Bearer $RUNDIFFUSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"access_level": "RESTRICTED", "member_user_ids": ["k3PqV9…"]}'

Response

200 OK with the full board, in the same shape Get a board returns, so members reflects the change you just made.

json
{
  "id": "Tq8vNc…",
  "title": "Hero shots",
  "access_level": "RESTRICTED",
  "owner_user_id": "k3PqV9…",
  "team_id": "Kp7mZq…",
  "nodes": [],
  "members": [
    {
      "user_id": "k3PqV9…",
      "email": "sam@example.com",
      "created_at": "2026-08-01T09:20:00+00:00"
    },
    {
      "user_id": "m8ZtLq…",
      "email": "alex@example.com",
      "created_at": "2026-08-01T09:20:00+00:00"
    }
  ]
}

Leaving RESTRICTED clears the board member list. Setting it back later starts from the owner alone, so keep your own record if you intend to restore a group.

Errors

Status codes

400INVALID_REQUEST
An unknown access level, a personal board (which has no access settings), or more board member changes than one request allows.
401TOKEN_INVALID
Missing or invalid credential.
403PERMISSION_DENIED
You lack the permission for the level you asked for. Sharing needs Can manage Shared assets; doing it to somebody else's board also needs Can manage everyone's generations and boards.
404BOARD_NOT_FOUND
No such board, or not one this credential can see.
429RATE_LIMITED
Too many requests. See Rate limits.

View as Markdown