For AI agents: markdown of this page — /docs-content-en/workday/work-reports/update.md documentation index — /llms.txt

Update a work report

PATCH /v1/workday/work-reports/:id

Requires the timeman scope. Bitrix24 checks the credential owner’s permissions. READONLY keys can read reports and cannot write them.

Absent and null fields keep their current values. At least one non-null writable field is required. Clear text with an empty string and tasks/events with an empty array.

files is not accepted: the file identifier contract has not been verified.

Parameters

Name Type Required Description
id integer yes Work report list
reportText, reportExtended, plansText, type string / null no Only supplied values are changed
dateFrom, dateTo string / null no ISO-8601 with time zone
tasks[].id integer yes Tasks
tasks[].time, tasks[].title number / string no TIME and TITLE of the task snapshot
events[].id integer yes Calendar events
events[].ownerId, events[].title integer / string no Event owner and snapshot title

Examples

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/workday/work-reports/79" -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"reportText": "Updated report"}'
Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/workday/work-reports/79" -H "X-Api-Key: YOUR_APP_KEY" -H "X-Vibe-Authorization: Bearer USER_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"reportText": "Updated report"}'
javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports/79", {
  "method": "PATCH",
  "headers": {
    "X-Api-Key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": "{\"reportText\": \"Updated report\"}"
});
const result = await response.json();
javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports/79", {
  "method": "PATCH",
  "headers": {
    "X-Api-Key": "YOUR_APP_KEY",
    "X-Vibe-Authorization": "Bearer USER_ACCESS_TOKEN",
    "Content-Type": "application/json"
  },
  "body": "{\"reportText\": \"Updated report\"}"
});
const result = await response.json();

Response fields

Field Description
success true
data Report fields

Response example:

JSON
{
  "success": true,
  "data": {
    "id": 79,
    "userId": 101,
    "report": "Weekly report"
  }
}

Errors

HTTP Code Condition
400 INVALID_PARAMS Invalid input
403 SCOPE_DENIED Missing timeman scope
403 BITRIX_ACCESS_DENIED Bitrix24 denies access or daily record is not owned by caller
404 ENTITY_NOT_FOUND Report or record not found
409 TIMEMAN_MODULE_NOT_ENABLED Time Management unavailable
422 BITRIX_ERROR Bitrix24 business refusal or false decision result
429 RATE_LIMITED Read or global rate limit
502 BITRIX_UNAVAILABLE Unexpected response or Bitrix24 unavailable
403 WRITE_BLOCKED_READONLY_KEY READONLY

400 — missing or invalid input:

JSON
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Expected a positive integer"}}

Errors

See also

Work reports

Daily reports

Workday