Для AI-агентов: markdown этой страницы — /docs-content/workday/daily-reports/save.md индекс документации — /llms.txt

Сохранить дневной отчёт

PUT /v1/workday/records/:recordId/report

Создаёт дневной отчёт сотрудника в записи рабочего времени или заменяет текст отчёта, который в записи уже есть.

Требуется скоуп timeman. Сохранить отчёт можно только в свою запись — запись владельца учётных данных. Ключ READONLY может читать отчёты, но не сохранять их.

Параметры

Параметр Тип Обяз. По умолч. Описание
recordId (path) integer да — ID записи рабочего времени владельца учётных данных. Запись текущего или последнего рабочего дня — data.id в ответе GET /v1/workday/status. Список: GET /v1/workday/records

Поля запроса (body)

Поле Тип Обяз. Описание
reportText string да Текст отчёта, можно с разметкой BB-кода. Заменяет прежний текст целиком. Пустая строка очищает текст, отчёт остаётся

Примеры

curl — личный ключ

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/workday/records/185/report" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reportText": "[b]Done:[/b] daily summary"}'

curl — OAuth-приложение

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/workday/records/185/report" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reportText": "[b]Done:[/b] daily summary"}'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/records/185/report', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    reportText: '[b]Done:[/b] daily summary',
  }),
})
const { data } = await res.json()

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/records/185/report', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    reportText: '[b]Done:[/b] daily summary',
  }),
})
const { data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean true при успешном запросе
data object Сохранённый дневной отчёт. Подробнее о полях — Поля отчёта
data.id integer ID дневного отчёта. При повторном сохранении не меняется. Список: GET /v1/workday/daily-reports
data.recordId integer ID записи рабочего времени. Список: GET /v1/workday/records
data.userId integer ID сотрудника, чей это отчёт. Список: GET /v1/users
data.type string Всегда REPORT — отчёт сотрудника
data.report string Текст отчёта в разметке BB-кода
data.reportPlain string Текст отчёта без разметки
data.timestamp string | null Время сохранения отчёта
data.reportExtended null Отчёт AI или робота в этот ответ не добавляется. Получить его — GET /v1/workday/records/:recordId/report с withAi=true

Пример ответа

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:19:18.000Z",
    "reportExtended": null
  }
}

Пример ответа при ошибке

403 — запись рабочего времени принадлежит другому сотруднику:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ACCESS_DENIED",
    "message": "A daily report can only be saved to the current Bitrix24 user’s own workday record"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS В recordId не положительное целое число, тело запроса не JSON-объект, reportText не передан или не строка, в теле есть неизвестное поле или передан параметр строки запроса, например ?withAi=true, — метод их не принимает
404 ENTITY_NOT_FOUND Записи рабочего времени с таким recordId нет
403 BITRIX_ACCESS_DENIED Запись принадлежит другому сотруднику, в том числе подчинённому. Сообщение: A daily report can only be saved to the current Bitrix24 user’s own workday record
403 BITRIX_ACCESS_DENIED У владельца учётных данных нет права читать учёт рабочего времени сотрудника, чья это запись. Без этого права отказ приходит и на свою запись. Сообщение: Access denied.
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 WRITE_BLOCKED_READONLY_KEY Ключ READONLY, сохранять отчёты нельзя
403 SCOPE_DENIED У ключа нет скоупа timeman
429 RATE_LIMITED Превышен общий лимит запросов

Полный список общих ошибок API — Ошибки.

Смотрите также