Attach/detach card assignees
const url = 'https://projects.work.optidata.cloud/api/boards/1/cards/1/assignees/sync';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"assignees":{"7":true,"8":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/assignees/sync \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "assignees": { "7": true, "8": false } }'Synchronizes the card’s assignees from a map of user id → boolean
(true attaches, false detaches). Users not present in the map are
left unchanged. Newly attached assignees are notified.
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 user id → attach (true) / detach (false).
Example
{ "assignees": { "7": true, "8": false }}Responses
Section titled “Responses”The card after the sync.
A task. Derived attributes (tags_ids, assignees_ids, *_count,
human_*, due_date_status, is_time_tracking) are present on single
card reads; list contexts may return a subset of attributes.
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).
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." ] }}