curl --request DELETE \
--url https://apix.us.amity.co/api/v5/messages/{messageId}/pin \
--header 'Authorization: Bearer <token>'import requests
url = "https://apix.us.amity.co/api/v5/messages/{messageId}/pin"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apix.us.amity.co/api/v5/messages/{messageId}/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://apix.us.amity.co/api/v5/messages/{messageId}/pin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://apix.us.amity.co/api/v5/messages/{messageId}/pin"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://apix.us.amity.co/api/v5/messages/{messageId}/pin")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apix.us.amity.co/api/v5/messages/{messageId}/pin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"channels": [
{
"channelId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"isDistinct": true,
"metadata": {},
"type": "standard",
"tags": [
"<string>"
],
"isMuted": true,
"isRateLimited": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"rateLimit": 123,
"rateLimitWindow": 123,
"rateLimitTimeout": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"messageAutoDeleteEnabled": true,
"autoDeleteMessageByFlagLimit": 123,
"memberCount": 123,
"messageCount": 123,
"lastActivity": "2023-11-07T05:31:56Z",
"avatarFileId": "<string>",
"isDeleted": false,
"messagePreviewId": "<string>",
"isPublic": true,
"notificationMode": "default",
"attachedTo": {
"postId": "<string>",
"videoStreamId": "<string>",
"roomId": "<string>"
},
"pinnedMessage": {
"messageId": "a85dca058f5b585f86a29f14",
"channelId": "abc665aed9dbb8d036037eed",
"messageFeedId": "507f191e810c19729de860ea",
"segment": 123,
"dataType": "text",
"data": {
"text": "test"
},
"creatorId": "5349b4ddd2781d08c09890f4",
"parentId": "abc665afd7dbb8d036037eea",
"isDeleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"pinnedBy": "<string>",
"pinnedAt": "2023-11-07T05:31:56Z"
}
}
],
"channelUsers": [
{
"userId": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"channelId": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"membership": "none",
"isBanned": true,
"lastActivity": "2023-11-07T05:31:56Z",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"readToSegment": 123,
"lastMentionedSegment": 123,
"isMuted": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messagePreviews": [
{
"messageId": "a85dca058f5b585f86a29f14",
"channelId": "abc665aed9dbb8d036037eed",
"messageFeedId": "507f191e810c19729de860ea",
"segment": 123,
"dataType": "text",
"data": {
"text": "test"
},
"creatorId": "5349b4ddd2781d08c09890f4",
"parentId": "abc665afd7dbb8d036037eea",
"isDeleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messageFeedsInfo": [
{
"messageFeedId": "a85dca058f5b585f86a29f14",
"name": "text",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"messagePreviewId": "<string>"
}
],
"users": [
{
"userId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"displayName": "<string>",
"profileHandle": "<string>",
"description": "<string>",
"avatarFileId": "<string>",
"avatarCustomUrl": "<string>",
"flagCount": 123,
"hashFlag": {
"bits": 123,
"hashes": 123,
"hash": [
"<string>"
]
},
"metadata": {},
"isGlobalBan": true,
"isBrand": true,
"isDeleted": true
}
],
"files": [
{
"fileId": "<string>",
"fileUrl": "<string>",
"type": "image",
"accessType": "public",
"altText": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"attributes": {
"name": "<string>",
"extension": "<string>",
"size": 123,
"mimeType": "<string>",
"metadata": {
"exif": {},
"gps": {},
"height": 123,
"width": 123,
"isFull": true
}
}
}
]
}{
"status": "error",
"code": 400000,
"message": "Bad Request."
}{
"status": "error",
"code": 400301,
"message": "User is not a member of a channel"
}{
"status": "error",
"code": 400400,
"message": "Resource Not Found."
}{
"status": "error",
"code": 500000,
"message": "Unexpected error"
}unpin a message from its channel.
Clear the channel’s pin. The channel broadcasts channel.messageUnpinned on its realtime
topic and its pinnedMessage becomes null. The caller needs the channel’s PinMessage
permission, or admin ModerateChannel.
The request is rejected when the message is not the one currently pinned.
curl --request DELETE \
--url https://apix.us.amity.co/api/v5/messages/{messageId}/pin \
--header 'Authorization: Bearer <token>'import requests
url = "https://apix.us.amity.co/api/v5/messages/{messageId}/pin"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apix.us.amity.co/api/v5/messages/{messageId}/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://apix.us.amity.co/api/v5/messages/{messageId}/pin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://apix.us.amity.co/api/v5/messages/{messageId}/pin"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://apix.us.amity.co/api/v5/messages/{messageId}/pin")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apix.us.amity.co/api/v5/messages/{messageId}/pin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"channels": [
{
"channelId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"isDistinct": true,
"metadata": {},
"type": "standard",
"tags": [
"<string>"
],
"isMuted": true,
"isRateLimited": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"rateLimit": 123,
"rateLimitWindow": 123,
"rateLimitTimeout": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"messageAutoDeleteEnabled": true,
"autoDeleteMessageByFlagLimit": 123,
"memberCount": 123,
"messageCount": 123,
"lastActivity": "2023-11-07T05:31:56Z",
"avatarFileId": "<string>",
"isDeleted": false,
"messagePreviewId": "<string>",
"isPublic": true,
"notificationMode": "default",
"attachedTo": {
"postId": "<string>",
"videoStreamId": "<string>",
"roomId": "<string>"
},
"pinnedMessage": {
"messageId": "a85dca058f5b585f86a29f14",
"channelId": "abc665aed9dbb8d036037eed",
"messageFeedId": "507f191e810c19729de860ea",
"segment": 123,
"dataType": "text",
"data": {
"text": "test"
},
"creatorId": "5349b4ddd2781d08c09890f4",
"parentId": "abc665afd7dbb8d036037eea",
"isDeleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"pinnedBy": "<string>",
"pinnedAt": "2023-11-07T05:31:56Z"
}
}
],
"channelUsers": [
{
"userId": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"channelId": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"membership": "none",
"isBanned": true,
"lastActivity": "2023-11-07T05:31:56Z",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"readToSegment": 123,
"lastMentionedSegment": 123,
"isMuted": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messagePreviews": [
{
"messageId": "a85dca058f5b585f86a29f14",
"channelId": "abc665aed9dbb8d036037eed",
"messageFeedId": "507f191e810c19729de860ea",
"segment": 123,
"dataType": "text",
"data": {
"text": "test"
},
"creatorId": "5349b4ddd2781d08c09890f4",
"parentId": "abc665afd7dbb8d036037eea",
"isDeleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messageFeedsInfo": [
{
"messageFeedId": "a85dca058f5b585f86a29f14",
"name": "text",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"messagePreviewId": "<string>"
}
],
"users": [
{
"userId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"displayName": "<string>",
"profileHandle": "<string>",
"description": "<string>",
"avatarFileId": "<string>",
"avatarCustomUrl": "<string>",
"flagCount": 123,
"hashFlag": {
"bits": 123,
"hashes": 123,
"hash": [
"<string>"
]
},
"metadata": {},
"isGlobalBan": true,
"isBrand": true,
"isDeleted": true
}
],
"files": [
{
"fileId": "<string>",
"fileUrl": "<string>",
"type": "image",
"accessType": "public",
"altText": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"attributes": {
"name": "<string>",
"extension": "<string>",
"size": 123,
"mimeType": "<string>",
"metadata": {
"exif": {},
"gps": {},
"height": 123,
"width": 123,
"isFull": true
}
}
}
]
}{
"status": "error",
"code": 400000,
"message": "Bad Request."
}{
"status": "error",
"code": 400301,
"message": "User is not a member of a channel"
}{
"status": "error",
"code": 400400,
"message": "Resource Not Found."
}{
"status": "error",
"code": 500000,
"message": "Unexpected error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of a message A message ID
30"a85dca058f5b585f86a29f14"
Response
Channels Information
Show child attributes
Show child attributes
List of users in channel with membership and role. Normally, it will return only caller as user. However, it will return all users in conversation channel. For ban/unban events, it will return banned users.
Show child attributes
Show child attributes
Depends on messagePreviewId. if null will be empty array.
Show child attributes
Show child attributes
Depends on messagePreviews. if empty array will be empty array.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes