Edit Message
curl --request PATCH \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId \
--header 'Content-Type: application/json' \
--data '
{
"content": "<string>",
"gif": "<string>",
"mentions": [
{}
],
"metadata": {}
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId"
payload = {
"content": "<string>",
"gif": "<string>",
"mentions": [{}],
"metadata": {}
}
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({content: '<string>', gif: '<string>', mentions: [{}], metadata: {}})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId', 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/messages/:messageId",
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([
'content' => '<string>',
'gif' => '<string>',
'mentions' => [
[
]
],
'metadata' => [
]
]),
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/messages/:messageId"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\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/messages/:messageId")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId")
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 \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_bodyChat — Messages
Edit Message
Edit the content of a message
PATCH
/
:projectId
/
api
/
v7
/
conversations
/
:conversationId
/
messages
/
:messageId
Edit Message
curl --request PATCH \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId \
--header 'Content-Type: application/json' \
--data '
{
"content": "<string>",
"gif": "<string>",
"mentions": [
{}
],
"metadata": {}
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId"
payload = {
"content": "<string>",
"gif": "<string>",
"mentions": [{}],
"metadata": {}
}
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({content: '<string>', gif: '<string>', mentions: [{}], metadata: {}})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId', 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/messages/:messageId",
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([
'content' => '<string>',
'gif' => '<string>',
'mentions' => [
[
]
],
'metadata' => [
]
]),
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/messages/:messageId"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\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/messages/:messageId")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId")
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 \"content\": \"<string>\",\n \"gif\": \"<string>\",\n \"mentions\": [\n {}\n ],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_bodyUpdates the content, GIF, mentions, or metadata of an existing message. Only the message author can edit their own messages. Deleted or moderator-removed messages cannot be edited.
If no fields actually changed, the endpoint returns the current message without updating
editedAt.
Path Parameters
The ID of the conversation.
The ID of the message to edit.
Body Parameters
All fields are optional. Only provided fields are updated.New text content. After editing, the message must still have at least one of: content, GIF, or an attached file.
Updated GIF URL. Set to
null to remove the GIF.Updated metadata.
Response
Returns the updated ChatMessage, witheditedAt set to the current time.
Error Responses
Forbidden — 403 (not a member)
Forbidden — 403 (not a member)
{ "error": "You are not a member of this conversation.", "code": "chat/not-a-member" }
Not Found — 404
Not Found — 404
{ "error": "Message not found.", "code": "chat/message-not-found" }
Forbidden — 403 (not the author)
Forbidden — 403 (not the author)
{ "error": "Only the message author can edit this message.", "code": "chat/forbidden" }
Message Deleted — 400 Bad Request
Message Deleted — 400 Bad Request
{ "error": "Deleted messages cannot be edited.", "code": "chat/message-deleted" }
Message Removed — 400 Bad Request
Message Removed — 400 Bad Request
{ "error": "Removed messages cannot be edited.", "code": "chat/message-removed" }
Empty Result — 400 Bad Request
Empty Result — 400 Bad Request
{ "error": "Edited message must have at least content, a GIF, or a file.", "code": "chat/empty-message" }
⌘I

