Toggle Message Reaction
curl --request POST \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions \
--header 'Content-Type: application/json' \
--data '
{
"emoji": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions"
payload = { "emoji": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({emoji: '<string>'})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions', 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/reactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emoji' => '<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/messages/:messageId/reactions"
payload := strings.NewReader("{\n \"emoji\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions")
.header("Content-Type", "application/json")
.body("{\n \"emoji\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"emoji\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"reactionCounts": {},
"userReactions": [
"<string>"
],
"delta": 123
}Chat — Messages
Toggle Message Reaction
Add or remove an emoji reaction on a chat message
POST
/
:projectId
/
api
/
v7
/
conversations
/
:conversationId
/
messages
/
:messageId
/
reactions
Toggle Message Reaction
curl --request POST \
--url https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions \
--header 'Content-Type: application/json' \
--data '
{
"emoji": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions"
payload = { "emoji": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({emoji: '<string>'})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions', 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/reactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emoji' => '<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/messages/:messageId/reactions"
payload := strings.NewReader("{\n \"emoji\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions")
.header("Content-Type", "application/json")
.body("{\n \"emoji\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/conversations/:conversationId/messages/:messageId/reactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"emoji\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"reactionCounts": {},
"userReactions": [
"<string>"
],
"delta": 123
}Toggles an emoji reaction on a message. If the current user has not yet reacted with this emoji, the reaction is added. If they already have, it is removed. The caller must be an active member.
The
emoji must be exactly one grapheme cluster (a single visible character, including multi-codepoint emoji like 👨👩👧).
Path Parameters
string
required
The ID of the conversation.
string
required
The ID of the message to react to.
Body Parameters
string
required
The emoji to toggle. Must be exactly one grapheme cluster.
Response
Record<string, number>
Updated emoji reaction counts for this message (e.g.
{ "👍": 3, "❤️": 1 }).string[]
The current user’s full set of reactions on this message after the toggle.
number
1 if a reaction was added, -1 if removed.Error Responses
Invalid Emoji — 400 Bad Request
Invalid Emoji — 400 Bad Request
{ "error": "Emoji must be exactly one grapheme cluster.", "code": "chat/invalid-emoji" }
Forbidden — 403
Forbidden — 403
{ "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" }
⌘I

