Перейти к основному содержимому
Версия: 7.13

API - Ресурсно-сервисная модель

Внимание

Для выполнения запроса к API необходима дополнительная авторизация.


Используйте в запросе заголовок Authorization: Bearer <персональный токен>.


Где получить персональный токен?

Получение доступных типов КЕ

GET /api/public/sm/v2/rsm/config-item-types

Запрос возвращает список моделей типов КЕ.

Получение доступных рабочих групп

GET /api/public/sm/v2/rsm/work-groups

Запрос возвращает список моделей рабочих групп.

Получение всех доступных КЕ

GET /api/public/sm/v2/rsm/config-items?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0

Запрос возвращает список моделей КЕ с минимальным набором атрибутов: идентификатор id и имя name.

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

Название параметраТип параметраОписание параметра
pagenumberНомер страницы
perPagenumberКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstring/nullСтрока поиска
sortColstring/nullНазвание поля, по которому выполняется сортировка
sortDirstring/nullНаправление сортировки (asc/desc)
skipnumberКоличество записей, которое требуется пропустить

Получение КЕ по идентификатору

GET /api/public/sm/v2/rsm/config-items/{id}?includeState=false&includeHealth=false

Запрос возвращает модель КЕ, запрошенной по идентификатору.

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

Название параметраТип параметраОписание параметра
includeStatebooleanВключить информацию по статусу КЕ
includeHealthbooleanВключить информацию по здоровью КЕ

Коды ответов

Код ответаОписание
400Неправильный идентификатор КЕ
403У вас недостаточно прав для чтения КЕ
404КЕ с идентификатором {id} не найдена

Получение списка КЕ по фильтру

POST /api/public/sm/v2/rsm/config-items/filter?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0

При успешном исполнении запроса возвращается список моделей КЕ, соответствующих условиям фильтра, с минимальным набором атрибутов: идентификатор id, имя name и словарь меток labels.

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

Название параметраТип параметраОписание параметра
pagenumberНомер страницы
perPagenumberКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstring/nullСтрока поиска
sortColstring/nullНазвание поля, по которому выполняется сортировка
sortDirstring/nullНаправление сортировки (asc/desc)
skipnumberКоличество записей, которое требуется пропустить

Тело запроса

{
"ids": [1, 2, 3],
"names": ["Sample CI 1", "Sample CI 2"],
"labels": {
"single_label": "value",
"multi_label": ["value_a", "value_b"],
"label_with_any_value": null
},
"stageCategories": ["Category1", "Category2"]

}

Поля тела запроса

Название поляТип поляОписание
idsnumber[] or nullСписок идентификаторов КЕ. Если null, то любые
namesstring[] or nullСписок названий КЕ. Если null, то любые
labelsobject or nullСловарь меток КЕ. Если null, то любые
stageCategoriesstring[] or nullСписок категорий стадии жизненного цикла. Если null, то любые
  • В искомых КЕ должны присутствовать все указанные метки. Если для метки указано одно или несколько значений, то в искомой КЕ должно присутствовать хотя бы одно из значений для данной метки. Если значение метки в фильтре null, фильтрация осуществляется только по названию метки.

  • Возможные значения категорий жизненного цикла КЕ stageCategories

    • Created - КЕ создана
    • Deleted - КЕ удалена
    • Active - Активная КЕ
    • Archive - Архивная КЕ

Получение списка КЕ по расширенному фильтру

POST /api/public/sm/v2/rsm/config-items/filter/extended?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0&fieldMask=id,name

При успешном исполнении запроса возвращается список расширенной модели КЕ, соответствующих условиям фильтра.

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

Название параметраТип параметраОписание параметра
pagenumberНомер страницы
perPagenumberКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstring/nullСтрока поиска
sortColstring/nullНазвание поля, по которому выполняется сортировка
sortDirstring/nullНаправление сортировки (asc/desc)
skipnumberКоличество записей, которое требуется пропустить
fieldMaskstringМаска полей
  • Маска полей - представляет собой строку с названиями полей модели, разделёнными запятой. В ответе запроса будут указаны только поля, которые указаны в маске. По умолчанию возвращается только id.

Тело запроса

{
"ids": [1, 2, 3],
"names": ["Sample CI 1", "Sample CI 2"],
"typeIds": [1, 2, 3],
"stageCategories": ["Category1", "Category2"],
"labels": {
"single_label": "value",
"multi_label": ["value_a", "value_b"],
"label_with_any_value": null
},
"ownerWorkGroupIds": [1, 2, 3]
}

Поля тела запроса

