---
title: "Update a conversation"
method: PATCH
path: "/v1/projects/{project_id}/conversations/{conversation_id}"
tags: ["Conversations"]
---

# Update a conversation

`PATCH /v1/projects/{project_id}/conversations/{conversation_id}`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/projects/{project_id}/conversations/{conversation_id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.naturali.ai/authorize`, token URL `https://api.naturali.ai/token`, scopes: `mcp:access`)

Updates the status of a conversation

## Path parameters

- `conversation_id` string, required

## Request body

- object
  - `status` 'open' | 'closed': New conversation status
  - `name` string, nullable: New conversation name
  - `retrieval` 'embed' | 'none' | 'null', nullable: Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`. Switching it on embeds the turns already in the conversation, so the whole conversation becomes retrievable rather than only what is said next.

## Response `200`

Conversation updated

- ConversationRecord
  - `id` string: Conversation ID
  - `project_id` string: Project ID
  - `name` string, nullable: Optional human-readable name for the conversation.
  - `status` 'open' | 'closed': Conversation status
  - `created_at` string, date-time: Creation timestamp
  - `updated_at` string, date-time: Last update timestamp
  - `actor_id` string, nullable: Actor ID associated with this conversation
  - `retrieval` 'embed' | 'none' | 'null', nullable: Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.

## Other responses

- `400`: Invalid request body
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Conversation not found

---

[API](https://skmtc.dev/naturali/apis/naturali-ai-api.md) · [All operations](https://skmtc.dev/naturali/apis/naturali-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/naturali/apis/naturali-ai-api/revisions/e4905b78f422?raw)
