Skip to content

Update a board

PATCH
/boards/{board}
curl --request PATCH \
--url https://projects.work.optidata.cloud/api/boards/1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "Website Redesign (Q3)", "visibility": "private", "members": [ { "id": 7, "permission": "manage" }, { "id": 8, "permission": "edit" } ] }'

Partially updates the board’s attributes. Requires edit permission; changing members or visibility requires manage. When members is sent the full member list is synchronized (users omitted from the list are removed). visibility and members must be sent together. Attribute changes may notify board members.

board
required
integer

Board id.

Media typeapplication/json
object
name
string
<= 80 characters
description
string | null
<= 600 characters
icon
string | null
<= 14 characters
parent_id

New parent board (must exist; cycles are rejected).

integer | null
visibility

Required when members is present. Requires manage permission.

string
Allowed values: private public
members

Full member list to synchronize. Required when visibility is present. Requires manage permission.

Array<object>
>= 1 items
object
id
required

User id.

integer
permission
required
string
Allowed values: view interact edit manage
Example
{
"name": "Website Redesign (Q3)",
"visibility": "private",
"members": [
{
"id": 7,
"permission": "manage"
},
{
"id": 8,
"permission": "edit"
}
]
}

The updated board.

Media typeapplication/json

A project (kanban board). Boards nest via parent_id.

object
id
integer
user_id

Owner user id.

integer | null
group_id
integer | null
cuid

Tenant/company identifier the board belongs to.

string
parent_id

Parent board id (null for root boards).

integer | null
name
string
<= 80 characters
description
string | null
<= 600 characters
icon

Emoji icon.

string | null
visibility
string
Allowed values: private public
order_cards_by

Default card sort field for new columns.

string | null
order_cards_direction
string | null
Allowed values: asc desc
archived_at
string | null format: date-time
created_at
string format: date-time
updated_at
string format: date-time
deleted_at
string | null format: date-time
Example
{
"visibility": "private",
"order_cards_direction": "asc"
}

Missing, invalid or expired bearer passport.

Media typeapplication/json
object
error
string
Example
{
"error": "JWT passport exception: Missing bearer token in request"
}

The authenticated user lacks the required board permission.

Media typeapplication/json
object
message
string
Example
{
"message": "This action is unauthorized."
}

Resource not found, or a nested resource does not belong to its parent in the path.

Media typeapplication/json
object
message
string
Example
{
"message": "Not found."
}

Validation failed.

Media typeapplication/json
object
message

First validation error message.

string
errors

Map of field name → list of error messages.

object
key
additional properties
Array<string>
Example
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}