# SRVROLES

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Reference](https://developer.m-files.com/APIs/gRPC-API/Reference/index.md) > [Messages](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.SRVROLES/

Server roles (bitfields).

- **Full name:** `MFiles.SRVROLES`
- **Proto file:** [`mfiles/enums.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/enums.proto)

<a id="fields"></a>

## Fields

| Field | Type | Number | Description |
|---|---|---|---|
| <a id="f-all"></a>`all` | `bool` | 1 | Specifies all flags set; Including any future flags. |
| <a id="f-system_administrator"></a>`system_administrator` | `bool` | 2 | System administrator (can perform any operation on the server). [ name( "vaultCreator" ) ] const SRVROLES SRVROLE_VAULT_CREATOR		= ( 1 << 1 );  //!< Can create, modify and delete vaults. Can also restore vaults. [ name( "backupOperator" ) ] const SRVROLES SRVROLE_BACKUP_OPERATOR		= ( 1 << 2 );  //!< Can back up vaults. |
| <a id="f-can_log_in"></a>`can_log_in` | `bool` | 5 | Can log in. A login that does not have this role is disabled and cannot log in even if the login has the sysadmin role. |
| <a id="f-invalid_password"></a>`invalid_password` | `bool` | 6 | This special role indicates that the M-Files login does not yet have a valid password. MFAdmin uses this flag to force the user to define the password. |

<a id="used-by-methods"></a>

## Used by methods

- [IRPCLoginsAdmin.ModifyLogin](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLoginsAdmin/ModifyLogin/index.md): Changes a login account: its server roles and enabled state, and optionally its password, full name, e-mail address and license type.
- [IRPCVaultLoginsAdmin.ModifyVaultLogin](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultLoginsAdmin/ModifyVaultLogin/index.md): Changes the server roles, password, full name, email address or license type of a vault login.

<a id="used-in-fields"></a>

## Used in fields

- [`BasicVaultLoginAccountInfo.server_roles`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.BasicVaultLoginAccountInfo/index.md#f-server_roles): The server roles of this user account.
- [`Login.options`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Login/index.md#f-options): Bitmask of the server roles of the login.
- [`ServerUser.server_roles`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ServerUser/index.md#f-server_roles): Bitmask of the server roles of the login.
- [`ModifyLoginRequest.srvroles`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLoginsAdmin/ModifyLogin/index.md#request): The complete new server roles, including `can_log_in`.
- [`ModifyVaultLoginRequest.srvroles`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultLoginsAdmin/ModifyVaultLogin/index.md#request): The new server roles of the login. `system_administrator` is not allowed.
