Attach/detach card tags
const url = 'https://projects.work.optidata.cloud/api/boards/1/cards/1/tags/sync';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"tags":{"88":true,"97":false}}'};
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/cards/1/tags/sync \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "tags": { "88": true, "97": false } }'Synchronizes the card’s tags from a map of tag id → boolean (true
attaches, false detaches). Tags not present in the map are left
unchanged.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Board id.
Card id (must belong to the board).
Request Bodyrequired
Section titled “Request Bodyrequired”object
Map of tag id → attach (true) / detach (false).
Example
{ "tags": { "88": true, "97": false }}Responses
Section titled “Responses”The card with its tags relation loaded.
object
Creator user id.
Rich-text description (serialized editor document, JSON string).
Position within its column.
Sequential card number within the board.
Opaque id tied to the current due date (used for calendar sync).
Owning checklist (checklist-item cards only).
Cached count of checklist items on this card.
Ids of the card’s tags (as strings; may contain null when empty).
Ids of the card’s assignees (as strings; may contain null when empty).
Truthy when the caller has a running timer on this card.
Localized short due date (e.g. Aug 1, 2026).
A label. board_id null means a common (tenant-wide) tag.
object
Hex color (e.g. #52eb00).
Example
{ "type": "ORDINARY", "status": "OPEN", "cover_color": "#ef4444", "due_date_status": "OVERDUE"}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." ] }}