Название поляТип поляОписание
idsnumber[] or nullСписок идентификаторов КЕ. Если null, то любые
namesstring[] or nullСписок названий КЕ. Если null, то любые
typeIdsnumber[] or nullСписок идентификаторов типов КЕ. Если null, то любые
stageCategoriesstring[] or nullСписок категорий стадии жизненного цикла. Если null, то любые
labelsobject or nullСловарь меток КЕ. Если null, то любые
ownerWorkGroupIdsnumber[] or nullСписок идентификаторов рабочих групп-владельцев. Если null, то любые
  • В искомых КЕ должны присутствовать все указанные метки. Если для метки указано одно или несколько значений, то в искомой КЕ должно присутствовать хотя бы одно из значений для данной метки. Если значение метки в фильтре null, фильтрация осуществляется только по названию метки.

  • Возможные значения категорий жизненного цикла КЕ stageCategories

    • "Created" - КЕ создана
    • "Deleted" - КЕ удалена
    • "Active" - Активная КЕ
    • "Archive" - Архивная КЕ

Получение списка КЕ по идентификаторам

GET /api/public/sm/v2/rsm/config-items/batch?includeState=false&includeHealth=false

При успешном исполнении запроса возвращается список моделей КЕ.

В случае возникновения ошибки при получении отдельной КЕ, модель этой КЕ будет отсутствовать в результирующем списке. Если возникли ошибки при получении всех КЕ, запрос вернет пустой список.

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

Название параметраТип параметраОписание параметра
includeStatebooleanВключить информацию по статусу КЕ
includeHealthbooleanВключить информацию по здоровью КЕ

Тело запроса

[1,2,3]

Поля тела запроса

Название поляТип поляОписание
idsnumber[]Список идентификаторов КЕ

Коды ответов

Код ответаОписание
400Список идентификаторов КЕ пустой

Получение КЕ по уникальным ключам атрибутов

POST /api/public/sm/v2/rsm/config-items/attributes/unique-keys

При успешном исполнении запроса возвращается модель КЕ, полученной по уникальным ключам атрибутов.

Тело запроса


{
"configItemTypeId": 0,
"attributes": {
"prop1": "value1",
"prop2": "value2"
}
}

Поля тела запроса

Название поляТип поляОписание
configItemTypeIdnumberИдентификатор типа КЕ
attributesobjectКлючевые атрибуты КЕ

Коды ответов

Код ответаОписание
403Недостаточно прав для получения информации о КЕ
404КЕ не найдена

Создание КЕ

POST /api/public/sm/v2/rsm/config-items

Запрос возвращает модель созданной КЕ.

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

Название параметраТип параметраОписание
makeNameUniquebooleanСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

{
"name": "Name",
"description": "Description",
"parent": {
"id": 0
},
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"sharedToWorkGroups": [{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-read"]
}]
}

Поля тела запроса

Название поляТип поляОписание поля
namestringНаименование КЕ
descriptionstringОписание КЕ
parent{ id: number } / nullИдентификатор родительской КЕ, с которой требуется установить связь при создании КЕ. Если указан null или 0, то КЕ будет создана как корневой элемент
configItemType{ id: number } / nullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: number } / nullРабочая группа-владелец КЕ. Если указан идентификатор родительской КЕ, то РГ-владелец будет установлен такой же, как и у этой КЕ
labelsobject / nullСловарь меток КЕ
sharedToWorkGroupsobject[]Список моделей предоставления прав для конкретных рабочих групп

Тип предоставляемых прав

Предоставляемые рабочим группам права

Коды ответов

Код ответаОписание
201КЕ успешно создана
400Пустое тело запроса
400Неверная модель данных в теле запроса
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с идентификатором {id} уже в CMDB
400Родительская КЕ с идентификатором {id} не существует в CMDB
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
400Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам
403Недостаточно прав для добавления КЕ в РГ
404Рабочая группа с идентификатором {id} не найдена

Возможна ситуация, при которой КЕ может быть успешно создана, однако если в запросе было так же указано предоставление доступа к КЕ другим РГ с некорректными правами, то доступ к КЕ не буден предоставлен другим РГ. Будет получено сообщение: "Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам."

Пакетное создание нескольких КЕ

POST /api/public/sm/v2/rsm/config-items/batch?makeNamesUnique=false

Запрос возвращает список моделей созданных КЕ.

В случае возникновения ошибки при создании отдельной КЕ, модель этой КЕ будет отсутствовать в результирующем списке.

Если возникли ошибки при создании всех КЕ, запрос вернет пустой список.

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

Название параметраТип параметраОписание
makeNameUniquebooleanСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

[{
"name": "Name",
"description": "Description",
"parent": {
"id": 0
},
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"sharedToWorkGroups": [{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-read"]
}]
}]

Поля тела запроса

