Create a column
POST
/boards/{board}/columns
const url = 'https://projects.work.optidata.cloud/api/boards/1/columns';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"Review","description":"Awaiting code review","color":"#8b5cf6"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://projects.work.optidata.cloud/api/boards/1/columns \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "Review", "description": "Awaiting code review", "color": "#8b5cf6" }'Adds a column at the end of the board. Requires edit permission.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”board
required
integer
Board id.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
name
required
string
description
string | null
icon
string | null
color
string | null
Example
{ "name": "Review", "description": "Awaiting code review", "color": "#8b5cf6"}Responses
Section titled “Responses”The created column.
Media typeapplication/json
A task list within a board.
object
id
integer
board_id
integer
name
string
description
string | null
icon
string | null
color
Column accent color (fixed palette).
string | null
order
Position within the board.
integer
sort_order
Sticky automatic card sort applied to this column, when set.
string | null
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
{ "color": "#ef4444"}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." ] }}