# `api.views.update_access` > `PUT /views/{viewId}/access` — ACPortal **Python** ```python api.views.update_access(view_id: str, *, data: GridViewAccess | dict) -> None ``` **CLI** ```bash ab views update_access [--data ...] ``` PUT /views/{viewId}/access. Args: view_id: View identifier. data: Access control payload with users and roles. Accepts a :class:`GridViewAccess` instance or a dict. Request model: :class:`GridViewAccess` ## Request body — `GridViewAccess` | Field | Type | Required | Description | |---|---|---|---| | `viewId` | `Optional[str]` | no | View ID | | `users` | `Optional[list[dict]]` | no | User access list | | `roles` | `Optional[list[dict]]` | no | Role access list | ## Response No response body. --- [← Back to api.views](../views.md)