For AI agents: markdown of this page — /docs-content-en/workday/daily-reports/save.md documentation index — /llms.txt
Save a daily report
PUT /v1/workday/records/:recordId/report
Requires the timeman scope. Bitrix24 checks the credential owner’s permissions. READONLY keys can read reports and cannot write them.
Only the current Bitrix24 credential owner can save their own record. A foreign record returns 403; a missing record returns 404. An empty string clears the report. A valid record without a report can be read as null.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| recordId | integer | yes | Workday records |
| reportText | string | yes | Report text; empty string is accepted |
Examples
curl -X PUT "https://vibecode.bitrix24.com/v1/workday/records/3/report" -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"reportText": "Daily report"}'
curl -X PUT "https://vibecode.bitrix24.com/v1/workday/records/3/report" -H "X-Api-Key: YOUR_APP_KEY" -H "X-Vibe-Authorization: Bearer USER_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"reportText": "Daily report"}'
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/records/3/report", {
"method": "PUT",
"headers": {
"X-Api-Key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
"body": "{\"reportText\": \"Daily report\"}"
});
const result = await response.json();
const response = await fetch("https://vibecode.bitrix24.com/v1/workday/records/3/report", {
"method": "PUT",
"headers": {
"X-Api-Key": "YOUR_APP_KEY",
"X-Vibe-Authorization": "Bearer USER_ACCESS_TOKEN",
"Content-Type": "application/json"
},
"body": "{\"reportText\": \"Daily report\"}"
});
const result = await response.json();
Response fields
| Field | Description |
|---|---|
| success | true |
| data | Report fields |
Response example:
{
"success": true,
"data": { "id": 1, "recordId": 3, "userId": 101, "report": "Daily report", "reportPlain": "Daily 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:
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Expected a positive integer"}}