API reference
Reactions
Message reactions with Unicode emoji, behind the reactions flag. Paths take the emoji URL-encoded. Reacting shares nothing with notifications: nobody is pinged.
Every path is relative to https://api.palloo.app/v1.
Send a bot token as Authorization: Bearer palloo_bot_... unless the operation says otherwise; see Authentication.
Try it
Send real requests to https://api.palloo.app/v1 from this page. Open Try it under an operation, fill in its fields and send it.
A bot token is a password.
Anyone who has it can act as your bot. Use a test bot in a test server, never a production bot. The token stays in this tab's memory only: it is not saved, and it goes to the API and nowhere else. Reloading or leaving the page forgets it.
Starts with palloo_bot_. People's tokens are refused here.
On this page
Remove all reactions
/channels/{id}/messages/{messageID}/reactions
Bot token: Call it with a bot token (people can call it too).
Remove every reaction from a message. Requires Manage Messages (in a community) and Read Message History.
Sends message_reaction_remove_all. Not recorded in the moderation log, as on Discord. In a DM nobody can remove the other participant's reactions. A message without reactions answers 204. Works while the reactions flag is off for the server, so moderators can clear stored reactions. Shares the reaction rate limit.
Required permissions
Requires Manage Messages (in a community) and Read Message History.
Try it: DELETE /channels/{id}/messages/{messageID}/reactions
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
Responses
- 204
-
Removed, or there was nothing to remove.
- 400
-
system_message: system messages have no reactions.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
channel_not_text: a voice channel or category.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error
List reaction users
/channels/{id}/messages/{messageID}/reactions/{emoji}
Bot token: Call it with a bot token (people can call it too).
Who reacted to a message with one emoji, in the order they reacted. Requires View Channel and Read Message History.
Pages with after (the last user ID of the previous page) and limit. Anyone who can read the message can list who reacted, as on Discord. A user who no longer exists is shown as "Deleted User". Rate limited per account (reaction_list_per_user: 30 at once, then 1 per second).
Required permissions
Requires View Channel and Read Message History.
Try it: GET /channels/{id}/messages/{messageID}/reactions/{emoji}
Sends the bot token from the top of this page.
Request
GET https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions/{emoji}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
| emoji Required | path | string |
One Unicode emoji, URL-encoded ( at least 1 characters; at most 256 characters |
| after | query | ID |
A user ID from the previous page; only users who reacted after them. pattern ^[0-9A-HJKMNP-TV-Z]{26}$ |
| limit | query | integer |
Users per page, 1 to 100 (default 25). at least 1; at most 100 |
Responses
- 200
-
One page of users.
Body: ReactionUserList
Example response (200) { "users": [ { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "username": "string", "display_name": "string", "kind": "user", "avatar": "string", "avatar_dark": "string" } ] } - 400
-
invalid_emoji: not one Unicode emoji, orinvalid_query:afteris not a user ID orlimitis not 1 to 100.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
channel_not_text: a voice channel or category.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error
Remove emoji reactions
/channels/{id}/messages/{messageID}/reactions/{emoji}
Bot token: Call it with a bot token (people can call it too).
Remove every reaction with one emoji from a message. Requires Manage Messages (in a community) and Read Message History.
Sends message_reaction_remove_emoji. Not recorded in the moderation log. Answers 204 when nobody reacted with that emoji. Works while the reactions flag is off for the server. Shares the reaction rate limit.
Required permissions
Requires Manage Messages (in a community) and Read Message History.
Try it: DELETE /channels/{id}/messages/{messageID}/reactions/{emoji}
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions/{emoji}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
| emoji Required | path | string |
One Unicode emoji, URL-encoded ( at least 1 characters; at most 256 characters |
Responses
- 204
-
Removed, or there was nothing to remove.
- 400
-
invalid_emoji: not one Unicode emoji, orsystem_message.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
channel_not_text: a voice channel or category.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error
Add reaction
/channels/{id}/messages/{messageID}/reactions/{emoji}/@me
Bot token: Call it with a bot token (people can call it too).
React to a message. Requires View Channel and Read Message History, and Add Reactions when nobody has reacted with this emoji yet, as on Discord.
Anyone who can read the message can add to an existing reaction; starting a new one needs
Add Reactions. A message holds at most 20 different emoji. A timed-out member cannot react.
In a DM the caller must still be allowed to message the other participant (a block either
way stops reactions). Bots can react; webhooks cannot. Reacting again with the same emoji
changes nothing and answers 204. In a locked thread, starting or joining a reaction needs
Manage Threads, as sending does. Sends message_reaction_add. Reactions send no
notification, as on Discord. Rate limited per account (reaction_per_user, or
reaction_per_bot) and per message across every account (reaction_per_message: 50 at
once, then 50 per second, shared with removing your own reaction). When the message is
too busy to take the reaction within a second, answers 429 with Retry-After.
Required permissions
Requires View Channel and Read Message History, and Add Reactions when nobody has reacted with this emoji yet, as on Discord.
Try it: PUT /channels/{id}/messages/{messageID}/reactions/{emoji}/@me
Sends the bot token from the top of this page.
Request
PUT https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions/{emoji}/@me
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
| emoji Required | path | string |
One Unicode emoji, URL-encoded ( at least 1 characters; at most 256 characters |
Responses
- 204
-
Reacted, or had already reacted with this emoji.
- 400
-
invalid_emoji: not one Unicode emoji (custom emoji are not supported yet), orsystem_message: system messages cannot have reactions.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
reaction_limit_reached: the message already has 20 different emoji,channel_not_text: a voice channel or category,thread_archived: the thread is archived, orblocking_user: the caller blocked the other participant of the DM.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error
Remove own reaction
/channels/{id}/messages/{messageID}/reactions/{emoji}/@me
Bot token: Call it with a bot token (people can call it too).
Remove your own reaction. Requires View Channel.
Allowed while timed out, after a block and in a locked thread, as on Discord. Answers 204 when the caller had not reacted with this emoji. Sends message_reaction_remove. Shares the reaction rate limit and the per-message limit.
Required permissions
Requires View Channel.
Try it: DELETE /channels/{id}/messages/{messageID}/reactions/{emoji}/@me
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions/{emoji}/@me
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
| emoji Required | path | string |
One Unicode emoji, URL-encoded ( at least 1 characters; at most 256 characters |
Responses
- 204
-
Removed, or was not there.
- 400
-
invalid_emoji: not one Unicode emoji, orsystem_message.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
channel_not_text: a voice channel or category, orthread_archived.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error
Remove user reaction
/channels/{id}/messages/{messageID}/reactions/{emoji}/{userID}
Bot token: Call it with a bot token (people can call it too).
Remove someone's reaction. Requires Manage Messages (in a community) and Read Message History; your own user ID works like @me.
Sends message_reaction_remove. Not recorded in the moderation log, as on Discord. In a DM only your own reaction can be removed. Answers 204 when that user had not reacted with this emoji. Removing someone else's reaction works while the reactions flag is off for the server. Shares the reaction rate limit.
Required permissions
Requires Manage Messages (in a community) and Read Message History; your own user ID works like `@me`.
Try it: DELETE /channels/{id}/messages/{messageID}/reactions/{emoji}/{userID}
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/channels/{id}/messages/{messageID}/reactions/{emoji}/{userID}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Channel ID. |
| messageID Required | path | string |
Message ID. The message must be in the channel. |
| emoji Required | path | string |
One Unicode emoji, URL-encoded ( at least 1 characters; at most 256 characters |
| userID Required | path | string |
The member's user ID. |
Responses
- 204
-
Removed, or was not there.
- 400
-
invalid_emoji: not one Unicode emoji, orsystem_message.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission(no Add Reactions for an emoji nobody has used on the message yet, no Read Message History, or no Manage Messages to remove other people's reactions; in a DM, another participant's reactions can never be removed),timed_out,thread_locked(adding in a locked thread without Manage Threads),moderation_mfa_required,reactions_disabled(thereactionsflag is off for this server, or in a DM not on for everyone), ordm_not_allowed: the other participant of the DM does not accept messages from the caller.Body: Error
- 404
-
channel_not_found: no such channel, or the caller cannot view it.message_not_found: the message does not exist in this channel.Body: Error
- 409
-
channel_not_text: a voice channel or category.Body: Error
- 429
-
rate_limited: too many attempts. Every operation a bot calls is also limited per bot (50 at once, then 50 per second), so any authenticated operation can answer this to a bot. Changes to a community's structure (creating or changing the community, channels, roles, member roles, overwrites, invites, kicks, bans, timeouts, report updates and actions, and bots) are also limited per caller (30 at once, then 1 per second) and per community (60 at once, then 1 per second), and creating communities per caller (10 at once, then 1 every 5 minutes).Body: Error
Retry-Afterheader. - 500
-
internal: an unexpected server error. Details are only in server logs.Body: Error