# Star, pin or archive a conversation

Changes one thread's own flags — is_starred, is_pinned, is_archived — and corrects contact_name or contact_role, the name we show for the person on the other end. A field the body omits is left as it was. The ADDRESS cannot be changed: it is the thread's identity, and to reach another address you open its thread.

Access class: `workspace`.

## Endpoint

`PATCH /v1/comms/conversations/{id}`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "contact_name": "string",
    "contact_role": "string",
    "is_archived": true,
    "is_pinned": true,
    "is_starred": true
  },
  "params": {
    ":id": "string"
  },
  "query": {}
}
```

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "account_identifier": "string",
  "contact_identifier": "string",
  "contact_name": "string",
  "contact_role": "string",
  "created_at": "string",
  "id": 1,
  "is_archived": true,
  "is_muted": true,
  "is_pinned": true,
  "is_starred": true,
  "last_message_at": "string",
  "last_message_direction": "string",
  "last_message_preview": "string",
  "medium": "string",
  "ownerAccountId": "",
  "records": [
    {
      "definition_id": "",
      "definition_key": "string",
      "linked_at": "string",
      "name": "string",
      "row_id": "",
      "status": "string",
      "status_label": "string",
      "status_tone": "string"
    }
  ],
  "subject": "string",
  "unread_count": 1,
  "visibility": "string"
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