Название поляТип поляОписание поля
namestringНаименование КЕ
descriptionstringОписание КЕ
parent{ id: number } / nullИдентификатор родительской КЕ, с которой требуется установить связь при создании КЕ. Если указан null или 0, то КЕ будет создана как корневой элемент
configItemType{ id: number } / nullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: number } / nullРабочая группа-владелец КЕ. Если указан идентификатор родительской КЕ, то РГ-владелец будет установлен такой же, как и у этой КЕ
labelsobject / nullСловарь меток КЕ
sharedToWorkGroupsobject[]Список моделей предоставления прав для конкретных рабочих групп

Тип предоставляемых прав

Предоставляемые рабочим группам права

Коды ответов

Код ответаОписание
201КЕ успешно создана
400Пустое тело запроса
400Неверная модель данных в теле запроса
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с идентификатором {id} уже в CMDB
400Родительская КЕ с идентификатором {id} не существует в CMDB
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
400Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам
403Недостаточно прав для добавления КЕ в РГ
404Рабочая группа с идентификатором {id} не найдена

Возможна ситуация, при которой КЕ может быть успешно создана, однако если в запросе было так же указано предоставление доступа к КЕ другим РГ с некорректными правами, то доступ к КЕ не буден предоставлен другим РГ. Будет получено сообщение: "Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам."

Удаление КЕ

DELETE /api/public/sm/v2/rsm/config-items/{id}?applyGrants=false

{id} – идентификатор удаляемой КЕ.

При успешном исполнении запроса возвращается пустой ответ.

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

Название параметраТип параметраОписание параметра
applyGrantsbooleanЕсли задано true – применить настройки доступа к подчинённым КЕ. По умолчанию – false

Коды ответов

Код ответаОписание
204КЕ успешно удалена
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для удаления КЕ
404КЕ с идентификатором {id} не найдена

Массовое удаление КЕ

DELETE /api/public/sm/v2/rsm/config-items/batch?applyGrants=false

Тело запроса

[1, 2, 3]

При успешном исполнении запроса возвращается пустой ответ.

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

Название параметраТип параметраОписание параметра
applyGrantsbooleanЕсли задано true – применить настройки доступа к подчинённым КЕ. По умолчанию – false

Коды ответов

Код ответаОписание
204КЕ успешно удалена
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для удаления КЕ
404КЕ с идентификатором {id} не найдена

Изменение основной информации КЕ

PUT /api/public/sm/v2/rsm/config-items/{id}?makeNameUnique=false

{id} – идентификатор обновляемой КЕ.

Запрос возвращает модель обновлённой КЕ.

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

Название параметраТип параметраОписание
makeNameUniquebooleanСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

{
"name": "Name",
"description": "Description",
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}

Поля тела запроса

Название поляТип поля
namestringНаименование КЕ
descriptionstringОписание КЕ
configItemType{ id: number } / nullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: number } / nullРабочая группа-владелец КЕ
labelsobject / nullСловарь меток КЕ

Коды ответов

Код ответаОписание
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
403Недостаточно прав для обновления КЕ
404КЕ с идентификатором {id} не найдена
404Рабочая группа с идентификатором {id} не найдена

Изменение основной части информации нескольких КЕ

PATCH /api/public/sm/v2/rsm/config-items/batch?makeNamesUnique=false

Запрос возвращает список моделей обновлённых КЕ.

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

Название параметраТип параметраОписание
makeNameUniquebooleanСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

[{
"id": 0,
"name": "Name",
"configItemType": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}]

Поля тела запроса

Название поляТип поля
idnumberИдентификатор КЕ
namestringНаименование КЕ. Если null, то изменений не последует
configItemType{ id: number } / nullТип КЕ. Если null, то изменений не последует
labelsobject / nullСловарь меток КЕ. Если null, то изменений не последует

Коды ответов

Код ответаОписание
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
403Недостаточно прав для обновления КЕ
404КЕ с идентификатором {id} не найдена
404Рабочая группа с идентификатором {id} не найдена

Предоставление доступа к КЕ

POST /api/public/sm/v2/rsm/config-items/{id}/work-groups

{id} – идентификатор КЕ.

Запрос возвращает модель обновлённой КЕ.

Тело запроса

{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-basic-read"]
}

Поля тела запроса

Название поляТип поляОписание поля
workGroupIdnumberИдентификатор рабочей группы. 0 – все рабочие группы, включая будущие
shareTypestringТип предоставляемых прав
grantsstring[]Предоставляемые рабочим группам права

Коды ответов

Код ответаОписание
400Требуется указать список предоставляемых прав
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400Правило доступа уже установлено
403Недостаточно прав для предоставления доступа к КЕ
404КЕ с идентификатором {id} не найдена
404Рабочая группа с идентификатором {id} не найдена

Обновление предоставления доступа к КЕ

PUT /api/public/sm/v2/rsm/config-items/{id}/work-groups/{sharedId}

{id} – идентификатор КЕ.

{sharedId} - идентификатор модели предоставления доступа к КЕ.

Запрос возвращает модель обновлённой КЕ.

