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

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

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

`object role.update(object/array roles)`

このメソッドでは、既存のロールを更新できます。

::: noteclassic
このメソッドは、*Super admin* ユーザータイプでのみ利用できます。
このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳細は、
[ユーザーロール](/manual/web_interface/frontend_sections/users/user_roles)
を参照してください。
:::

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

[comment]: # ({d414178e-fa5c3d93})
### パラメータ

`(object/array)` 更新するロールのプロパティ。

各ロールでは `roleid` プロパティを定義する必要があり、その他の
プロパティはすべて任意です。渡されたプロパティのみが更新され、
それ以外は変更されません。

このメソッドは、[標準のロールプロパティ](object#role) に加えて、
以下のパラメータを受け付けます。

|パラメータ|[Type](/manual/api/reference_commentary#data-types)|説明|
|--|--|------|
|rules|array|ロールに対して更新するアクセス[rules](object#role-rules)。|

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

[comment]: # ({12d196f6-12d196f6})
### 戻り値

`(object)` `roleids`プロパティの下で更新されたロールのIDを含むオブジェクトを返します。

[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() in *ui/include/classes/api/services/CRole.php*.

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