To delete an existing role you need to execute a DELETE request against the /roles/:idOrName endpoint. Role name is more human readable compared to ids, but it is up to you what you are going to use.
You can find id and name inside the create role response.
This is a destructive operation which cannot be undone. Note also that you are not allowed to delete roles which are currently used inside a live session and also roles which are set as default roles in rooms.
importcom.fasterxml.jackson.databind.ObjectMapper;importjava.net.URI;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;importjava.net.http.HttpResponse;importjava.net.http.HttpResponse.BodyHandlers;importjava.util.Base64;importjava.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 here - this value is just an exampleString roleId ="2d9448b9-d9ee-4102-b31a-f83ab4af2af8";HttpRequest request =HttpRequest.newBuilder().DELETE().uri(newURI("https://api.digitalsamba.com/api/v1/roles/"+ roleId)).header("Authorization", authorizationHeader).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());
Response (204 -> No Content)
Response is empty because the role was deleted and there is no content to return.