Update Conversation
curl --request PATCH \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"avatarFileId": {},
"postingPermission": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId"
payload = {
"name": "<string>",
"description": "<string>",
"avatarFileId": {},
"postingPermission": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
avatarFileId: {},
postingPermission: '<string>'
})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId', 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.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'avatarFileId' => [
],
'postingPermission' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.patch("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyChat — Conversations
Update Conversation
Update a group or space conversation’s name, description, avatar, or posting permissions
PATCH
/
:projectId
/
api
/
v7
/
conversations
/
:conversationId
Update Conversation
curl --request PATCH \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"avatarFileId": {},
"postingPermission": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId"
payload = {
"name": "<string>",
"description": "<string>",
"avatarFileId": {},
"postingPermission": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
avatarFileId: {},
postingPermission: '<string>'
})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId', 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.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'avatarFileId' => [
],
'postingPermission' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.patch("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"avatarFileId\": {},\n \"postingPermission\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyUpdates one or more fields on a conversation. Only
group and space conversations can be updated — direct conversations return a 400.
Authorization:
groupconversations: caller must be an activeadminmember.spaceconversations: caller must haveadminormoderatorrole in the parent Space.
Path Parameters
string
required
The ID of the conversation to update.
Body Parameters
All fields are optional. Only provided fields are updated.string
New display name for the conversation. Maximum 200 characters.
string
New description. Maximum 1000 characters.
string | null
ID of an uploaded File to use as the conversation avatar. Pass
null to remove the current avatar. If a previous avatar exists, it is deleted from storage automatically.string
Who can post messages. Only valid for
space conversations. Accepted values: "members" (any active member), "admins" (only space admins and moderators).Response
Returns the updated Conversation object, withavatarFile populated if set.
Error Responses
Not Found — 404
Not Found — 404
{ "error": "Conversation not found.", "code": "chat/not-found" }
Cannot Update DM — 400 Bad Request
Cannot Update DM — 400 Bad Request
{ "error": "Direct conversations cannot be updated.", "code": "chat/cannot-update-dm" }
Invalid Field — 400 Bad Request
Invalid Field — 400 Bad Request
{ "error": "'postingPermission' can only be set on space conversations.", "code": "chat/invalid-field" }
Forbidden (group) — 403
Forbidden (group) — 403
{ "error": "Only group admins can update this conversation.", "code": "chat/not-a-member" }
Forbidden (space) — 403
Forbidden (space) — 403
{ "error": "Only space admins and moderators can update the space conversation.", "code": "chat/not-a-member" }

