# \UsersApi
All URIs are relative to *http://localhost*
[**assign_role**](UsersApi.md#assign_role) | **POST** /api/v1/users/{id}/roles | Assign role to user
[**change_password**](UsersApi.md#change_password) | **POST** /api/v1/users/{id}/password | Change user password
[**create_user**](UsersApi.md#create_user) | **POST** /api/v1/users | Create user
[**create_user_api_token**](UsersApi.md#create_user_api_token) | **POST** /api/v1/users/{id}/tokens | Create API token
[**delete_user**](UsersApi.md#delete_user) | **DELETE** /api/v1/users/{id} | Delete user
[**force_password_change**](UsersApi.md#force_password_change) | **POST** /api/v1/users/{id}/force-password-change | Force a user to change their password on next login (admin only). Sets must_change_password=true and invalidates existing sessions so the user is prompted immediately on their next login.
[**get_user**](UsersApi.md#get_user) | **GET** /api/v1/users/{id} | Get user details
[**get_user_roles**](UsersApi.md#get_user_roles) | **GET** /api/v1/users/{id}/roles | Get user roles
[**list_user_tokens**](UsersApi.md#list_user_tokens) | **GET** /api/v1/users/{id}/tokens | List user's API tokens
[**list_users**](UsersApi.md#list_users) | **GET** /api/v1/users | List users
[**reset_password**](UsersApi.md#reset_password) | **POST** /api/v1/users/{id}/password/reset | Reset user password (admin only) Generates a new temporary password and sets must_change_password=true
[**revoke_role**](UsersApi.md#revoke_role) | **DELETE** /api/v1/users/{id}/roles/{role_id} | Revoke role from user
[**revoke_user_api_token**](UsersApi.md#revoke_user_api_token) | **DELETE** /api/v1/users/{id}/tokens/{token_id} | Revoke API token
[**update_user**](UsersApi.md#update_user) | **PATCH** /api/v1/users/{id} | Update user
## assign_role
> assign_role(id, assign_role_request)
Assign role to user
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**assign_role_request** | [**AssignRoleRequest**](AssignRoleRequest.md) | | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## change_password
> change_password(id, change_password_request)
Change user password
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**change_password_request** | [**ChangePasswordRequest**](ChangePasswordRequest.md) | | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## create_user
> models::CreateUserResponse create_user(create_user_request)
Create user
### Parameters
**create_user_request** | [**CreateUserRequest**](CreateUserRequest.md) | | [required] |
### Return type
[**models::CreateUserResponse**](CreateUserResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## create_user_api_token
> models::ApiTokenCreatedResponse create_user_api_token(id, create_api_token_request)
Create API token
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**create_api_token_request** | [**CreateApiTokenRequest**](CreateApiTokenRequest.md) | | [required] |
### Return type
[**models::ApiTokenCreatedResponse**](ApiTokenCreatedResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_user
> delete_user(id)
Delete user
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## force_password_change
> models::ForcePasswordChangeResponse force_password_change(id)
Force a user to change their password on next login (admin only). Sets must_change_password=true and invalidates existing sessions so the user is prompted immediately on their next login.
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
[**models::ForcePasswordChangeResponse**](ForcePasswordChangeResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_user
> models::AdminUserResponse get_user(id)
Get user details
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
[**models::AdminUserResponse**](AdminUserResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_user_roles
> models::RoleListResponse get_user_roles(id)
Get user roles
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
[**models::RoleListResponse**](RoleListResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_user_tokens
> models::ApiTokenListResponse list_user_tokens(id)
List user's API tokens
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
[**models::ApiTokenListResponse**](ApiTokenListResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_users
> models::UserListResponse list_users(search, is_active, is_admin, page, per_page)
List users
### Parameters
**search** | Option<**String**> | | |
**is_active** | Option<**bool**> | | |
**is_admin** | Option<**bool**> | | |
**page** | Option<**i32**> | | |
**per_page** | Option<**i32**> | | |
### Return type
[**models::UserListResponse**](UserListResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## reset_password
> models::ResetPasswordResponse reset_password(id)
Reset user password (admin only) Generates a new temporary password and sets must_change_password=true
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
### Return type
[**models::ResetPasswordResponse**](ResetPasswordResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## revoke_role
> revoke_role(id, role_id)
Revoke role from user
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**role_id** | **uuid::Uuid** | Role ID | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## revoke_user_api_token
> revoke_user_api_token(id, token_id)
Revoke API token
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**token_id** | **uuid::Uuid** | API token ID | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## update_user
> models::AdminUserResponse update_user(id, update_user_request)
Update user
### Parameters
**id** | **uuid::Uuid** | User ID | [required] |
**update_user_request** | [**UpdateUserRequest**](UpdateUserRequest.md) | | [required] |
### Return type
[**models::AdminUserResponse**](AdminUserResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)