# UserController
All URIs are relative to `"/v2"`
The controller class is defined in **[UserController.java](../../src/main/java/org/openapitools/controller/UserController.java)**
Method | HTTP request | Description
------------- | ------------- | -------------
[**createUser**](#createUser) | **POST** /user | Create user
[**createUsersWithArrayInput**](#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array
[**createUsersWithListInput**](#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array
[**deleteUser**](#deleteUser) | **DELETE** /user/{username} | Delete user
[**getUserByName**](#getUserByName) | **GET** /user/{username} | Get user by user name
[**loginUser**](#loginUser) | **GET** /user/login | Logs user into the system
[**logoutUser**](#logoutUser) | **GET** /user/logout | Logs out current logged in user session
[**updateUser**](#updateUser) | **PUT** /user/{username} | Updated user
# **createUser**
```java
Mono UserController.createUser(user)
```
Create user
This can only be done by the logged in user.
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user** | [**User**](../../docs/models/User.md) | Created user object |
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: `application/json`
- **Produces Content-Type**: Not defined
# **createUsersWithArrayInput**
```java
Mono UserController.createUsersWithArrayInput(user)
```
Creates list of users with given input array
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user** | [**List<@Valid User>**](../../docs/models/User.md) | List of user object |
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: `application/json`
- **Produces Content-Type**: Not defined
# **createUsersWithListInput**
```java
Mono UserController.createUsersWithListInput(user)
```
Creates list of users with given input array
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user** | [**List<@Valid User>**](../../docs/models/User.md) | List of user object |
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: `application/json`
- **Produces Content-Type**: Not defined
# **deleteUser**
```java
Mono UserController.deleteUser(username)
```
Delete user
This can only be done by the logged in user.
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | `String` | The name that needs to be deleted |
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: Not defined
- **Produces Content-Type**: Not defined
# **getUserByName**
```java
Mono UserController.getUserByName(username)
```
Get user by user name
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | `String` | The name that needs to be fetched. Use user1 for testing. |
### Return type
[**User**](../../docs/models/User.md)
### HTTP request headers
- **Accepts Content-Type**: Not defined
- **Produces Content-Type**: `application/xml`, `application/json`
# **loginUser**
```java
Mono UserController.loginUser(usernamepassword)
```
Logs user into the system
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | `String` | The user name for login |
**password** | `String` | The password for login in clear text |
### Return type
`String`
### HTTP request headers
- **Accepts Content-Type**: Not defined
- **Produces Content-Type**: `application/xml`, `application/json`
# **logoutUser**
```java
Mono UserController.logoutUser()
```
Logs out current logged in user session
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: Not defined
- **Produces Content-Type**: Not defined
# **updateUser**
```java
Mono UserController.updateUser(usernameuser)
```
Updated user
This can only be done by the logged in user.
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | `String` | name that need to be deleted |
**user** | [**User**](../../docs/models/User.md) | Updated user object |
### Authorization
* **api_key**
### HTTP request headers
- **Accepts Content-Type**: `application/json`
- **Produces Content-Type**: Not defined