Update Record

Update fields on an existing record.


POST /v1/update-record

Update fields on an existing record. Only provide the fields you want to change — omitted fields are left unchanged. Use move-record instead to change which list a record is in.

Request body

FieldTypeRequiredDescription
workspaceIdstringYesThe workspace ID the record belongs to
recordIdstringYesThe record ID to update
titlestringNoNew title
descriptionstringNoNew description (plain text)
descriptionHtmlstringNoNew description as HTML. Sanitized server-side. Do not send with description.
donebooleanNoSet the done status. Pass true to mark as done, false to mark as not done.
startedAtstringNoStart date. Send a bare YYYY-MM-DD for an all-day date, or ISO 8601 for a timed one.
duedAtstringNoDue date. Send a bare YYYY-MM-DD for an all-day date, or ISO 8601 for a timed one.
allDaybooleanNoForce the dates to be all-day (a floating calendar date shown identically in every timezone) or timed. Usually unnecessary: bare YYYY-MM-DD dates are all-day automatically.
colorstringNoRecord color
assigneeIdsstring[]NoUser IDs to assign. Replaces all current assignees.
{
  "workspaceId": "string",
  "recordId": "string",
  "title": "string",
  "description": "string",
  "descriptionHtml": "string",
  "done": true,
  "startedAt": "string",
  "duedAt": "string",
  "allDay": true,
  "color": "string",
  "assigneeIds": [
    "string"
  ]
}

Response

Returns the result of the operation.

Example

curl -X POST https://rest.blue.app/v1/update-record \
  -H "Authorization: Bearer $BLUE_TOKEN" \
  -H "blue-org-id: $BLUE_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{"workspaceId":"string","recordId":"string","title":"string","description":"string","descriptionHtml":"string","done":true,"startedAt":"string","duedAt":"string","allDay":true,"color":"string","assigneeIds":["string"]}'