# PUT User
This PUT request updates a user.

#### Location
```
/api/v1/portal-management/users/
```

#### Permissions required
`admin-access-admins` RW. If you are changing your own user you don't need any permissions. 

#### Body parameters
| Parameter           | Type    | Required | Description                                                                                                                                                       |
| ------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| user_uuid           | uuid    | yes      | The users unique id.                                                                                                                                              |
| user_group_uuid     | uuid    | yes      | The user-group unique id for the user. <br>*Not allowed when changing own user.*                                                                                  |
| user_email          | email   | yes      | The email address of the user.                                                                                                                                    |
| user_first_name     | string  | yes      | The first name of the user.                                                                                                                                       |
| user_last_name      | string  | yes      | The last name of the user.                                                                                                                                        |
| user_phone_number   | string  | no       | The phone number of the user.                                                                                                                                     |
| user_status         | enum    | yes      | The user status of the user.  Either `inactive`, `banned` or `pending`.<br>*Not allowed when changing own user.*                                                  |
| user_pref_language  | enum    | yes      | Either `en` or `nl`                                                                                                                                               |
| user_stompable      | boolean | no       | Makes the user stompable, related to the [stompjes](API/v1/office/stompjes/POST%20Stomp%20user.md) in the office module.<br>*Not allowed when changing own user.* |
| user_profile_change | boolean | no       | Add this value to change your own profile.                                                                                                                        |

### Example Body (json)
```json
{
        "user_uuid": "3b58843c-644b-11f1-a54b-bc2411125ba4",
        "user_group_uuid": "d4cbf41b-6445-11f1-a54b-bc2411125ba4",
        "user_email": "test@domain.name",
        "user_first_name": "Pietje",
        "user_last_name": "Bel",
        "user_phone_number": "",
        "user_status": "pending",
        "user_pref_language": "en",
        "user_stompable": true
}
```

### Example Request
```php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => $baseUrl . '/api/v1/portal-management/user-groups/',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $json_payload,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
        'X-HTTP-Method-Override: PUT'
    ],
]);

$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ($response === false) {
    echo curl_error($curl);
}

curl_close($curl);
```

### Example Response
```json
"User successfully updated."
```

#### Known errors or issues.
None are known at the time
If you do encounter issues and get an http code in return, check the response codes on this page.


