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

Create a work report

POST /v1/workday/work-reports

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

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

Parameters

Name Type Required Description
userId integer yes Users
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
autoFillDailyReports boolean no false

Examples

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports" -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"userId": 101, "reportText": "Weekly report"}'
Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/workday/work-reports" -H "X-Api-Key: YOUR_APP_KEY" -H "X-Vibe-Authorization: Bearer USER_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"userId": 101, "reportText": "Weekly report"}'
javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports", {
  "method": "POST",
  "headers": {
    "X-Api-Key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": "{\"userId\": 101, \"reportText\": \"Weekly report\"}"
});
const result = await response.json();
javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/work-reports", {
  "method": "POST",
  "headers": {
    "X-Api-Key": "YOUR_APP_KEY",
    "X-Vibe-Authorization": "Bearer USER_ACCESS_TOKEN",
    "Content-Type": "application/json"
  },
  "body": "{\"userId\": 101, \"reportText\": \"Weekly 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