Тело запроса

{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-basic-read"]
}

Поля тела запроса

Название поляТип поляОписание поля
idnumberИдентификатора модели предоставления доступа к КЕ
shareTypestringТип предоставляемых прав
grantsstring[]Предоставляемые рабочим группам права

Коды ответов

Код ответаОписание
400Требуется указать идентификатор рабочей группы
400Требуется указать список предоставляемых прав
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора модели предоставления доступа к КЕ
401Не удалось выполнить авторизацию пользователя
403Недостаточно прав для обновления предоставленного доступа к КЕ
404КЕ с идентификатором {id} не найдена
404Модель предоставления доступа к КЕ с идентификатором{id} не найдена

Удаление предоставления доступа к КЕ

DELETE /api/public/sm/v2/rsm/config-items/{id}/work-groups/{sharedId}

{id} – идентификатор КЕ.

{sharedId} – идентификатор модели предоставления доступа к КЕ.

Запрос возвращает модель обновлённой КЕ.

Коды ответов

Код ответаОписание
204Запрос успешно исполнен
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора модели предоставления доступа к КЕ
403Недостаточно прав для удаления предоставления доступа к КЕ
404КЕ с идентификатором {id} не найдена
404Модель предоставления доступа к КЕ с идентификатором {id} не найдена

Создание связи подчинения между КЕ

POST /api/public/sm/v2/rsm/config-items/{parentId}/children

{parentId} – идентификатор родительской КЕ.

Запрос возвращает модель подчинённой КЕ.

Тело запроса

В теле запроса передаётся идентификатор подчинённой КЕ.

{
"id": 0
}

Коды ответа

Код ответаОписание
400Неверная модель данных в теле запроса
400Недопустимое значение идентификатора КЕ
400Нельзя устанавливать связи подчинения между КЕ, принадлежащих разным рабочим группам
403Недостаточно прав для управления родительской КЕ
404Родительская КЕ с идентификатором {id} не найдена
404Дочерняя КЕ с идентификатором {id} не найдена
415Неправильный тип входных данных. Требуется указать тип: application/json

Создание связи влияния между КЕ

POST /api/public/sm/v2/rsm/config-items/{dependentId}/influentials

{dependentId} – идентификатор зависимой КЕ.

Запрос возвращает обновлённый список моделей влияющих КЕ с минимальным набором атрибутов: идентификатор {id} и имя {name}.

Тело запроса

В теле запроса передаётся идентификатор влияющей КЕ.

{
"id": 0
}

Коды ответа

Код ответаОписание
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для управления зависимой КЕ
403Недостаточно прав для управления влияющей КЕ
404Зависимая КЕ с идентификатором {id} не найдена
404Влияющая КЕ с идентификатором {id} не найдена

Удаление связи подчинения между КЕ

DELETE /api/public/sm/v2/rsm/config-items/{parentId}/children/{childId}

{parentId} – идентификатор родительской КЕ

{childId} – идентификатор подчинённой КЕ.

Запрос возвращает модель ранее подчинённой КЕ.

Коды ответа

Код ответаОписание
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для управления родительской КЕ
404Родительская КЕ с идентификатором {id} не найдена
404Дочерняя КЕ с идентификатором {id} не найдена

Удаление связи влияния между КЕ

DELETE /api/public/sm/v2/rsm/config-items/{dependentId}/influentials/{influentialId}

{dependentId} – идентификатор зависимой КЕ

{influentialId} – идентификатор влияющей КЕ.

Запрос возвращает обновлённый список моделей влияющих КЕ с минимальным набором атрибутов: идентификатор {id} и имя {name}.

Коды ответа

Код ответаОписание
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для управления зависимой КЕ
403Недостаточно прав для управления влияющей КЕ
404Зависимая КЕ с идентификатором {id} не найдена
404Влияющая КЕ с идентификатором {id} не найдена

Пакетное создание нескольких связей между КЕ

POST /api/public/sm/v2/rsm/config-item-edges/batch

