Для AI-агентов: markdown этой страницы — /docs-content/entities/tasks/time/fields.md индекс документации — /llms.txt
Поля записи учёта времени
GET /v1/task-time/fields
Возвращает справочник полей записи учёта времени. Схема одна на все задачи, поэтому путь плоский и идентификатор задачи в нём не участвует.
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/task-time/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/task-time/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/task-time/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/task-time/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.fields |
object | Справочник полей записи. Ключ — имя поля в camelCase, значение — его описание |
data.fields.<имя>.type |
string | Тип значения поля: number, string или datetime |
data.fields.<имя>.readonly |
boolean | true — поле заполняется системой и на запись не принимается |
data.fields.<имя>.createOnly |
boolean | Присутствует у полей, которые принимаются только при создании записи. В запросе на обновление такое поле отклоняется с 400 READONLY_FIELD |
data.fields.<имя>.label |
string | Короткое название поля |
data.fields.<имя>.description |
string | Пояснение к полю, включая имя ключа в теле запроса, если оно отличается от имени в ответе |
Справочник описывает десять полей:
| Поле | Тип | RO | Описание |
|---|---|---|---|
id |
number | да | Идентификатор записи |
taskId |
number | да | Идентификатор родительской задачи. На вложенных путях берётся из пути запроса, в теле не задаётся |
userId |
number | Сотрудник, на которого записано время. Список: GET /v1/users. Принимается только при создании, по умолчанию — владелец ключа |
|
seconds |
number | Учтённая длительность в секундах. Обязательна при создании, необязательна при обновлении | |
minutes |
number | да | Длительность в минутах, пересчитанная из seconds |
commentText |
string | Комментарий к записи. В теле запроса передаётся под именем comment. Пустой комментарий приходит как пустая строка |
|
source |
string | да | Источник записи. Значение 2 — запись создана через REST API |
createdDate |
datetime | Дата создания в формате ISO 8601 со смещением портала. Принимается при создании и при обновлении, чтобы поставить запись задним числом | |
dateStart |
datetime | да | Начало учтённого интервала в формате ISO 8601 со смещением портала |
dateStop |
datetime | да | Конец учтённого интервала в формате ISO 8601 со смещением портала |
Пример ответа
{
"success": true,
"data": {
"fields": {
"id": {
"type": "number",
"readonly": true,
"label": "Идентификатор",
"description": "Идентификатор записи. Сериализуется числом."
},
"taskId": {
"type": "number",
"readonly": true,
"label": "Идентификатор задачи",
"description": "Числовой идентификатор родительской задачи. Берётся из пути запроса на вложенных маршрутах — в теле не задаётся."
},
"userId": {
"type": "number",
"readonly": false,
"label": "Идентификатор автора",
"description": "Числовой идентификатор сотрудника, на которого записано время, — из GET /v1/users. Необязателен при создании (по умолчанию — владелец ключа); в PATCH отклоняется с 400 READONLY_FIELD: Битрикс24 не умеет менять автора записи.",
"createOnly": true
},
"seconds": {
"type": "number",
"readonly": false,
"label": "Секунды",
"description": "Учтённая длительность в секундах. Обязательна при создании, необязательна при обновлении. Ключ тела запроса: seconds."
},
"minutes": {
"type": "number",
"readonly": true,
"label": "Минуты",
"description": "Длительность в минутах, Битрикс24 считает её из seconds. Через это API только для чтения — маршрут Вайбкод её не отправляет."
},
"commentText": {
"type": "string",
"readonly": false,
"label": "Комментарий",
"description": "Комментарий к записи. При записи передавайте его как comment в теле — commentText это имя в ответе. Пустой комментарий приходит как \"\", а не null."
},
"source": {
"type": "string",
"readonly": true,
"label": "Источник",
"description": "Источник записи, проставляет Битрикс24: «2» — создана через REST API."
},
"createdDate": {
"type": "datetime",
"readonly": false,
"label": "Дата создания",
"description": "Дата создания, ISO 8601 со смещением портала (например 2026-05-13T16:15:41+03:00). Доступна для записи при создании и обновлении — передайте createdDate, чтобы поставить запись задним числом."
},
"dateStart": {
"type": "datetime",
"readonly": true,
"label": "Начало интервала",
"description": "Начало учтённого интервала, ISO 8601 со смещением портала. Заполняется Битрикс24 автоматически, через это API не редактируется."
},
"dateStop": {
"type": "datetime",
"readonly": true,
"label": "Конец интервала",
"description": "Конец учтённого интервала, ISO 8601 со смещением портала. Заполняется Битрикс24 автоматически, через это API не редактируется."
}
}
}
}
Пример ответа при ошибке
403 — нет скоупа:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'task' scope"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | WRONG_PATH |
Запрос отправлен на вложенный путь GET /v1/tasks/:taskId/time/fields. Правильный плоский путь назван в тексте ошибки |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа task |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
Полный список общих ошибок API — Ошибки.
Известные особенности
Справочник не зависит от портала. Ответ собирается на стороне платформы Вайбкод, обращения к Битрикс24 при этом не происходит. Поэтому запросу достаточно скоупа task — настроенные токены портала для него не нужны.