> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeplo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# PUT Update Conversation

> Update conversation status, assignment, and other properties.

## Update Conversation

`PUT /api/conversations/:id`

Update a conversation's properties including status, assignment, and tags.

### Headers

**x-api-key** `string` *required*

Your API key

**x-api-secret** `string` *required*

Your API secret key

**x-channel-id** `string` *required*

WhatsApp channel ID

```bash cURL theme={null}
curl -X PUT https://zeplo.ai/api/conversations/1 \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "x-channel-id: YOUR_CHANNEL_ID" \
  -H "Content-Type: application/json" \
  -d '{ "assignedTo": 3 }'
```

### Path parameters

**id** `integer` *required*

Conversation ID.

### Request body

**assignedTo** `integer`

Team member user ID.

**tags** `string[]`

Updated tags.

**metadata** `object`

Updated metadata.

```json Response theme={null}
{
  "success": true,
  "data": {
    "id": 1,
    "assignedTo": 3,
    "updatedAt": "2026-01-15T12:30:00Z"
  }
}
```

***

## Update conversation status

`PATCH /api/conversations/:id/status`

Update the status of a conversation.

### Request body

**status** `string` *required*

The new status value.

### Status values

| Status | Description |
| - | - |
| `open` | Conversation is active |
| `resolved` | Issue resolved |
| `closed` | Conversation closed |

***

## Mark conversation as read

`PUT /api/conversations/:id/read`

Mark all messages in a conversation as read.

```bash cURL theme={null}
curl -X PUT https://zeplo.ai/api/conversations/1/read \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "x-channel-id: YOUR_CHANNEL_ID"
```

```json Response theme={null}
{
  "success": true,
  "message": "Conversation marked as read"
}
```

***

## Get automation status

`GET /api/conversations/:conversationId/automation-status`

Retrieve the current automation status for a conversation.

```bash cURL theme={null}
curl https://zeplo.ai/api/conversations/1/automation-status \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "x-channel-id: YOUR_CHANNEL_ID"
```

```json Response theme={null}
{
  "success": true,
  "data": {
    "automationId": 3,
    "automationName": "Welcome Flow",
    "status": "running",
    "currentNode": "send_welcome",
    "startedAt": "2026-01-15T10:00:00Z"
  }
}
```

***

## Cancel automation

`POST /api/conversations/:conversationId/cancel-automation`

Cancel a running automation on a conversation.

```bash cURL theme={null}
curl -X POST https://zeplo.ai/api/conversations/1/cancel-automation \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "x-channel-id: YOUR_CHANNEL_ID"
```

```json Response theme={null}
{
  "success": true,
  "message": "Automation cancelled"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.