Pin message
curl --request POST \
--url https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin \
--header 'apikey: <api-key>'import requests
url = "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin"
headers = {"apikey": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {apikey: '<api-key>'}};
fetch('https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin', 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}/pin",
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>"
],
]);
$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}/pin"
req, _ := http.NewRequest("POST", url, nil)
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}/pin")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
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,
"pinnedBy": "app_system",
"pinnedAt": 1700210300
}
}{
"error": {
"code": "ERR_PINNED_MESSAGES_LIMIT_EXCEEDED",
"message": "The number of pinned messages for the conversation with id superhero1_user_superhero2 exceeds the allowed limit of 5."
}
}{
"error": {
"code": "ERR_PERMISSION_DENIED",
"message": "Permission denied for action pinMessage with role default as per RBAC policy."
}
}Messages
Pin message
Pin a CometChat message in a one-on-one or group conversation with REST API, as the app or on behalf of a user.
POST
/
messages
/
{id}
/
pin
Pin message
curl --request POST \
--url https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin \
--header 'apikey: <api-key>'import requests
url = "https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin"
headers = {"apikey": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {apikey: '<api-key>'}};
fetch('https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin', 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}/pin",
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>"
],
]);
$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}/pin"
req, _ := http.NewRequest("POST", url, nil)
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}/pin")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{appId}.api-{region}.cometchat.io/v3/messages/{id}/pin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
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,
"pinnedBy": "app_system",
"pinnedAt": 1700210300
}
}{
"error": {
"code": "ERR_PINNED_MESSAGES_LIMIT_EXCEEDED",
"message": "The number of pinned messages for the conversation with id superhero1_user_superhero2 exceeds the allowed limit of 5."
}
}{
"error": {
"code": "ERR_PERMISSION_DENIED",
"message": "Permission denied for action pinMessage with role default as per RBAC policy."
}
}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 to pin the message as. Leave it out to pin the message as the app itself.
Path Parameters
Id of the message to pin.
Response
Pinning a message
Show child attributes
Show child attributes
Was this page helpful?