---
title: "Update an org user&#8217;s role"
component: "savanna"
version: "main"
module: "rest-api"
html_url: "/savanna/main/rest-api/endpoints/update-an-org-users-role"
---

[View as HTML](/savanna/main/rest-api/endpoints/update-an-org-users-role)

# Update an org user&#8217;s role

Updates an organization user's role. This endpoint does not support API key authentication.

PUT `/users/{userId}/roles` 

## Path parameters

[#](#parameter-user-id) `userId` string path required 

Id of the user

## Body

[#](#body-roles) `roles` string\[\] 

Roles to assign to the user, replacing the roles they hold now.

## Response

204 

No Content

Update an org user's role 

cURL 

cURL Python JavaScript PHP Go Java Ruby 

```bash
curl --request PUT \
  --url 'https://api.tgcloud.io/users/{userId}/roles' \
  --header 'x-api-key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "roles": [
      "<string>"
    ]
  }'
```

```python
import requests

url = "https://api.tgcloud.io/users/{userId}/roles"
headers = {"x-api-key": "<your-api-key>"}
payload = {
  "roles": [
    "<string>"
  ]
}

response = requests.put(url, headers=headers, json=payload)
print(response.json())
```

```javascript
const response = await fetch(
  "https://api.tgcloud.io/users/{userId}/roles",
  {
    method: "PUT",
    headers: { "x-api-key": "<your-api-key>", "Content-Type": "application/json" },
    body: JSON.stringify({
      "roles": [
        "<string>"
      ]
    }),
  }
)
console.log(await response.json())
```

```php
<?php
$request = curl_init(
  "https://api.tgcloud.io/users/{userId}/roles"
);
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($request, CURLOPT_HTTPHEADER, [
  "x-api-key: <your-api-key>",
  "Content-Type: application/json"
]);
curl_setopt($request, CURLOPT_POSTFIELDS, '{
    "roles": [
      "<string>"
    ]
  }');
curl_exec($request);
```

```go
payload := strings.NewReader(`{
    "roles": [
      "<string>"
    ]
  }`)

request, _ := http.NewRequest(
  "PUT",
  "https://api.tgcloud.io/users/{userId}/roles",
  payload,
)
request.Header.Add("x-api-key", "<your-api-key>")
request.Header.Add("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(request)
```

```java
HttpRequest request = HttpRequest.newBuilder()
  .uri(URI.create(
    "https://api.tgcloud.io/users/{userId}/roles"
  ))
  .header("x-api-key", "<your-api-key>")
  .header("Content-Type", "application/json")
  .method("PUT", HttpRequest.BodyPublishers.ofString("""
{
      "roles": [
        "<string>"
      ]
    }
  """))
  .build();
```

```ruby
uri = URI(
  "https://api.tgcloud.io/users/{userId}/roles"
)
request = Net::HTTP::Put.new(uri)
request["x-api-key"] = "<your-api-key>"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
    "roles": [
      "<string>"
    ]
  }
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) {
  |http| http.request(request)
}
```

204 

```json
No Content
```
