Skip to content

Move / reorder cards within or into a column

PATCH
/boards/{board}/columns/{column}/cards/order
curl --request PATCH \
--url https://projects.work.optidata.cloud/api/boards/1/columns/1/cards/order \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "cardsOrder": [ { "id": 9002, "order": 1, "column_id": 302 }, { "id": 9001, "order": 2, "column_id": 302 } ] }'

Bulk-positions cards inside the column identified in the path — this is the drag-and-drop endpoint, used both for reordering within a column and for moving a card from another column of the same board (send the card’s id with its new order and column_id). All referenced cards must exist and belong to a single board, otherwise the request fails with 400.

board
required
integer

Board id.

column
required
integer

Column id (must belong to the board).

Media typeapplication/json
object
cardsOrder
required
Array<object>
object
id
required

Card id.

integer
order
required

New position within the column.

integer
column_id

Target column (when moving between columns).

integer
Example
{
"cardsOrder": [
{
"id": 9002,
"order": 1,
"column_id": 302
},
{
"id": 9001,
"order": 2,
"column_id": 302
}
]
}

The applied order (echo of the request).

Media typeapplication/json
Array<object>
object
key
additional properties
any
Examplegenerated
[
{}
]

Referenced cards missing or spanning multiple boards.

Media typeapplication/json
object
message
string
Examplegenerated
{
"message": "example"
}

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."
]
}
}