# Edit

To edit an existing poll you need to execute a **PATCH** request against the **/rooms/:roomId/polls/:id** endpoint.

{% hint style="info" %}
You cannot edit a poll which has been launched before, because it would be considered malicious to be able to edit the question when people have already voted.
{% endhint %}

The **id** uniquely identifies the pools and you can find it in the [create poll](https://docs.digitalsamba.com/reference/rest-api/polls/create) response.

#### Request

{% tabs %}
{% tab title="cURL" %}
{% code overflow="wrap" %}

```bash
curl --request PATCH \
  --header "Content-Type: application/json" \
  --url https://api.digitalsamba.com/api/v1/rooms/c39d7c40-7ff7-4faa-b06f-698a639a9523/polls/c15102d9-ed47-468c-8e5a-86be0c97c296 \
  --user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY \
  --data '{"question": "How many languages have you learned?", "multiple": false, "anonymous": true, "options": [{"text": "One"}, {"text": "Two"},{"text": "Three"}, {"text": "More than three"}]}'
```

{% endcode %}
{% 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 room id or friendly_url (name) here - this value is just an example
String roomId = "c39d7c40-7ff7-4faa-b06f-698a639a9523";

//Put your poll id here - this value is just an example
String pollId = "c15102d9-ed47-468c-8e5a-86be0c97c296";

Map<String, Object> data = Map.of(
  "question", "How many languages have you learned?",
  "multiple", false,
  "anonymous", true,
  "options", new Object[] {
        Map.of("text", "One"),
        Map.of("text", "Two"),
  	    Map.of("text", "Three"),
        Map.of("text", "More than three")
  }
);
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/rooms/" + roomId + "/polls/" + pollId))
  .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": "c15102d9-ed47-468c-8e5a-86be0c97c296",
    "question": "How many languages have you learmed?",
    "anonymous": true,
    "multiple": false,
    "status": "created",
    "options": [
        {"id":"f7524f3d-41f9-46bc-9dbf-918d5fd39618", "text":"One"},
        {"id":"1a4879dc-3a93-4e3d-8cae-5e1e6ed878f9", "text":"Two"},
        {"id":"f8877655-4470-4b26-9834-cd5016da79c3", "text":"Three"},
        {"id":"9b7c51c8-bc62-46db-8b7e-e28ed5d4d336", "text":"More than three"}
    ],
    "created_at":"2024-06-27T06:49:45Z"
}
```
