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

Read a daily report

GET /v1/workday/records/:recordId/report

Returns an employee's daily report by the ID of the work time record it belongs to.

Requires the timeman scope. Bitrix24 checks whether the credential owner can read the time records of the employee the record belongs to. READONLY keys can read reports.

Parameters

Parameter Type Required Default Description
recordId (path) integer yes — Work time record ID. List: GET /v1/workday/records
withAi (query) boolean no false true or 1 adds the report written for the record by AI or an automation rule: its type goes to type, its text to reportExtended. The saved report is read; no new one is generated. Without an employee's report, the response is data: null, even if AI or an automation rule has written a report for the record

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/workday/records/185/report" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/workday/records/185/report" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/records/185/report', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})
const { data } = await res.json()

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/records/185/report', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()

Response fields

Field Type Description
success boolean true when the request succeeds
data object | null The daily report, or null if the record has no employee's report. Field details — Report fields
data.id integer Daily report ID. List: GET /v1/workday/daily-reports
data.recordId integer Work time record ID. List: GET /v1/workday/records
data.userId integer ID of the employee the report belongs to. List: GET /v1/users
data.type string Report type: REPORT — the employee's report. With withAi=true — AI_REPORT or ROBOT_REPORT if AI or an automation rule has written a report for the record
data.report string The employee's report text with BB code markup
data.reportPlain string Report text without markup
data.timestamp string | null When the report was last saved
data.reportExtended string | null Text of the report written by AI or an automation rule. Present with withAi=true if such a report exists, otherwise null

Response example

The record has an employee's report:

JSON
{
  "success": true,
  "data": {
    "id": 379,
    "recordId": 185,
    "userId": 101,
    "type": "REPORT",
    "report": "[b]Done:[/b] daily summary",
    "reportPlain": "Done: daily summary",
    "timestamp": "2026-10-07T08:11:53.000Z",
    "reportExtended": null
  }
}

The record has no employee's report:

JSON
{
  "success": true,
  "data": null
}

Error response example

404 — no work time record with this recordId exists:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Record not found."
  }
}

Errors

HTTP Code Description
400 INVALID_PARAMS recordId is not a positive integer; withAi is not true, false, 1, or 0; an unknown parameter is passed; or a parameter is passed twice
404 ENTITY_NOT_FOUND No work time record with this recordId exists
403 BITRIX_ACCESS_DENIED The credential owner lacks the right to read the time records of the employee the record belongs to. Without this right, reading one's own record is refused too
409 TIMEMAN_MODULE_NOT_ENABLED Time Management is not available on this portal
422 BITRIX_ERROR Bitrix24 refused the operation
502 BITRIX_UNAVAILABLE Bitrix24 is unavailable or returned a response of an unexpected shape
401 MISSING_API_KEY The X-Api-Key header was not passed
401 TOKEN_MISSING An app key was sent without a session token in Authorization: Bearer
401 INVALID_SESSION The session token is invalid or has expired
403 SCOPE_DENIED The key lacks the timeman scope
429 RATE_LIMITED The report read limit (30 requests per minute per key–user pair) or the general request limit was exceeded. The effective report read limit is in the x-ratelimit-limit header; the cap is divided across replicas

The full list of common API errors — Errors.

See also