Save message
curl --request POST \
--url https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save \
--header 'apikey: <api-key>' \
--header 'onBehalfOf: <onbehalfof>'import requests
url = "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save"
headers = {
"onBehalfOf": "<onbehalfof>",
"apikey": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {onBehalfOf: '<onbehalfof>', apikey: '<api-key>'}};
fetch('https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save', 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://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"apikey: <api-key>",
"onBehalfOf: <onbehalfof>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("onBehalfOf", "<onbehalfof>")
req.Header.Add("apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save")
.header("onBehalfOf", "<onbehalfof>")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["onBehalfOf"] = '<onbehalfof>'
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "2",
"conversationId": "superhero1_user_superhero2",
"sender": "superhero1",
"receiverType": "user",
"receiver": "superhero2",
"category": "message",
"type": "text",
"data": {
"text": "Hi,"
},
"sentAt": 1700210266,
"updatedAt": 1700210266,
"savedAt": 1700210300
}
}{
"error": {
"code": "ERR_SAVED_MESSAGES_LIMIT_EXCEEDED",
"message": "The number of saved messages for the user with uid superhero1 exceeds the allowed limit of 100."
}
}Messages
Save message
Save a CometChat message to a user’s private saved list with REST API on behalf of that user.
POST
/
messages
/
{id}
/
save
Save message
curl --request POST \
--url https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save \
--header 'apikey: <api-key>' \
--header 'onBehalfOf: <onbehalfof>'import requests
url = "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save"
headers = {
"onBehalfOf": "<onbehalfof>",
"apikey": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {onBehalfOf: '<onbehalfof>', apikey: '<api-key>'}};
fetch('https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save', 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://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"apikey: <api-key>",
"onBehalfOf: <onbehalfof>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("onBehalfOf", "<onbehalfof>")
req.Header.Add("apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save")
.header("onBehalfOf", "<onbehalfof>")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/save")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["onBehalfOf"] = '<onbehalfof>'
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "2",
"conversationId": "superhero1_user_superhero2",
"sender": "superhero1",
"receiverType": "user",
"receiver": "superhero2",
"category": "message",
"type": "text",
"data": {
"text": "Hi,"
},
"sentAt": 1700210266,
"updatedAt": 1700210266,
"savedAt": 1700210300
}
}{
"error": {
"code": "ERR_SAVED_MESSAGES_LIMIT_EXCEEDED",
"message": "The number of saved messages for the user with uid superhero1 exceeds the allowed limit of 100."
}
}For the complete error reference, see Error Guide.
Authorizations
API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).
Headers
UID of the user on whose behalf the action is performed.
Path Parameters
Id of the message to save.
Response
Saving a message. savedAt appears only for the user the message was saved for.
Show child attributes
Show child attributes
Was this page helpful?