[comment]: # ({a0f60ec7-a0f60ec7})
# role.update

[comment]: # ({/a0f60ec7-a0f60ec7})

[comment]: # ({473edc13-63875138})
### Описание

`object role.update(объект/массив roles)`

Этот метод позволяет обновлять существующие роли.

::: noteclassic
Этот метод доступен только пользователю с типом доступа *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/473edc13-63875138})

[comment]: # ({d414178e-fa5c3d93})
### Параметры

`(object/array)` Свойства роли, которые необходимо обновить.

Для каждой роли должно быть определено свойство `roleid`, все остальные
свойства необязательны. Будут обновлены только переданные свойства, все
остальные останутся без изменений.

В дополнение к [стандартным свойствам роли](object#role) метод
принимает следующие параметры.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|rules|array|Правила [доступа](object#role-rules), которые нужно обновить для роли.|

[comment]: # ({/d414178e-fa5c3d93})

[comment]: # ({12d196f6-12d196f6})
### Возвращаемые значения

`(object)` Возвращает объект, содержащий идентификаторы обновлённых ролей, указанных 
в свойстве `roleids`.

[comment]: # ({/12d196f6-12d196f6})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({0832e69f-1ce1fe70})
#### Отключение возможности выполнять скрипты

Обновить роль с ID "5", отключив возможность выполнять скрипты.

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "actions": [
                    {
                        "name": "execute_scripts",
                        "status": "0"
                    }
                ]
            }
        }
    ],
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/0832e69f-1ce1fe70})

[comment]: # ({19ad5660-a6349165})
#### Ограничение доступа к API

Обновить роль с ID "5", запретив вызов любых методов "create", "update" или "delete".

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "api.access": "1",
                "api.mode": "0",
                "api": ["*.create", "*.update", "*.delete"]
            }
        }
    ],
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/19ad5660-a6349165})

[comment]: # ({36db1bd2-36db1bd2})
### Источник

CRole::update() в *ui/include/classes/api/services/CRole.php*.

[comment]: # ({/36db1bd2-36db1bd2})