Запрос возвращает список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"type":"Hierarchy"
},
{
"sourceId":2,
"targetId":3,
"type":"Influence"
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи

Пакетное обновление нескольких связей между КЕ

PUT /api/public/sm/v2/rsm/config-item-edges/batch

Запрос возвращает обновлённый список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"type":"Hierarchy",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
},
{
"sourceId":2,
"targetId":3,
"type":"Influence",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
},
{
"sourceId":4,
"targetId":5,
"type":"Info",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи
labelsobjectМетки связей

Пакетное частичное обновление нескольких связей между КЕ

PATCH /api/public/sm/v2/rsm/config-item-edges/batch

Запрос возвращает обновлённый список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"type":"Hierarchy",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
},
{
"sourceId":2,
"targetId":3,
"type":"Influence",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
},
{
"sourceId":4,
"targetId":5,
"type":"Info",
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи
labelsobjectМетки связей

Пакетное удаление нескольких связей между КЕ

DELETE /api/public/sm/v2/rsm/config-item-edges/batch

При успешном исполнении запроса возвращается пустой ответ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"type":"Hierarchy"
},
{
"sourceId":2,
"targetId":3,
"type":"Influence"
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи

Пакетное создание нескольких связей влияния между КЕ

POST /api/public/sm/v2/rsm/config-item-edges/influence/batch

Запрос возвращает список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
},
{
"sourceId":2,
"targetId":3,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": null
},
{
"sourceId":4,
"targetId":5,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи
labelsobjectМетки
healthobjectНастройки влияния на здоровье КЕ
componentNamestringНазвание компонента зависимой КЕ

Пакетное обновление нескольких связей влияния между КЕ

PUT /api/public/sm/v2/rsm/config-item-edges/influence/batch

Запрос возвращает список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
},
{
"sourceId":2,
"targetId":3,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": null
},
{
"sourceId":4,
"targetId":5,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи
labelsobjectМетки
healthobjectНастройки влияния на здоровье КЕ
componentNamestringНазвание компонента зависимой КЕ

Пакетное частичное обновление нескольких связей влияния между КЕ

PATCH /api/public/sm/v2/rsm/config-item-edges/influence/batch

Запрос возвращает список моделей связей между КЕ.

Тело запроса

[
{
"sourceId":0,
"targetId":1,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
},
{
"sourceId":2,
"targetId":3,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": null
},
{
"sourceId":4,
"targetId":5,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"componentName": "Common"
}
]

Поля тела запроса

Название поляТип поляОписание поля
sourceIdnumberИдентификатор исходной КЕ
targetIDnumberИдентификатор целевой КЕ
typestringТип связи
labelsobjectМетки
healthobjectНастройки влияния на здоровье КЕ
componentNamestringНазвание компонента зависимой КЕ

Управление стадией жизненного цикла КЕ по категории стадии ЖЦ

POST /api/public/sm/v2/rsm/config-items/{id}/stages

{id} – идентификатор КЕ.

Тело запроса

{
"category": "Category",
"settings": {
"applyGrants": false
}
}

Коды ответа

Код ответаОписание
400Стадия КЕ Deleted, переход на другую стадию жизненного цикла невозможен
400Жизненный цикл КЕ не содержит стадию, указанную для перевода
400Перевести КЕ из текущей стадии на указанную стадию невозможно
400Невозможно перевести КЕ из текущей стадии на стадию указанной категории
403Недостаточно прав для изменения КЕ
403Недостаточно прав для управления влияющей КЕ
404КЕ с идентификатором {id} не найдена

Управление стадиями жизненного цикла нескольких КЕ по категории стадии ЖЦ

POST /api/public/sm/v2/rsm/config-items/stages/category/batch

Тело запроса


[
{
"configItemId": 1,
"category": "Created",
"settings": {
"applyGrants": false
}
},
{
"configItemId": 2,
"category": "Active",
"settings": {
"applyGrants": true
}
}
]

Коды ответа

Код ответаОписание
400Стадия КЕ Deleted, переход на другую стадию жизненного цикла невозможен
400Жизненный цикл КЕ не содержит стадию, указанную для перевода
400Перевести КЕ из текущей стадии на указанную стадию невозможно
400Невозможно перевести КЕ из текущей стадии на стадию указанной категории
403Недостаточно прав для изменения КЕ
403Недостаточно прав для управления влияющей КЕ
404КЕ с идентификатором {id} не найдена

Обновление компонента КЕ

PUT /api/public/sm/v2/rsm/config-items/components

Запрос возвращает модель обновленного компонента КЕ.

Тело запроса

{
"configItemId": 0,
"name": "name",
"signalHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"edgeHealth": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"configItemHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"comboHealth": {
"enabled": false,
"count": 1,
"threshold": 3,
"countType" "Static"
}
}

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
namestringНазвание компонента
signalHealthobjectПараметры для расчёта здоровья по сигналу
edgeHealthobjectПараметры расчёта здоровья по связи влияния
configItemHealthobjectПараметры расчёта здоровья на КЕ
comboHealthobjectПараметры расчёта здоровья через комбо-влияние

Коды ответа

Код ответаОписание
403Недостаточно прав для изменения КЕ
404Не найдена КЕ, связанная с компонентом
404Компонент не найден

Пакетное обновление компонентов КЕ

PUT /api/public/sm/v2/rsm/config-items/components/batch

Запрос возвращает список моделей обновленных компонентов КЕ.

Тело запроса

[{
"configItemId": 0,
"name": "name",
"signalHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"edgeHealth": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"configItemHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"comboHealth": {
"enabled": false,
"count": 1
"threshold": 3,
"countType": "Static"
}
}]

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
namestringНазвание компонента
signalHealthobjectПараметры для расчёта здоровья по сигналу
edgeHealthobjectПараметры расчёта здоровья по связи влияния
configItemHealthobjectПараметры расчёта здоровья на КЕ
comboHealthobjectПараметры расчёта здоровья через комбо-влияние

Коды ответа

Код ответаОписание
403Недостаточно прав для изменения КЕ
404Не найдена КЕ, связанная с компонентом
404Компонент не найден

Частичное обновление компонента КЕ

PATCH /api/public/sm/v2/rsm/config-items/components

Запрос возвращает модель обновленного компонента КЕ.

Тело запроса

{
"configItemId": 0,
"name": "name",
"signalHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"edgeHealth": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"configItemHealth": null,
"comboHealth": {
"enabled": false,
"count": 1,
"threshold": 3,
"countType": "Static"
}
}

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
namestringНазвание компонента
signalHealthobject / nullПараметры для расчёта здоровья по сигналу
edgeHealthobject / nullПараметры расчёта здоровья по связи влияния
configItemHealthobject / nullПараметры расчёта здоровья на КЕ
comboHealthobject / nullПараметры расчёта здоровья через комбо-влияние

Коды ответа

Код ответаОписание
403Недостаточно прав для изменения КЕ
404Не найдена КЕ, связанная с компонентом
404Компонент не найден

Пакетное частичное обновление компонентов КЕ

PATCH /api/public/sm/v2/rsm/config-items/components/batch

Запрос возвращает список моделей обновленных компонентов КЕ.

Тело запроса

[{
"configItemId": 0,
"name": "name",
"signalHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"edgeHealth": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"configItemHealth": {
"type": "Weight",
"weight": 100,
"threshold": 100
},
"comboHealth": {
"enabled": false,
"count": 1
"threshold": 3,
"countType": "Static"
}
}]

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
namestringНазвание компонента
signalHealthobject / nullПараметры для расчёта здоровья по сигналу
edgeHealthobject / nullПараметры расчёта здоровья по связи влияния
configItemHealthobject / nullПараметры расчёта здоровья на КЕ
comboHealthobject / nullПараметры расчёта здоровья через комбо-влияние

