Move / reorder cards within or into a column
const url = 'https://projects.work.optidata.cloud/api/boards/1/columns/1/cards/order';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"cardsOrder":[{"id":9002,"order":1,"column_id":302},{"id":9001,"order":2,"column_id":302}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Board id.
Column id (must belong to the board).
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Card id.
New position within the column.
Target column (when moving between columns).
Example
{ "cardsOrder": [ { "id": 9002, "order": 1, "column_id": 302 }, { "id": 9001, "order": 2, "column_id": 302 } ]}Responses
Section titled “Responses”The applied order (echo of the request).
object
Examplegenerated
[ {}]Referenced cards missing or spanning multiple boards.
object
Examplegenerated
{ "message": "example"}Missing, invalid or expired bearer passport.
object
Example
{ "error": "JWT passport exception: Missing bearer token in request"}The authenticated user lacks the required board permission.
object
Example
{ "message": "This action is unauthorized."}Resource not found, or a nested resource does not belong to its parent in the path.
object
Example
{ "message": "Not found."}Validation failed.
object
First validation error message.
Map of field name → list of error messages.
object
Example
{ "message": "The name field is required.", "errors": { "name": [ "The name field is required." ] }}