[comment]: # translation:outdated

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

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

[comment]: # ({8057bf39-63875138})
### Description

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

Cette méthode permet de mettre à jour les rôles existants.

::: noteclassic
Cette méthode est seulement disponible pour les utilisateurs du type *Super admin*. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôle d'utilisateur. Voir [Rôles utilisateur](/manual/web_interface/frontend_sections/administration/user_roles) pour plus d'informations.
:::

[comment]: # ({/8057bf39-63875138})

[comment]: # ({039903c0-fa5c3d93})
### Paramètres

`(object/array)` Propriétés du rôle à mettre à jour.

La propriété `roleid` doit être définie pour chaque rôle, toutes les autres propriétés sont facultatives. Seules les propriétés transmises seront mises à jour, toutes les autres resteront inchangées.

En plus des [propriétés de rôle standard](object#role), la méthode accepte les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#data_types)|Description|
|--|--|------|
|rules|array|[Règles](object#role_rules) d'accès en remplacement des règles d'accès actuelles assignées au rôle.|

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

[comment]: # ({12d196f6-12d196f6})
### Valeurs retournées

`(object)` Retourne un objet contenant les identifiants des rôles mis à jour sous la propriété `roleids`.

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

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

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

[comment]: # ({9eb21d10-1ce1fe70})
#### Désactivation de la possibilité d'exécuter des scripts

Mettre à jour le rôle avec l'ID "5", désactiver la possibilité d'exécuter des scripts.

Requête :

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

Réponse :

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

[comment]: # ({/9eb21d10-1ce1fe70})

[comment]: # ({c327efce-a6349165})
#### Limiter l'accès à l'API

Mettre à jour le rôle avec l'ID "5", refuser d'appeler les méthodes "create", "update" ou "delete".

Requête :

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

Réponse :

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

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

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

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

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