# Edit

To edit an existing role you need to execute a **PATCH** request against the **/roles/:idOrName** endpoint. Role name is more human readable compared to ids, but it is up to you what field you are going to use.

You can find **id** and **name** inside the [create role](https://docs.digitalsamba.com/reference/rest-api/create#response-200-ok) response.

You can update as many fields as you wish - the below example makes the toolbar color blue and also removes chat functionality from the room.

#### Request

{% tabs %}
{% tab title="cURL" %}

```bash
curl --request PATCH \
  --header "Content-Type: application/json" \
  --url https://api.digitalsamba.com/api/v1/roles/2d9448b9-d9ee-4102-b31a-f83ab4af2af8 \
  --user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY \
  --data '{"display_name": "CustomEdited", "permissions": {"general_chat": true}}'
```

{% endtab %}

{% tab title="Java" %}

```java
import com.fasterxml.jackson.databind.ObjectMapper;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;

String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your role id or name here - this value is just an example
String roleId = "2d9448b9-d9ee-4102-b31a-f83ab4af2af8";

Map<String, Object> data = Map.of(
   "display_name", "CustomEdited"
);
String jsonData = new ObjectMapper().writeValueAsString(data);

HttpRequest request = HttpRequest.newBuilder()
  .method("PATCH", HttpRequest.BodyPublishers.ofString(jsonData))
  .uri(new URI("https://api.digitalsamba.com/api/v1/roles/" + roleId))
  .header("Authorization", authorizationHeader)
  .header("Content-Type", "application/json")
  .build();

HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());

System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());
```

{% endtab %}
{% endtabs %}

**Response (200 OK)**

```json
{
    "id": "2d9448b9-d9ee-4102-b31a-f83ab4af2af8",
    "name": "custom",
    "display_name": "CustomEdited",
    "description": null,
    "default": false,
    "created_at": "2023-03-24T13:32:05Z",
    "updated_at": "2023-03-27T15:38:14Z",
    "permissions": {
        "ask_remote_unmute": false,
        "broadcast": false,
        "end_session": false,
        "general_chat": true,
        "manage_broadcast": false,
        "manage_roles": false,
        "manage_screenshare": false,
        "raise_hand": true,
        "recording": false,
        "remote_muting": [
            "speaker",
            "attendee"
        ],
        "remove_participant": false,
        "screenshare": false,
        "start_session": true
    }
}
```