Коды ответа

Код ответаОписание
403Недостаточно прав для изменения КЕ
404Не найдена КЕ, связанная с компонентом
404Компонент не найден

Получение атрибутов КЕ по фильтру

POST /api/public/sm/v2/rsm/config-items/attributes/filter

Возвращает список моделей атрибутов КЕ.

Тело запроса

{
"ids": [1, 2, 3],
"keyValues": [{
"key": "key1",
"values": [{
"prop1": "value1",
"prop2": "value2"
}]
}]
}

Поля тела запроса

Название поляТип поляОписание поля
idsnumber[] / nullСписок идентификаторов КЕ. Если null, то любые
keyValuesobject[] / nullСписок фильтров по паре ключ-значение, объединяемых логическим И

Коды ответа

Код ответаОписание
200Запрос успешно исполнен
401Не удалось выполнить авторизацию пользователя
500Непредвиденная ошибка при обработке запроса

Создание атрибута КЕ

POST /api/public/sm/v2/rsm/config-items/{id}/attributes

{id} – идентификатор КЕ.

При успешном выполнении запроса возвращается модель атрибута КЕ.

Тело запроса

{
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
}

Коды ответа

Код ответаОписание
400Ключ {key} уже определён
400Ключ {key} не разрешен
403Нет прав для создания атрибута КЕ

Создание атрибута КЕ пакетно

POST /api/public/sm/v2/rsm/config-items/attributes/batch

При успешном выполнении запроса возвращается список моделей атрибутов КЕ.

Тело запроса

[
{
"configItemId": 1,
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
},
{
"configItemId": 2,
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
}
]

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
keystringКлюч атрибута
valueobjectЗначение атрибута

Коды ответа

Код ответаОписание
400Ключ {key} уже определён
400Ключ {key} не разрешен
403Нет прав для создания атрибута КЕ

Обновление атрибута КЕ

PUT /api/public/sm/v2/rsm/config-items/{id}/attributes

{id} – идентификатор КЕ.

При успешном выполнении запроса возвращается модель атрибута КЕ.

Тело запроса

{
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
}

Коды ответа

Код ответаОписание
400Ключ {key} уже определён
403Нет прав для создания атрибута КЕ
404Атрибут КЕ с ключом {key} не найден

Обновление атрибута КЕ пакетно

PUT /api/public/sm/v2/rsm/config-items/attributes/batch

При успешном выполнении запроса возвращается список обновленных моделей атрибутов КЕ.

Тело запроса

[
{
"configItemId": 1,
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
},
{
"configItemId": 2,
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
}
}
]

