---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
alternate:
  - https://yandex.ru/dev/dialogs/smart-home/doc/en/concepts/platform-group-capabilities.md
  - https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/platform-group-capabilities.md
  - href: https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/platform-group-capabilities.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 -->


Отправляет действия на группу устройств.

## Формат запроса {#input}

```bash translate=no
POST https://api.iot.yandex.net/v1.0/groups/{[group_id](*group_id)}/actions
```


#|
||
group_id
|
Идентификатор группы устройств пользователя
||
|#


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

#|
||**Заголовок** | **Описание** | **Обязательный**||
|| Authorization | Авторизационный токен oauth-приложения. | Да||
|#

#### Формат тела запроса {#structure-in}

```json translate=no
{
    "actions": [
        {
            "[type](*row-type)": "devices.capabilities.{capability}",
            "[state](*row-state)": {}
        }
    ]
}
```


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

||
actions
|
[Array](*array) of [objects](*object)
|
Массив действий для группы устройств.
|
Да
||
|#

<br>

**Массив `actions`**

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

||
capability1
|
CapabilityObject
|
Умение и команда на его изменение.
|
Нет
||

||
capability2
|
CapabilityObject
|
Умение и команда на его изменение.
|
Нет
||
|#

<br>

**Тип `CapabilityObject`**

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

