#Текущий статус

GET /v1/workday/status

Возвращает текущее состояние рабочего дня сотрудника: статус, время начала и завершения, длительность, перерывы.

#Параметры

Параметров нет.

#Примеры

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

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.tech/v1/workday/status

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

Terminal
curl -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.tech/v1/workday/status

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/status', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Статус:', data.status)
console.log('Активный день:', data.active)
console.log('Длительность:', data.duration)

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

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

#Поля ответа

Поле Тип Описание
success boolean true при успешном ответе
data.status string Статус дня: OPENED, CLOSED, PAUSED, EXPIRED
data.timeStart string Дата и время начала текущего или последнего дня (ISO 8601)
data.timeFinish string | null Дата и время завершения. null для незакрытого дня; для дня в PAUSED — момент начала текущей паузы
data.duration string Длительность дня в формате HH:MM:SS
data.timeLeaks string Суммарная длительность пауз за день в формате HH:MM:SS
data.active boolean Признак активной записи рабочего дня
data.ipOpen string IP-адрес начала дня
data.ipClose string IP-адрес завершения дня. Пустая строка для незакрытого дня
data.latOpen number Географическая широта точки начала. 0 — координаты не переданы
data.lonOpen number Географическая долгота точки начала
data.latClose number Географическая широта точки завершения
data.lonClose number Географическая долгота точки завершения
data.tzOffset number Смещение часового пояса сотрудника в секундах (зависит от настроек сотрудника на портале; пример 10800 соответствует UTC+3)

#Возможные значения `status`

Статус Описание
OPENED Рабочий день открыт
CLOSED Рабочий день закрыт
PAUSED Рабочий день на паузе
EXPIRED Рабочий день не был закрыт до начала следующих календарных суток

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

JSON
{
  "success": true,
  "data": {
    "status": "OPENED",
    "timeStart": "2026-05-05T09:00:00+03:00",
    "timeFinish": null,
    "duration": "04:00:00",
    "timeLeaks": "00:30:00",
    "active": true,
    "ipOpen": "203.0.113.10",
    "ipClose": "",
    "latOpen": 0,
    "lonOpen": 0,
    "latClose": 0,
    "lonClose": 0,
    "tzOffset": 10800
  }
}

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

403 — у ключа нет скоупа timeman:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'timeman' scope"
  }
}

#Ошибки

HTTP Код Описание
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный API-ключ
401 KEY_EXPIRED Срок действия API-ключа истёк
401 TOKEN_MISSING Ключу не настроены OAuth-токены для портала
402 ACCOUNT_FROZEN Баланс портала заморожен
403 SCOPE_DENIED У ключа нет скоупа timeman
422 BITRIX_ERROR Битрикс24 отклонил запрос — текст в message
429 RATE_LIMITED Превышен лимит запросов к Битрикс24
502 BITRIX_UNAVAILABLE Портал Битрикс24 недоступен

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

#Известные особенности

  • Состояние после закрытия. После закрытия дня эндпоинт продолжает возвращать сведения последнего дня (CLOSED, заполненный timeFinish) до открытия следующего. Удобно, чтобы получить отчёт сразу после закрытия.
  • Закрытие просроченного дня. В статусе EXPIRED день можно закрыть задним числом — передайте параметр time в `POST /v1/workday/close`.

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