Поля тела запроса

Название поляТип поляОписание поля
configItemIdnumberИдентификатор КЕ
keystringКлюч атрибута
valueobjectЗначение атрибута

Коды ответа

Код ответаОписание
400Ключ {key} уже определён
400Ключ {key} не разрешен
403Нет прав для создания атрибута КЕ

Приложение

Модель стадии жизненного цикла КЕ

{
"id": 0,
"name": "Name",
"description": "Description",
"category": "Category",
"userspaceId": 0
}

Модель типа КЕ

{
"id": 0,
"name": "Name",
"description": "Description"
}

Модель рабочей группы

{
"id": 0,
"name": "Name"
}

Модель КЕ

{
"id": 0,
"name": "Name",
"description": "Description",
"parent": {
"id": 0
"name": "Name"
},
"ownerWorkGroup": {
"id": 0,
"name": "Name"
},
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description",
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"entityInfo": {
"createdAt": "0000-00-00T00:00:00.000Z",
"createdBy": 0,
"createdByName": "Name",
"updatedAt": "0000-00-00T00:00:00.000Z",
"updatedBy": 0,
"updatedByName": "Name",
},
"state": {
"value": "Unknown",
"valueUnderMaintenance": "Unknown",
"Timestamp": "0000-00-00T00:00:00.000Z"
},
"healthStatus": {
"value": 0,
"timestamp": "0000-00-00T00:00:00.000Z",
"calculation": {
"resultBy": "Direct",
"direct": 0,
"weight": 0
}
},
"healthInfluence": {
"value": 0,
"maxInfluence": false
},
"incomingEdges": [{
"type": "Hierarchy",
"configItem": {
"id": 0,
"name": "Name"
}
}],
"outgoingEdges": [{
"type": "Hierarchy",
"configItem": {
"id": 0,
"name": "Name"
}
}],
"sharedToWorkGroups": [{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-basic-read"]
}],
"stage": {
"id": 0,
"name": "Name",
"description": "Description",
"category": "Category",
"userspaceId": 0
}
}

Поля модели КЕ

Название поляТип поляОписание поля
idnumberИдентификатор КЕ
namestringНаименование КЕ
descriptionstringОписание КЕ
parentobject / nullРодительская КЕ. null, если КЕ является корневой
ownerWorkGroupobjectРабочая группа-владелец КЕ
configItemTypeobjectТип КЕ
labelsobject / nullСловарь меток КЕ
entityInfoobjectМета-информация по сущности
stateobject / nullТекущий статус КЕ. Выводится при наличии значения
healthStatusobject / nullРассчитанное здоровье. Выводится при наличии значения
healthInfluenceobject / nullИнформация о влиянии на здоровье КЕ. Выводится при наличии значения
cmdbSystemobject / nullМодель внешней CMDB системы, на базе которой создана КЕ. Выводится при наличии значения
incomingEdgesobject[]Входящие связи с другими КЕ
outgoingEdgesobject[]Исходящие связи с другими КЕ
sharedToWorkGroupsobject[]Список моделей предоставления прав для конкретных рабочих групп
stageobjectСтадия жизненного цикла КЕ

Расширенная модель КЕ

{
"id": 0,
"name": "Name",
"description": "Description",
"createdAt": "0000-00-00T00:00:00.000Z",
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description"
},
"stage": {
"id": 0,
"name": "Name",
"description": "Description",
"category": "Category",
"userspaceId": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"attributes": {
"attribute_a_name": "attribute_value",
"attribute_b_name": [1, 2],
"attribute_c_name": null
},
"ownerWorkGroup": {
"id": 0,
"name": "Name"
},
"sharedToWorkGroups": [{
"id": 0,
"workGroup": {
"id": 0,
"name": "Name"
},
"shareType": "ConfigItem",
"grants": ["base-system.rsm.config-items-basic-read"],
"isSharedToAll": false,
"treeSharedBy": {
"id": 0,
"name": "Name"
}
}],
"parent": {
"id": 0,
"name": "Name",
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description"
}
},
"dependents": [{
"id": 0,
"name": "Name",
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description"
}
}],
"influentials": [{
"id": 0,
"name": "Name",
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description"
}
}],
"children": [{
"id": 0,
"name": "Name",
"configItemType": {
"id": 0,
"name": "Name",
"description": "Description"
}
}],
"state": {
"value": "Unknown",
"valueUnderMaintenance": "Unknown",
"timestamp": "0000-00-00T00:00:00.000Z"
},
"healthStatus": {
"value": 0,
"timestamp": "0000-00-00T00:00:00.000Z",
"calculation": {
"resultBy": "Direct",
"direct": 0,
"weight": 0
}
}
}

Поля расширенной модели КЕ

