---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
alternate:
  - https://yandex.ru/dev/dialogs/smart-home/doc/en/reference/get-devices.md
  - https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices.md
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/llms.txt?revision=r21995741
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/dialogs/smart-home/doc/ru/llms.txt?revision=r21995741

# Информация об устройствах пользователя

<!-- source: ru/_includes/reusables/neuroexpert-button.md -->



<!-- endsource: ru/_includes/reusables/neuroexpert-button.md -->


Запрашивает информацию о поддерживаемых устройствах пользователя.

Платформа умного дома отправит провайдеру текущий запрос при выполнении условий:

- Аккаунты на Яндексе и на стороне провайдера [связаны](https://yandex.ru/dev/dialogs/smart-home/doc/ru/auth/when-to-use.md).
- Пользователь зашел в приложение [![](../_images/smart-home-app.svg) Дом с Алисой](https://alice.yandex.ru/smart-home)&nbsp;→ ![Плюс](../_images/plus.svg)&nbsp;→ **Устройство умного дома** и напротив названия производителя нажал кнопку **Обновить**.


{% note info %}

После связки аккаунтов на Яндексе и на стороне провайдера также отправляется данный запрос.

{% endnote %}


В ответ на такой запрос провайдеру необходимо вернуть список всех поддерживаемых устройств пользователя с описанием доступных [умений](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md) и [свойств](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/properties-types.md). Максимальное количество устройств пользователя — 301.

Если часть устройств недоступна и провайдер не смог отправить информацию о них, платформа умного дома оставит эти устройства пользователя без изменений. Удалить устройство из списка может только сам пользователь.

## Формат запроса платформы умного дома {#input}

Платформа умного дома отправляет запрос на Endpoint URL провайдера (https://example.com).

```bash translate=no
GET https://example.com/v1.0/user/devices
```


#### Заголовки запроса {#headers}

<!-- source: ru/_includes/reference/get-devices/input-headers.md -->
#|
||
**Заголовок**
|
**Описание**
|
**Обязательный**
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-1.md -->
Authorization
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user-auth-row-col-2.md -->
Авторизационный токен пользователя.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user-auth-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-3.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/auth-row-col-3.md -->
||

||
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-1.md -->
X-Request-Id
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-1.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-2.md -->
Идентификатор запроса. Необходимо логировать на стороне провайдера для расследования инцидентов и проблем.
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-2.md -->
|
<!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-3.md -->
Да
<!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/x-request-id-row-col-3.md -->
||
|#
<!-- endsource: ru/_includes/reference/get-devices/input-headers.md -->



## Формат ответа провайдера {#output-structure}

Провайдер должен ответить на полученный от платформы умного дома запрос согласно формату.


{% list tabs %}

- Успешный ответ


  ```json translate=no
  {
    "request_id": String,
    "payload": {
        "user_id": String,
        "devices": [
          {
            "id": String,
            "name": String,
            "status_info": {
              "reportable": Boolean
            },
            "description": String,
            "room": String,
            "type": String,
            "custom_data": Object,
            "capabilities": [
              "<capability1>": Object,
              "<capability2>": Object,
              ...
            ],
            "properties": [
              "<property1>": Object,
              "<property2>": Object,
              ...
            ],
            "device_info": {
              "manufacturer": String,
              "model": String,
              "hw_version": String,
              "sw_version": String
            }
          },
          ...
        ]
    }
  }
  ```

  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/get-devices.md -->
  <!-- Devices GET -->

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-1.md -->
  request_id
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-3.md -->
  Идентификатор запроса.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/request_id-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
  payload
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
  Объект с устройствами.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/payload-col-4.md -->
  ||
  |#

  <br>

  **Объект `payload`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-1.md -->
  user_id
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-3.md -->
  Идентификатор пользователя.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/user_id-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
  devices
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
  [Array](*array) of [objects](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
  Массив с устройствами пользователя.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/devices-row-col-4.md -->
  ||
  |#

  <br>

  **Объект `devices`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
  id
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
  Идентификатор устройства. Должен быть уникален среди всех устройств производителя.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device-id-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-1.md -->
  name
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-3.md -->
  Название устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/name-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-1.md -->
  status_info
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-3.md -->
  Информация о состоянии устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/status_info-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-1.md -->
  description
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-3.md -->
  Описание устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/description-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-1.md -->
  room
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-3.md -->
  Название помещения, в котором расположено устройство.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/room-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-1.md -->
  type
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-3.md -->
  Тип устройства. Со списком типов устройств можно ознакомиться в разделе [Типы устройств](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/device-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/type-row-col-4.md -->
  ||

  ||
  custom_data
  |
  [Object](*object)
  |
  Объект, который состоит из набора пар `"ключ":"значение"` любой вложенности и представляет собой дополнительную информацию об устройстве. Содержимое объекта не должно превышать 1024 байт. Платформа умного дома сохранит этот объект и будет отправлять его в запросах
   [Информация о состояниях устройств пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query.md), [Изменение состояния у устройств](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action.md).
  |
  Нет
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-1.md -->
  capabilities
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-2.md -->
  [Array](*array) of [objects](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-3.md -->
  Массив с информацией об [умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md) устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-4.md -->
  Да, если отсутствует `properties`
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capabilities-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-1.md -->
  properties
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-2.md -->
  [Array](*array) of [objects](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-3.md -->
  Массив с информацией о [свойствах](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/properties-types.md) устройства.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-4.md -->
  Да, если отсутствует `capabilities`
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/properties-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-1.md -->
  device_info
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-3.md -->
  Дополнительная техническая информация об устройстве. Чтобы посмотреть эту информацию, на главном экране приложения [![](../_images/smart-home-app.svg) Дом с Алисой](https://alice.yandex.ru/smart-home) выберите устройство, в правом верхнем углу нажмите ![Изображение шестеренки](../_images/settings.svg) и выберите **Об устройстве**. Данная информация поможет быстрее идентифицировать устройство при обращении пользователя в поддержку Яндекса или к производителю.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-4.md -->
  Да, для [официальных навыков](https://yandex.ru/dev/dialogs/smart-home/doc/ru/certification.md)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/device_info-row-col-4.md -->
  ||
  |#

  <br>

  **Объект `status_info`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-1.md -->
  reportable
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-2.md -->
  [Boolean](*boolean)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-3.md -->
  Параметр показывает, умеет ли устройство передавать свой статус [status](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/post-skill_id-callback-state.md#structure-in) («в сети» или «не в сети»).

  Допустимые значения:

  - `true` — устройство обязано отправлять уведомления `online`/`offline` через [`/callback/state`](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/post-skill_id-callback-state.md). В приложении ![](../_images/smart-home-app.svg)[Дом с Алисой](https://alice.yandex.ru/smart-home) для устройства включается бейдж «Не в сети» и пуш-уведомления о потере связи.

    У устройства в приложении появляется настройка **Уведомления о состоянии** → **Не в сети** → **Уведомить о состоянии устройства «не в сети»**.

  - `false` — допустим **только если устройство физически не поддерживает отслеживание доступности**. Нереализованность на стороне провайдера («не успели», «планируем позже», «в облаке это дорого») основанием не является.

  {% note alert %}

  `reportable: true` при фактически не отправляемых уведомлениях `online`/`offline` — основание для отклонения навыка на модерации.

  {% endnote %}

  Подробнее о требованиях к отправке уведомлений см. в разделе [Требования к уведомлениям](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/notifications-requirements.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-4.md -->
  Да
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/reportable-row-col-4.md -->
  ||
  |#

  <br>

  **Объект `capabilities`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-1.md -->
  \<capability1>
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-3.md -->
  Описание умения. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability1-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-1.md -->
  \<capability1>
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-3.md -->
  Описание умения. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе [Об умениях](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/capability2-row-col-4.md -->
  ||
  |#

  <br>

  **Объект `properties`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-1.md -->
  \<property1>
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-3.md -->
  Описание свойства. Подробнее со списком доступных свойств и их параметрами можно ознакомиться в разделе [О свойствах](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/properties-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property1-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-1.md -->
  \<property2>
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-2.md -->
  [Object](*object)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-3.md -->
  Описание свойства. Подробнее со списком доступных свойств и их параметрами можно ознакомиться в разделе [О свойствах](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/properties-types.md).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/property2-row-col-4.md -->
  ||
  |#

  <br>

  **Объект `device_info`**

  #|
  ||
  **Параметр**
  |
  **Тип**
  |
  **Описание**
  |
  **Обязательный**
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-1.md -->
  manufacturer
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-3.md -->
  Название производителя устройства. Может содержать до 256 символов. Параметр является обязательным для описания официального навыка (подробнее в разделе [Обзор](https://yandex.ru/dev/dialogs/smart-home/doc/ru/about.md)).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-4.md -->
  Да, для [официальных навыков](https://yandex.ru/dev/dialogs/smart-home/doc/ru/certification.md)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/manufacturer-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-1.md -->
  model
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-3.md -->
  Название модели устройства. Может содержать до 256 символов.Параметр является обязательным для описания официального навыка (подробнее в разделе [Обзор](https://yandex.ru/dev/dialogs/smart-home/doc/ru/about.md)).
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-4.md -->
  Да, для [официальных навыков](https://yandex.ru/dev/dialogs/smart-home/doc/ru/certification.md)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/model-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-1.md -->
  hw_version
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-3.md -->
  Версия аппаратной составляющей устройства. Может содержать до 256 символов.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/hw_version-row-col-4.md -->
  ||

  ||
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-1.md -->
  sw_version
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-1.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-2.md -->
  [String](*string)
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-2.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-3.md -->
  Версия программного обеспечения устройства. Может содержать до 256 символов.
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-3.md -->
  |
  <!-- source: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-4.md -->
  Нет
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/sw_version-row-col-4.md -->
  ||
  |#
  <!-- endsource: ru/_includes/reference/struct-table-protocol/id-struct-table-protocol/get-devices.md -->



- Ответ с ошибкой


  ```json translate=no
  HTTP/1.1 404 Not Found
  ```

  [Глобальные коды](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/response-codes.md#enq-with-error-codes)

{% endlist %}


## Поля `retrievable` и `reportable` в описании умений и свойств {#retrievable-reportable}

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

**В объекте `capabilities`**

<!-- source: ru/_includes/reusables/id-reusables/capability-retrievable-reportable.md -->
#|
||
**Поле**
|
**Тип**
|
**Описание**
|
**Обязательность**
||
||
`retrievable`
|
Boolean
|
Указывает, может ли платформа запросить текущее состояние умения через запрос [Информация о состояниях устройств пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query.md).

- `true` (по умолчанию) — состояние умения доступно для запроса. Платформа отправляет `query` и ожидает актуальное значение в ответе.
- `false` — состояние умения недоступно для запроса. Платформа не запрашивает состояние этого умения, а полагается только на уведомление `/callback/state`.

Если поле не указано, по умолчанию используется `true`.
|
Нет
||
||
`reportable`
|
Boolean
|
Указывает, должно ли изменение состояния этого умения доставляться через [сервис уведомлений](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/resources-alerts.md) (уведомление `/callback/state`).

- `true` — изменение состояния умения доставляется уведомлением `/callback/state`, в том числе если оно произошло без команды со стороны Яндекса: физической кнопкой, пультом, из приложения провайдера, локальным сценарием провайдера.
- `false` (по умолчанию) — изменение состояния умения не требуется отправлять уведомлением. Платформа получает актуальное состояние через запрос `query`, который отправляется по действию пользователя.

Если поле не указано, по умолчанию используется `false`.

Если у умения одновременно `retrievable: false` и `reportable: false`, платформа не получает актуальное состояние ни одним из способов.
|
Нет
||
|#
<!-- endsource: ru/_includes/reusables/id-reusables/capability-retrievable-reportable.md -->

<br>

**В объекте `properties`**

<!-- source: ru/_includes/reusables/id-reusables/property-retrievable-reportable.md -->
#|
||
**Поле**
|
**Тип**
|
**Описание**
|
**Обязательность**
||
||
`retrievable`
|
Boolean
|
Указывает, может ли платформа запросить текущее значение свойства через запрос [Информация о состояниях устройств пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query.md).

- `true` (по умолчанию) — значение свойства доступно для запроса. Платформа отправляет `query` и ожидает актуальное значение в ответе.
- `false` — значение свойства недоступно для запроса. Платформа не запрашивает значение этого свойства, а полагается только на уведомление `/callback/state`. Значение допустимо, только если у свойства `reportable: true`.

Если поле не указано, по умолчанию используется `true`.
|
Нет
||
||
`reportable`
|
Boolean
|
Указывает, должно ли изменение значения этого свойства доставляться через [сервис уведомлений](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/resources-alerts.md) (уведомление `/callback/state`).

- `true` — новое значение свойства доставляется уведомлением `/callback/state` при срабатывании датчика и при изменении его показаний.
- `false` (по умолчанию) — изменение значения свойства не требуется отправлять уведомлением. Платформа получает актуальное значение через запрос `query`, который отправляется по действию пользователя.

Если поле не указано, по умолчанию используется `false`.
|
Нет
||
|#
<!-- endsource: ru/_includes/reusables/id-reusables/property-retrievable-reportable.md -->

<!-- source: ru/_includes/reusables/id-reusables/reportable-callback-requirement.md -->
{% note warning %}

С 1 декабря 2026 года изменение каждого умения и каждого свойства, у которых указано `reportable: true`, должно доставляться в платформу умного дома запросом [Уведомление об изменении состояния устройства](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference-alerts/post-skill_id-callback-state.md) — `POST /api/v1/skills/{skill_id}/callback/state`.

Событие отправляется по факту его наступления, без ожидания запроса со стороны Яндекса. Ответы на запросы [Информация о состояниях устройств пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-devices-query.md) и [Изменение состояния у устройств](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/post-action.md) уведомление не заменяют.

Исчерпывающий перечень событий, при которых нужно отправлять уведомление, см. в разделе [Требования к уведомлениям](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/notifications-requirements.md).

{% endnote %}

Поля `retrievable` и `reportable` описывают отдельное умение или отдельное свойство. Не путайте их с полем `status_info.reportable`, которое относится к устройству целиком и отвечает за передачу статуса доступности `online` и `offline`. Подробнее см. в разделе [Информация об устройствах пользователя](https://yandex.ru/dev/dialogs/smart-home/doc/ru/reference/get-devices.md).
<!-- endsource: ru/_includes/reusables/id-reusables/reportable-callback-requirement.md -->


## Пример {#example-JSON}

В примере описаны свойства светильника с регулировкой цвета.

> {% list tabs %}
>
> - Запрос
>
>
>   ```bash translate=no
>   curl -i -X GET 'https://example.com/v1.0/user/devices' \
>   -H 'Authorization: Bearer 123qwe456a...' \
>   -H 'X-Request-Id: ff36a3cc-ec...'
>   ```
>
>
> - Успешный ответ
>
>
>   ```json translate=no
>   HTTP/1.1 200 OK
>
>   {
>       "request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
>       "payload": {
>           "user_id": "Misha-01-super-545",
>           "devices": [{
>                   "id": "abc-123",
>                   "name": "лампa",
>                   "status_info": {
>                     "reportable": true
>                   },
>                   "description": "цветная лампа",
>                   "room": "спальня",
>                   "type": "devices.types.light",
>                   "custom_data": {
>                     "foo": 1,
>                     "bar": "two",
>                     "baz": false,
>                     "qux": [1, "two", false],
>                     "quux": {
>                       "quuz": {
>                         "corge": []
>                       }
>                     }
>                   },
>                   "capabilities": [{
>                           "type": "devices.capabilities.range",
>                           "retrievable": true,
>                           "parameters": {
>                               "instance": "brightness",
>                               "unit": "unit.percent",
>                               "range": {
>                                   "min": 0,
>                                   "max": 100,
>                                   "precision": 10
>                               }
>                           }
>                       },
>                       {
>                           "type": "devices.capabilities.on_off"
>                       },
>                       {
>                           "type": "devices.capabilities.color_setting",
>                           "parameters": {
>                               "color_model": "hsv",
>                               "temperature_k": {
>                                   "min": 2700,
>                                   "max": 9000,
>                                   "precision": 1
>                               }
>                           }
>                       }
>                   ],
>                   "device_info": {
>                       "manufacturer": "Provider2",
>                       "model": "hue g11",
>                       "hw_version": "1.2",
>                       "sw_version": "5.4"
>                   }
>               }
>
>           ]
>       }
>   }
>   ```
>
>
> - Ответ с ошибкой
>
>
>   ```json translate=no
>   HTTP/1.1 401 Unauthorized
>   ```
>
> {% endlist %}


<!-- source: ru/_includes/about/id-support/support-button.md -->
[![Служба поддержки](../_images/support-image.svg)](https://yandex.ru/dev/dialogs/smart-home/doc/ru/feedback.md)
<!-- endsource: ru/_includes/about/id-support/support-button.md -->

[*object]:
  Список пар `"ключ": значение`, разделенных запятой. Выделяется фигурными скобками `{}`.

```json translate=no
{
  "name": "John",
  "surname": "Smith"
}
```

[*string]:
  Cтрока, выделяется кавычками, например `"Hello world"`.

[*array]:
  Массив элементов, разделенных запятой. Элементом могут быть стандартные элементы JSON: строка, число, `true`, `false`, объект или массив. Массив выделяется квадратными скобками `[]`:

```json translate=no
"cities": ["Moscow", "Tokyo", "New York"]
```

[*boolean]:
  Логическое значение без кавычек: `true` (истина) или `false` (ложь).