# `api.users.update` > `PUT /users/user` — ACPortal **Python** ```python api.users.update(*, data: UserUpdateRequest | dict) -> None ``` **CLI** ```bash ab users update [--data ...] ``` PUT /users/user. Args: data: User update payload. Accepts a :class:`UserUpdateRequest` instance or a dict. Request model: :class:`UserUpdateRequest` ## Request body — `UserUpdateRequest` | Field | Type | Required | Description | |---|---|---|---| | `id` | `Optional[str]` | no | User ID | | `username` | `Optional[str]` | no | Updated username | | `email` | `Optional[str]` | no | Updated email | | `roles` | `Optional[list[str]]` | no | Updated role IDs | ## Response No response body. --- [← Back to api.users](../users.md)