Название поляТип поляОписание поля
idnumberИдентификатор КЕ
namestringНаименование КЕ
descriptionstringОписание КЕ
createdAtdateДата создания КЕ
configItemTypeobjectТип КЕ
stageobjectСтадия жизненного цикла КЕ
labelsobject / nullСловарь меток КЕ
attributesobjectАтрибуты КЕ
ownerWorkGroupobjectРабочая группа-владелец КЕ
sharedToWorkGroupsobject[]Список моделей предоставления прав для конкретных рабочих групп
parentobject / nullРодительская КЕ. null, если КЕ является корневой
dependentsobject[]/ nullЗависимые КЕ
influentialsobject[]/ nullВлияющие КЕ
childrenobject[]/ nullПодчиненные КЕ
stateobjectТекущий статус КЕ. Выводится при наличии значения
healthStatusobjectРассчитанное здоровье. Выводится при наличии значения

Тип предоставления прав

ТипОписание
ConfigItemПредоставить права доступа только для КЕ
TreeПредоставить права доступа для КЕ и подчинённого ей дерева
ChildrenTreeПредоставить права доступа только для подчинённого данной КЕ дерева

Предоставляемые рабочим группам права

ПравоОписание
base-system.rsm.config-items-basic-readПраво на чтение базовой информации
base-system.rsm.config-items-monitoring-readПраво на чтение привязок КЕ
base-system.rsm.config-items-readПраво на полное чтение КЕ
base-system.rsm.config-items-writeПраво на управление КЕ

Модель фильтра атрибутов по паре ключ-значение

{
"key": "key1",
"values": [1, "string", { "prop": "value" }]
}

Поля модели фильтра атрибутов по паре ключ-значение

Название поляТип поляОписание поля
keystringКлюч атрибута
valuesobject[]Список вхождений в значение атрибута, объединяемых логическим ИЛИ

Модель атрибута КЕ

{
"id": 0,
"sourceType": "ConfigItem",
"sourceId": 0,
"key": "key1",
"value": {
"prop1": "value1",
"prop2": "value2"
},
"isArray": false,
"structFullName": "System.String"
}

Поля модели атрибута КЕ

Название поляТип поляОписание поля
idnumberИдентификатор атрибута
sourceTypestringТип источника атрибута (КЕ, тип КЕ, пространство, система)
sourceIdnumberИдентификатор источника атрибута
keystringКлюч атрибута
valueobject / nullЗначение атрибута
isArraybooleanЯвляется ли значение массивом
structFullNamestringПолное имя структуры

Модель связей между КЕ

[{
"id": 0,
"type": "Hierarchy",
"sourceId": 0,
"targetId": 1
},
{
"id": 1,
"type": "Influence",
"sourceId": 2,
"targetId": 3
}]

Поля списочной модели связи между КЕ

Название поляТип поляОписание поля
idnumberИдентификатор атрибута
typestringТип связи
sourceIdnumberИдентификатор исходной КЕ
targetIdnumberИдентификатор целевой КЕ

Модель связи влияния между КЕ

{
"id": 0,
"sourceId": 0,
"targetId": 1,
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"health": {
"type": "Direct",
"weight": 100,
"threshold": 100
},
"component": {
"id": 75,
"name": "Component_02"
}
}

Поля модели связи влияния между КЕ

Название поляТип поляОписание поля
idnumberИдентификатор атрибута
typestringТип связи
sourceIdnumberИдентификатор исходной КЕ
targetIdnumberИдентификатор целевой КЕ
labelsobjectМетки связи
healthobjectНастройки влияния на здоровье КЕ
componentobjectСокращенная модель компонента целевой КЕ

Модель настроек влияния на здоровье

  "type": "Direct",
"weight": 100,
"threshold": 100

Поля модели настроек влияния на здоровье

Название поляТип поляОписание поля
typestringТип влияния на здоровье: Direct (прямое)/ Weight (весовое)
weightnumberВес (от 0 до 100)
thresholdnumberПорог расчёта по критическому фактору

Модель компонента КЕ

{
"id": 0,
"name": "name",
"isDefault": false,
"signalHealth": {},
"edgeHealth": {},
"configItemHealth": {},
"comboHealth": {},
"configItemId": 0
}

Поля модели компонента КЕ

Название поляТип поляОписание поля
idnumberИдентификатор атрибута
namestringТип связи
isDefaultbooleanФлаг компонента по умолчанию
signalHealthobjectПараметры для расчёта здоровья по сигналу
edgeHealthobjectПараметры расчёта здоровья по связи влияния
configItemHealthobjectПараметры расчёта здоровья на КЕ
comboHealthobjectПараметры расчёта здоровья через комбо-влияние
configItemIdnumberИдентификатор КЕ

Типы связей КЕ

НазваниеОписание
HierarchyИерархическая связь (связь подчинения)
InfluenceСвязь влияния
InfoИнформационная связь