Найти отсутствия сотрудников

Запрос возвращает записи об отсутствии для указанных пользователей, которые пересекаются с заданным временным окном. Результат сгруппирован по пользователям.

POST

https://api.tracker.yandex.net/v3/gaps/_search

Формат запроса

Перед выполнением запроса получите доступ к API.

Для выполнения запроса требуются права администратора.

Чтобы найти записи об отсутствии сотрудников, используйте HTTP-запрос с методом POST. В теле запроса укажите параметры в формате JSON.

POST /v3/gaps/_search?page=1&perPage=20
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
  "users": ["<логин_пользователя>"],
  "from": "<дата_начала>",
  "to": "<дата_окончания>"
}
Заголовки
  • Host: адрес узла, предоставляющего API.

  • Authorization: токен для авторизации в одном из форматов:

    • OAuth <OAuth-токен> при авторизации по протоколу OAuth 2.0. Читать подробнее

    • Bearer <IAM-токен> при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. Читать подробнее

  • Content-Type: формат тела запроса. Должен иметь значение application/json.

  • X-Org-ID или X-Cloud-Org-ID: идентификатор организации.

    • если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок X-Org-ID,

    • если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок X-Cloud-Org-ID.

    Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

Параметры запроса

Дополнительные параметры

Параметр Описание Тип данных
page Номер страницы при постраничном выводе. По умолчанию — 1 Число
perPage Количество пользователей на странице ответа. По умолчанию — 50 Число
Параметры тела запроса

Обязательные параметры

Параметр Описание Тип данных
users Логины или идентификаторы пользователей, для которых нужно получить записи об отсутствии. Максимальное количество — 100 Массив строк

Дополнительные параметры

Параметр Описание Тип данных
from Начало временного окна поиска в формате ISO 8601. Если параметр не указан, используется текущий момент Строка
to Конец временного окна поиска в формате ISO 8601. Если указан, должен быть строго больше from Строка

Пример: Найти отсутствия двух сотрудников за июль и август 2026 года

  • Используется HTTP-метод POST.
  • Поиск отсутствий для пользователей username1 (отпуск в июле) и username2 (командировка в августе) за период с 1 июля по 31 августа 2026 года.
  • Результаты выводятся на первой странице по 20 пользователей.
POST /v3/gaps/_search?page=1&perPage=20
Host: api.tracker.yandex.net
Authorization: OAuth y0__xAbc******
X-Org-ID: 1234******

{
 "users": ["username1", "username2"],
 "from": "2026-07-01T00:00:00.000Z",
 "to": "2026-08-31T23:59:59.999Z"
}

Формат ответа

В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK.

Тело ответа содержит результаты в формате JSON. Каждый запрошенный пользователь присутствует в ответе; если у него нет отсутствий в заданном периоде, массив gaps будет пустым.

{
  "userGaps": [
    {
      "user": {
        "self": "https://api.tracker.yandex.net/v3/users/1234567890123456",
        "uid": 1234567890123456,
        "login": "username1",
        "trackerUid": 1234567890123456,
        "passportUid": 1234567890,
        "cloudUid": "ajehs6sinuiii1234567",
        "firstName": "Имя",
        "lastName": "Фамилия",
        "display": "Иван Иванов",
        "email": "username@example.com",
        "external": false,
        "dismissed": false,
        "firstLoginDate": "2024-01-10T10:15:47.272+0000",
        "lastLoginDate": "2026-07-23T08:11:01.861+0000",
        "sources": [
          "directory"
        ]
      },
      "gaps": [
        {
          "id": "68340a1f2b4c1a3d5e7f9011",
          "workflow": "vacation",
          "from": "2026-07-01T00:00:00.000+0000",
          "to": "2026-07-15T00:00:00.000+0000",
          "fullDay": true,
          "workInAbsence": false
        }
      ]
    },
    {
      "user": {
        "self": "https://api.tracker.yandex.net/v3/users/9876543210987654",
        "uid": 9876543210987654,
        "login": "username2",
        "trackerUid": 9876543210987654,
        "passportUid": 9876543210,
        "cloudUid": "ajehs6sinuiii9876543",
        "firstName": "Имя",
        "lastName": "Фамилия",
        "display": "Петр Петров",
        "email": "username@example.com",
        "external": false,
        "dismissed": false,
        "firstLoginDate": "2024-03-05T09:00:00.000+0000",
        "lastLoginDate": "2026-07-22T17:30:00.000+0000",
        "sources": [
          "directory"
        ]
      },
      "gaps": [
        {
          "id": "68340a1f2b4c1a3d5e7f9012",
          "workflow": "trip",
          "from": "2026-08-04T00:00:00.000+0000",
          "to": "2026-08-08T00:00:00.000+0000",
          "fullDay": true,
          "workInAbsence": false
        }
      ]
    }
  ],
  "hasMore": false
}
Параметры ответа
Параметр Описание Тип данных
userGaps Массив записей об отсутствии, сгруппированных по пользователям. Содержит по одному элементу для каждого запрошенного пользователя Массив объектов
hasMore Признак наличия следующей страницы результатов. Значение true означает, что есть еще страницы Логический

Поля объектов массива userGaps

Параметр Описание Тип данных
user Объект с информацией о пользователе Объект
gaps Массив записей об отсутствии пользователя в указанном периоде. Пустой, если нет совпадений Массив объектов

Поля объекта user

Параметр Описание Тип данных
self Адрес ресурса API, который содержит информацию о пользователе Строка
uid Уникальный идентификатор пользователя Число
login Логин пользователя Строка
trackerUid Идентификатор пользователя в Трекере Число
passportUid Уникальный идентификатор аккаунта пользователя в Яндекс ID Число
cloudUid Уникальный идентификатор пользователя в Yandex Identity Hub Строка
firstName Имя пользователя Строка
lastName Фамилия пользователя Строка
display Отображаемое имя пользователя Строка
email Адрес электронной почты пользователя Строка
external Признак внешнего пользователя Логический
dismissed Признак уволенного сотрудника Логический
firstLoginDate Дата и время первого входа пользователя в систему Строка
lastLoginDate Дата и время последнего входа пользователя в систему Строка
sources Источники данных пользователя. Возможные значения: directory — профиль получен из корпоративного каталога организации; tracker — пользователь добавлен напрямую в Трекере Массив строк

Поля объектов массива gaps

Параметр Описание Тип данных
id Идентификатор записи об отсутствии Строка
workflow Тип отсутствия. Возможные значения: vacation — отпуск, paid_day_off — оплачиваемый выходной, illness — болезнь, absence — отсутствие (общее), trip — командировка, conference_trip — поездка на конференцию, conference — конференция, learning — обучение, maternity — декрет, duty — дежурство. Актуальный список доступен через запрос GET /v3/gaps/workflows Строка
from Дата и время начала отсутствия в формате ISO 8601 Строка
to Дата и время окончания отсутствия в формате ISO 8601 Строка
fullDay Признак полного дня Логический
workInAbsence Признак работы во время отсутствия Логический

Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

401
Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
403
У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
422
Ошибка валидации JSON, запрос отклонен.

Код 422 возвращается в следующих случаях:

  • массив users пустой;
  • количество элементов в массиве users превышает 100;
  • значение from больше или равно to;
  • один из указанных пользователей не найден.