Add a reaction
const url = 'https://desk.example.com/api/v1/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/messages/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/reactions/%F0%9F%8E%89';const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://desk.example.com/api/v1/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/messages/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/reactions/%F0%9F%8E%89 \ --header 'Authorization: Bearer <token>'Required scope: reactions:write
Adds the subject’s reaction to a message. Idempotent — re-adding a reaction the subject already left is a no-op. System messages cannot be reacted to.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The channel’s id.
The message’s id.
A native unicode emoji, or a :name: shortcode naming a custom
emoji that exists in the workspace. URL-encode the segment.
Examples
🎉:shipit:Responses
Section titled “Responses”The reaction is present.
The token is missing, malformed, or revoked.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The token lacks the scope this operation requires, or its subject may see the resource but not perform this action on it.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The resource does not exist, is outside the token’s workspace, or the
integrations platform is disabled. A channel the subject cannot see is
reported here rather than as a 403, so the API never leaks its
existence.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The request body failed validation.
object
The failing fields, each mapped to its messages.
object
Examplegenerated
{ "message": "example", "errors": { "additionalProperty": [ "example" ] }}The per-token rate limit (INTEGRATIONS_API_RATE_LIMIT requests per
minute) was exceeded. Retry after the Retry-After header.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}Headers
Section titled “Headers”Seconds to wait before retrying.