||
type
|
[String](*string)
|
[Тип умения](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md#types).
|
Да
||

||
state
|
CapabilityStateObject
|
Целевое состояние умения. Соответствует значению поля `state` из описания команды для [управления умением устройства](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/on_off.md#action).
|
Да
||
|#



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


{% list tabs %}

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



  {% note info %}

  Так как устройства в группе могут по-разному отреагировать на присланное действие, в ответе возвращается результат выполнения действия на каждом устройстве в группе.

  {% endnote %}


  ```json translate=no
  HTTP/1.1 200 OK

  {
    "status": "ok",
    "request_id": String,
    "devices": [{
        "id": String,
        "capabilities": [{
          "type": String,
          "state": {
            "instance": String,
            "action_result": {
              "[status](*row-status)": String
            }
          }
        }]
      },
      {
        "id": String,
        "capabilities": [{
          "type": String,
          "state": {
            "instance": String,
            "action_result": {
              "[status](*row-status)": String
            }
          }
        }]
      }
    ]
  }
  ```

  <!-- source: ru/_includes/concepts/platform-capabilities/id-output-structure/table-correct-answer.md -->
  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  request_id
  |
  [String](*string)
  |
  Идентификатор запроса. Необходимо логировать для расследования инцидентов.
  |
  Да
  ||
  ||
  status
  |
  [String](*string)
  |
  Статус обработки запроса. Допустимые значения: 

  - `ok`.
  |
  Да
  ||
  ||
  devices
  |
  [Array](*array) of DeviceActionsResultObjects
  |
  Результаты выполнения действий на устройствах.
  |
  Да
  ||
  |#

  **Массив `devices`**

  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  deviceActionsResult1
  |
  DeviceActionResultObject
  |
  Результат выполнения действий на устройстве.
  |
  Нет
  ||
  ||
  deviceActionsResult2
  |
  DeviceActionResultObject
  |
  Результат выполнения действий на устройстве.
  |
  Нет
  ||
  |#


  **Тип `DeviceActionsResultObject`**

  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  id
  |
  [String](*string)
  |
  Идентификатор устройства
  |
  Да
  ||
  ||
  capabilities
  |
  CapabilityActionResultObject
  |
  Результаты действий.
  |
  Да
  ||
  |#


  **Тип `CapabilityActionResultObject`**

  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  type
  |
  [String](*string)
  |
  [Тип умения](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md#types).
  |
  Да
  ||
  ||
  state
  |
  StateResultObject
  |
  Состояние умения.
  |
  Да
  ||
  |#


  **Тип `StateResultObject`**

  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  instance
  |
  [String](*string)
  |
  Функция умения.
  |
  Да
  ||
  ||
  action_result
  |
  ActionResultObject
  |
  Результат действия.
  |
  Да
  ||
  |#


  **Тип `ActionResultObject`**

  #|
  ||
  **Параметр** | **Тип** | **Описание** | **Обязательный**
  ||
  ||
  status
  |
  [String](*string)
  |
  Статус изменения состояния у устройства. Допустимые значения:

  - `DONE` — состояние устройства успешно изменено;

  - `ERROR` — при изменении состояния у устройства произошла ошибка.
  |
  Да
  ||
  ||
  error_code
  |
  [String](*string)
  |
  Код ошибки из [списка возможных ошибок](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/response-codes.md#codes-api).
  |
  Нет
  ||
  ||
  error_message
  |
  [String](*string)
  |
  Расширенное человекочитаемое описание возможной ошибки.
  |
  Нет
  ||
  |#
  <!-- endsource: ru/_includes/concepts/platform-capabilities/id-output-structure/table-correct-answer.md -->



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


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

  {
      "[request_id](*row-request-id)": String,
      "[status](*row-error-status-struct-table-protocol-alerts)": "error",
      "[message](*row-message)": String
  }
  ```

  <!-- source: ru/_includes/concepts/platform-capabilities/id-output-structure/table-error.md -->
    #|
    ||
    **Параметр**
    |
    **Тип**
    |
    **Описание**
    |
    **Обязательный**
    ||

    ||
    request_id
    |
    [String](*string)
    |
    Идентификатор запроса. Необходимо логировать для расследования инцидентов.
    |
    Да
    ||

    ||
    status
    |
    [String](*string)
    |
    Статус обработки запроса. Допустимые значения:
    - `error`.

    |
    Да
    ||

    ||
    message
    |
    [String](*string)
    |
    Сообщение об ошибке.
    |
    Нет
    ||
    |#
  <!-- endsource: ru/_includes/concepts/platform-capabilities/id-output-structure/table-error.md -->


  [Коды ошибок](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/platform-error-codes.md)

{% endlist %}


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

> {% list tabs %}
>
> - Запрос
>
>
>   ```bash translate=no
>   curl --request POST 'https://api.iot.yandex.net/v1.0/groups/light-group-id-1/actions' \
>   --header 'Authorization: Bearer YOUR_OAUTH_TOKEN' \
>   --header 'Content-Type: application/json' \
>   --data-raw '{
>       "actions": [
>           {
>               "type": "devices.capabilities.on_off",
>               "state": {
>                   "instance": "on",
>                   "value": true
>               }
>           }
>       ]
>   }'
>   ```
>
>
> - Успешный ответ
>
>
>   ```json translate=no
>   HTTP/1.1 200 OK
>
>   {
>     "status": "ok",
>     "request_id": "35e9d24a-40f3-409d-b654-2cf4d87fe593",
>     "devices": [{
>         "id": "lamp-id-1",
>         "capabilities": [{
>           "type": "devices.capabilities.on_off",
>           "state": {
>             "instance": "on",
>             "action_result": {
>               "status": "DONE"
>             }
>           }
>         }]
>       },
>       {
>         "id": "lamp-id-2",
>         "capabilities": [{
>           "type": "devices.capabilities.on_off",
>           "state": {
>             "instance": "on",
>             "action_result": {
>               "status": "DONE"
>             }
>           }
>         }]
>       },
>       {
>         "id": "lamp-id-3",
>         "capabilities": [{
>           "type": "devices.capabilities.on_off",
>           "state": {
>             "instance": "on",
>             "action_result": {
>               "status": "DONE"
>             }
>           }
>         }]
>       }
>     ]
>   }
>   ```
>
>
> - Ответ с ошибкой
>
>
>   ```json translate=no
>   HTTP/1.1 404 Not Found
>
>   {
>       "request_id": "667b3e0f-47a8-4136-9211-b4ff59062315",
>       "status": "error",
>       "message": "Группа устройств не найдена"
>   }
>   ```
>
> {% 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"]
```

[*group_id]: Идентификатор группы устройств пользователя

[*row-type]:
  **Тип**

[String](*string)

**Описание**

[Тип умения](https://yandex.ru/dev/dialogs/smart-home/doc/ru/concepts/capability-types.md#types).

**Обязательный**

Да

[*row-state]:
  **Тип**

StateResultObject

**Описание**

Состояние умения.

**Обязательный**

Да

[*row-status]:
  **Тип**

[String](*string)

**Описание**

Статус изменения состояния у устройства. Допустимые значения:
  - `DONE` — состояние устройства успешно изменено;
  - `ERROR` — при изменении состояния у устройства произошла ошибка.


**Обязательный**

Да

[*row-request-id]:
  **Тип**

[String](https://yandex.ru/dev/dialogs/smart-home/doc/ru/types.md#string)

**Описание**

Идентификатор запроса. Необходимо логировать для расследования инцидентов.

**Обязательный**

Да

[*row-error-status-struct-table-protocol-alerts]:
  **Тип**

[String](*string)

**Описание**

Статус обработки запроса. Допустимые значения:
  - `error`.


**Обязательный**

Да

[*row-message]:
  **Тип**

[String](*string)

**Описание**

Сообщение об ошибке.

**Обязательный**

Нет