Rename Conversation
Available for: Chatflow, Agent, Chatbot, Legacy Agent apps.
Renames a conversation, or auto-generates a name from its messages when auto_generate is true. The name is what clients display in a multi-conversation list.
curl --request POST \
--url https://{api_base_url}/conversations/{conversation_id}/name \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "iPhone Specs Chat",
"user": "abc-123"
}
'import requests
url = "https://{api_base_url}/conversations/{conversation_id}/name"
payload = {
"name": "iPhone Specs Chat",
"user": "abc-123"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'iPhone Specs Chat', user: 'abc-123'})
};
fetch('https://{api_base_url}/conversations/{conversation_id}/name', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/conversations/{conversation_id}/name",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'iPhone Specs Chat',
'user' => 'abc-123'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/conversations/{conversation_id}/name"
payload := strings.NewReader("{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/conversations/{conversation_id}/name")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/conversations/{conversation_id}/name")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": 1705407629,
"id": "45701982-8118-4bc5-8e9b-64562b4555f2",
"inputs": {
"city": "San Francisco"
},
"introduction": "Welcome! How can I help you today?",
"name": "iPhone Specs Chat",
"status": "normal",
"updated_at": 1705411229
}Authorizations
Every request authenticates with an API key: Authorization: Bearer {API_KEY}. App endpoints take an app API key; knowledge endpoints take a knowledge base API key (Get Started).
Keep keys server-side; never embed them in client code. Requests with a missing or invalid key fail with HTTP 401 (unauthorized).
Path Parameters
ID of the conversation to rename. Get conversation IDs from List Conversations.
Body
Request body for renaming a conversation.
Automatically generate the conversation name. When true, the name field is ignored.
New conversation name. Required unless auto_generate is true.
End-user identifier, defined by your app and unique within it. See End User Identity.
Response
Conversation renamed successfully.
Creation timestamp.
Conversation ID.
Input variables for the conversation.
Conversation introduction.
Conversation name.
Conversation status. normal for active conversations.
Last update timestamp.
Was this page helpful?
curl --request POST \
--url https://{api_base_url}/conversations/{conversation_id}/name \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "iPhone Specs Chat",
"user": "abc-123"
}
'import requests
url = "https://{api_base_url}/conversations/{conversation_id}/name"
payload = {
"name": "iPhone Specs Chat",
"user": "abc-123"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'iPhone Specs Chat', user: 'abc-123'})
};
fetch('https://{api_base_url}/conversations/{conversation_id}/name', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/conversations/{conversation_id}/name",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'iPhone Specs Chat',
'user' => 'abc-123'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/conversations/{conversation_id}/name"
payload := strings.NewReader("{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/conversations/{conversation_id}/name")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/conversations/{conversation_id}/name")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"iPhone Specs Chat\",\n \"user\": \"abc-123\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": 1705407629,
"id": "45701982-8118-4bc5-8e9b-64562b4555f2",
"inputs": {
"city": "San Francisco"
},
"introduction": "Welcome! How can I help you today?",
"name": "iPhone Specs Chat",
"status": "normal",
"updated_at": 1705411229
}