لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/workday/work-reports.md فهرس التوثيق — /llms.txt
مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.
Work reports
An employee's work report for a period: the employee creates and submits the report, and the manager reads their subordinates' reports and marks them.
Report contents — Report fields.
Scope: timeman | Base URL: https://vibecode.bitrix24.com/v1 | Authorization: X-Api-Key
List work reports
GET /v1/workday/work-reports
Returns an employee's work reports, filtered by period and paginated.
Requires the timeman scope. Bitrix24 checks the credential owner’s permissions. READONLY keys can read reports and cannot write them.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ParameteruserId (query) |
Typeinteger | Requiredyes | Default— | DescriptionID of the employee whose reports you need. List: GET /v1/users |
ParameteractiveOnly (query) |
Typeboolean | Requiredno | Default— | Descriptiontrue returns submitted reports only |
ParameterdateFrom (query) |
Typestring | Requiredno | Default— | DescriptionPeriod start in ISO 8601 format with a time zone. Reports whose period overlaps the given one are returned; the boundaries are inclusive |
ParameterdateTo (query) |
Typestring | Requiredno | Default— | DescriptionPeriod end in the same format |
Parameterlimit (query) |
Typeinteger | Requiredno | Default50 |
DescriptionHow many reports to return, from 1 to 50 |
Parameteroffset (query) |
Typeinteger | Requiredno | Default0 |
DescriptionHow many reports to skip. Cannot be combined with page |
Parameterpage (query) |
Typeinteger | Requiredno | Default1 |
DescriptionPage number, with limit reports per page. Cannot be combined with offset |
Parameterorder (query) |
Typestring | Requiredno | Default{"id":"desc"} |
DescriptionSort order — a JSON object with asc or desc directions, for example {"id":"asc"} |
Parameterselect (query) |
Typestring | Requiredno | Default— | DescriptionComma-separated report fields. For the list, see Report fields |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/workday/work-reports?userId=101" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/workday/work-reports?userId=101" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/work-reports?userId=101', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data, meta } = await res.json()
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/work-reports?userId=101', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data, meta } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue when the request succeeds |
Fielddata |
Typearray | DescriptionArray of reports. For the fields of each report, see Report fields |
Fieldmeta.limit |
Typeinteger | DescriptionPage size |
Fieldmeta.offset |
Typeinteger | DescriptionHow many reports were skipped |
Fieldmeta.hasMore |
Typeboolean | Descriptiontrue when the page holds limit reports and more may follow |
Response example
The main report fields are shown. For the full list, see Report fields:
{
"success": true,
"data": [
{
"id": 145,
"userId": 101,
"active": false,
"reportType": "day",
"reportDate": "2026-10-06T18:33:06.000Z",
"dateFrom": "2026-10-06T21:00:00.000Z",
"dateTo": "2026-10-06T21:00:00.000Z",
"report": "Sprint summary",
"type": "REPORT",
"mark": "N",
"approve": "N"
},
{
"id": 143,
"userId": 101,
"active": false,
"reportType": "day",
"reportDate": "2026-10-06T18:22:40.000Z",
"dateFrom": "2026-10-05T21:00:00.000Z",
"dateTo": "2026-10-05T21:00:00.000Z",
"report": "Weekly report",
"type": "REPORT",
"mark": "N",
"approve": "N"
}
],
"meta": {
"limit": 50,
"offset": 0,
"hasMore": false
}
}
Error response example
400 — userId is missing:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Expected a positive integer"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeWORKDAY_REPORT_LIMIT_EXCEEDED |
Descriptionlimit is greater than 50 |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionuserId is missing, offset and page are both passed, select has an unknown field, a date is invalid, or an unknown parameter is passed |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionThe credential owner lacks Bitrix24 permissions for this employee's reports |
| HTTP409 | CodeTIMEMAN_MODULE_NOT_ENABLED |
DescriptionTime Management is not available on this portal |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 refused the operation |
| HTTP502 | CodeBITRIX_UNAVAILABLE |
DescriptionBitrix24 is unavailable or returned a response of an unexpected shape |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header was not passed |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionAn app key was sent without a session token in Authorization: Bearer |
| HTTP401 | CodeINVALID_SESSION |
DescriptionThe session token is invalid or has expired |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the timeman scope |
| HTTP429 | CodeRATE_LIMITED |
DescriptionThe report read limit or the general request limit was exceeded |
The full list of common API errors — Errors.
Known specifics
selectkeeps only the listed fields in each report.idis always returned, even when it is not in the list.- Only
idsets the order. Other fields inorderapply afterid, so they do not change the order of the results. dateFromanddateTomust be strictly later than1970-01-01T00:00:00Z. An earlier date, or that exact timestamp, returns400 INVALID_PARAMS.