Для AI-агентов: markdown этой страницы — /docs-content/workday/work-reports/list.md индекс документации — /llms.txt
Список рабочих отчётов
GET /v1/workday/work-reports
Возвращает рабочие отчёты сотрудника с отбором по периоду и постраничной выдачей.
Требуется скоуп timeman. Битрикс24 проверяет права владельца учётных данных. Ключ READONLY может читать отчёты, запись запрещена.
Параметры
| Параметр | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
userId (query) |
integer | да | — | ID сотрудника, чьи отчёты нужны. Список: GET /v1/users |
activeOnly (query) |
boolean | нет | — | true — только сданные отчёты |
dateFrom (query) |
string | нет | — | Начало периода в формате ISO 8601 с часовым поясом. В выдачу попадают отчёты, чей период пересекается с заданным, границы включаются |
dateTo (query) |
string | нет | — | Конец периода в том же формате |
limit (query) |
integer | нет | 50 |
Сколько отчётов вернуть, от 1 до 50 |
offset (query) |
integer | нет | 0 |
Сколько отчётов пропустить. Нельзя передавать вместе с page |
page (query) |
integer | нет | 1 |
Номер страницы размером limit. Нельзя передавать вместе с offset |
order (query) |
string | нет | {"id":"desc"} |
Сортировка — JSON-объект с направлениями asc или desc, например {"id":"asc"} |
select (query) |
string | нет | — | Поля отчёта через запятую. Список — Поля отчёта |
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/workday/work-reports?userId=101" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/workday/work-reports?userId=101" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/work-reports?userId=101', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data, meta } = await res.json()
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/work-reports?userId=101', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data, meta } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успешном запросе |
data |
array | Массив отчётов. Состав отчёта — Поля отчёта |
meta.limit |
integer | Размер страницы |
meta.offset |
integer | Сколько отчётов пропущено |
meta.hasMore |
boolean | true, когда на странице limit отчётов и за ней могут быть ещё |
Пример ответа
Показаны основные поля отчёта. Полный список — Поля отчёта:
{
"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
}
}
Пример ответа при ошибке
400 — не передан userId:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Expected a positive integer"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | WORKDAY_REPORT_LIMIT_EXCEEDED |
limit больше 50 |
| 400 | INVALID_PARAMS |
Не передан userId, переданы одновременно offset и page, неизвестное поле в select, неверная дата или неизвестный параметр |
| 403 | BITRIX_ACCESS_DENIED |
У владельца учётных данных нет прав в Битрикс24 на отчёты этого сотрудника |
| 409 | TIMEMAN_MODULE_NOT_ENABLED |
Учёт рабочего времени недоступен на портале |
| 422 | BITRIX_ERROR |
Битрикс24 отказал в операции |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 недоступен или вернул ответ неожиданной формы |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | TOKEN_MISSING |
Ключ приложения передан без токена сессии в Authorization: Bearer |
| 401 | INVALID_SESSION |
Токен сессии неверный или истёк |
| 403 | SCOPE_DENIED |
У ключа нет скоупа timeman |
| 429 | RATE_LIMITED |
Превышен лимит чтения отчётов или общий лимит запросов |
Полный список общих ошибок API — Ошибки.
Известные особенности
selectоставляет в отчётах только перечисленные поля.idприходит всегда, даже если его нет в списке.- Порядок задаёт только
id. Остальные поля вorderприменяются послеid, поэтому порядок выдачи не меняют. - Даты в
dateFromиdateTo— строго позже1970-01-01T00:00:00Z. Более ранняя дата и сама эта отметка возвращают400 INVALID_PARAMS.