Создать отсутствия сотрудников

Запрос позволяет создать записи об отсутствии сотрудников (отпуска, больничные, дежурства и другие). Отсутствия отображаются на аватарках пользователей и на диаграмме ресурсов в портфелях и проектах.

POST

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

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

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

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

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

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

{
  "gaps": [
    {
      "id": "<идентификатор_отсутствия>",
      "user": "<логин_пользователя>",
      "workflow": "<тип_отсутствия>",
      "from": "<дата_начала>",
      "to": "<дата_окончания>",
      "fullDay": true,
      "workInAbsence": false
    }
  ]
}
Заголовки
  • 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.

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

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

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

Параметр Описание Тип данных
gaps Массив записей об отсутствии. Максимальное количество элементов — 100 Массив объектов

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

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

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

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

Параметр Описание Тип данных
id Идентификатор отсутствия. Если не передан, генерируется автоматически. Максимальная длина — 128 символов Строка
fullDay Признак полного дня. По умолчанию — false Логический
workInAbsence Признак работы во время отсутствия. По умолчанию — false Логический

Пример: Создать два отсутствия для разных пользователей

  • Используется HTTP-метод POST.
  • Для пользователя username1 создается отпуск с 1 по 15 июля 2026 года на полный день с явно указанным идентификатором 68340a1f2b4c1a3d5e7f9011.
  • Для пользователя username2 создается командировка с 10 по 20 июля 2026 года, идентификатор будет сгенерирован автоматически.
POST /v3/gaps
Host: api.tracker.yandex.net
Authorization: OAuth y0__xAbc******
X-Org-ID: 1234******

{
 "gaps": [
   {
     "id": "68340a1f2b4c1a3d5e7f9011",
     "user": "username1",
     "workflow": "vacation",
     "from": "2026-07-01T00:00:00.000Z",
     "to": "2026-07-15T00:00:00.000Z",
     "fullDay": true,
     "workInAbsence": false
   },
   {
     "user": "username2",
     "workflow": "trip",
     "from": "2026-07-10T00:00:00.000Z",
     "to": "2026-07-20T00:00:00.000Z"
   }
 ]
}

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

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

Тело ответа содержит результаты в формате JSON. Возвращаются только фактически сохраненные записи (устаревшие записи не включаются).

{
  "gaps": [
    {
      "id": "68340a1f2b4c1a3d5e7f9011",
      "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-04-10T10:15:47.272+0000",
        "lastLoginDate": "2026-07-23T08:11:01.861+0000",
        "sources": [
          "directory"
        ]
      },
      "workflow": "vacation",
      "from": "2026-07-01T00:00:00.000+0000",
      "to": "2026-07-15T00:00:00.000+0000",
      "fullDay": true,
      "workInAbsence": false
    },
    {
      "id": "68340a1f2b4c1a3d5e7f9012",
      "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"
        ]
      },
      "workflow": "trip",
      "from": "2026-07-10T00:00:00.000+0000",
      "to": "2026-07-20T00:00:00.000+0000",
      "fullDay": false,
      "workInAbsence": false
    }
  ]
}
Параметры ответа
Параметр Описание Тип данных
gaps Массив сохраненных записей об отсутствии Массив объектов

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

Параметр Описание Тип данных
id Идентификатор записи об отсутствии Строка
user Объект с информацией о пользователе Объект
workflow Тип отсутствия Строка
from Дата и время начала отсутствия в формате ISO 8601 Строка
to Дата и время окончания отсутствия в формате ISO 8601 Строка
fullDay Признак полного дня Логический
workInAbsence Признак работы во время отсутствия Логический

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

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

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

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

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

  • в запросе есть дублирующиеся значения id;
  • значение from больше или равно to;
  • пользователь не найден;
  • количество элементов в массиве gaps превышает 100.
500
Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.