API reference
Moderation
Timeouts, reports, the report queues and the community moderation log. A timed-out member keeps only View Channel and Read Message History in the community, and anything else answers 403 timed_out.
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
Timeout member
/communities/{id}/members/{userID}/timeout
Bot token: Call it with a bot token (people can call it too).
Time a member out. Requires Moderate Members, and the member must be below the caller's highest role. Until the timeout ends the member keeps only View Channel and Read Message History everywhere in the community; anything else answers 403 timed_out. A second timeout replaces the first. Leaving and rejoining does not end it.
Required permissions
Requires Moderate Members, and the member must be below the caller's highest role.
Try it: PUT /communities/{id}/members/{userID}/timeout
Sends the bot token from the top of this page.
Prefilled from the example above. Replace the placeholder values; unknown fields are refused.
Request
PUT https://api.palloo.app/v1/communities/{id}/members/{userID}/timeout
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| userID Required | path | string |
The member's user ID. |
Request body
application/json:
TimeoutRequest
(required)
| Field | Type | Description |
|---|---|---|
| until | string (date-time) | When the timeout ends. In the future and at most 28 days after the server's clock. |
| duration_seconds | integer | How long the timeout lasts, counted from the server's clock. Prefer this for presets. at least 1; at most 2419200 |
| reason | string or null | Recorded in the moderation log. At most 512 characters with no control or invisible formatting characters. |
{
"until": "2026-10-15T09:00:00Z",
"duration_seconds": 1,
"reason": "string"
}
Responses
- 200
-
The member with
timeout_untilset. Also sent to every member asmember_update.Body: Member
Example response (200) { "user": { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "username": "string", "display_name": "string", "kind": "user", "avatar": "string", "avatar_dark": "string" }, "nickname": "string", "avatar": "string", "avatar_dark": "string", "banner": "string", "bio": "string", "pronouns": "string", "roles": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "joined_at": "2026-10-15T09:00:00Z", "timeout_until": "2026-10-15T09:00:00Z", "bot_presence_intent": false } - 400
-
invalid_body,invalid_timeoutorinvalid_reason.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission,timed_out(the caller is timed out),role_hierarchy(the member is not below the caller's highest role) orcannot_timeout_owner.Body: Error
- 404
-
community_not_found(no such community, or the caller is not a member) ormember_not_found(the target is not a member).Body: Error
- 409
-
cannot_timeout_self.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 timeout
/communities/{id}/members/{userID}/timeout
Bot token: Call it with a bot token (people can call it too).
End a timeout early. Requires Moderate Members, and the user must be below the caller's highest role. Works for a user who has left while timed out.
Required permissions
Requires Moderate Members, and the user must be below the caller's highest role.
Try it: DELETE /communities/{id}/members/{userID}/timeout
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/communities/{id}/members/{userID}/timeout
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| userID Required | path | string |
The member's user ID. |
| X-Audit-Log-Reason | header | string |
A reason recorded in the community's moderation log, percent-encoded UTF-8. Trimmed, then at most 512 characters with no control or invisible formatting characters. |
Responses
- 204
-
Removed. A member gets
member_updatewithtimeout_untilnull. - 400
-
invalid_reason: theX-Audit-Log-Reasonheader is not valid.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission,timed_out,role_hierarchyorcannot_timeout_owner.Body: Error
- 404
-
community_not_foundortimeout_not_found(no active timeout).Body: Error
- 409
-
cannot_timeout_self.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
Moderation log
/communities/{id}/moderation-log
Bot token: Call it with a bot token (people can call it too).
A page of the community's moderation log, newest first. Requires View Audit Log. Callers without Moderate Members never see report.update entries and get report_id as null. message.delete entries in a channel the caller cannot view now carry {"channel_hidden": true} as their details (Administrators see everything). Channel entries (channel.create, channel.update, channel.delete, channel.reorder and the overwrite actions) name and list channels whatever the caller can view, as on Discord: View Audit Log is a trusted permission that shows the community's whole structure.
Required permissions
Requires View Audit Log.
Try it: GET /communities/{id}/moderation-log
Sends the bot token from the top of this page.
Request
GET https://api.palloo.app/v1/communities/{id}/moderation-log
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| before | query | string |
Return entries older than this entry ID. Use |
| action | query | ModerationAction | |
| actor_id | query | string |
Only entries by this user. |
| target_id | query | string |
Only entries about this user, role, channel, message or report. |
| limit | query | integer |
at least 1; at most 100; default 50 |
Responses
- 200
-
One page of entries.
Body: ModerationLogPage
Example response (200) { "entries": [ { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "community_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "action": "community.update", "actor_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "actor_kind": "member", "actor": { "id": {}, "username": "string", "display_name": "string", "kind": {}, "avatar": {}, "avatar_dark": {} }, "target_type": "community", "target_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "target_user": { "id": {}, "username": "string", "display_name": "string", "kind": {}, "avatar": {}, "avatar_dark": {} }, "report_id": "string", "reason": "string", "details": {}, "created_at": "2026-10-15T09:00:00Z" } ], "next": "string" } - 400
-
invalid_query: a filter, cursor orlimit(1 to 100) is not valid.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission: the caller is a member but lacks the permission.Body: Error
- 404
-
community_not_found: no such community, or the caller is not a member. The two cases are indistinguishable on purpose.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 auto moderation rules
/communities/{id}/auto-moderation/rules
Bot token: Call it with a bot token (people can call it too).
The community's AutoMod rules. Requires Manage Server. Every rule route answers 403 auto_moderation_disabled while automod_enabled on GET /instance is false.
Required permissions
Requires Manage Server.
Try it: GET /communities/{id}/auto-moderation/rules
Sends the bot token from the top of this page.
Request
GET https://api.palloo.app/v1/communities/{id}/auto-moderation/rules
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
Responses
- 200
-
The rules, oldest first.
Body: AutoModerationRuleList
Example response (200) { "rules": [ { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "community_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "name": "string", "creator_id": "string", "updated_by": "string", "event_type": "message_send", "trigger_type": "keyword", "trigger_metadata": { "keyword_filter": [], "regex_patterns": [], "presets": [], "allow_list": [], "mention_total_limit": 1, "mention_raid_protection_enabled": false }, "actions": [ { "type": "block_message", "metadata": {} } ], "enabled": false, "exempt_roles": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "exempt_channels": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "created_at": "2026-10-15T09:00:00Z", "updated_at": "2026-10-15T09:00:00Z" } ] } - 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permissionortimed_out(no Manage Server, or no Moderate Members for a rule with a timeout), orauto_moderation_disabled: AutoMod is turned off on this instance (PALLOO_AUTOMOD_ENABLED).Body: Error
- 404
-
community_not_found: no such community, or the caller is not a member. The two cases are indistinguishable on purpose.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
Create auto moderation rule
/communities/{id}/auto-moderation/rules
Bot token: Call it with a bot token (people can call it too).
Create an AutoMod rule. Requires Manage Server, and Moderate Members when the rule has a timeout action. A community has at most 6 keyword rules and one rule of each other trigger type. Recorded in the moderation log with the optional reason.
Required permissions
Requires Manage Server, and Moderate Members when the rule has a `timeout` action.
Try it: POST /communities/{id}/auto-moderation/rules
Sends the bot token from the top of this page.
Prefilled from the example above. Replace the placeholder values; unknown fields are refused.
Request
POST https://api.palloo.app/v1/communities/{id}/auto-moderation/rules
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| X-Audit-Log-Reason | header | string |
A reason recorded in the community's moderation log, percent-encoded UTF-8. Trimmed, then at most 512 characters with no control or invisible formatting characters. |
Request body
application/json:
CreateAutoModerationRuleRequest
(required)
| Field | Type | Description |
|---|---|---|
| nameRequired | string | |
| event_type | string | One of |
| trigger_typeRequired | AutoModerationTriggerType | |
| trigger_metadata | AutoModerationTriggerMetadata | |
| actionsRequired | array of AutoModerationAction | |
| enabled | boolean | default true |
| exempt_roles | array of string | IDs that are not roles of the community are dropped. |
| exempt_channels | array of string | IDs that are not text channels or categories of the community are dropped. |
{
"name": "string",
"event_type": "message_send",
"trigger_type": "keyword",
"trigger_metadata": {
"keyword_filter": [
"string"
],
"regex_patterns": [
"string"
],
"presets": [
"profanity"
],
"allow_list": [
"string"
],
"mention_total_limit": 1,
"mention_raid_protection_enabled": false
},
"actions": [
{
"type": "block_message",
"metadata": {
"custom_message": "string",
"channel_id": {},
"duration_seconds": 1
}
}
],
"enabled": true,
"exempt_roles": [
"string"
],
"exempt_channels": [
"string"
]
}
Responses
- 201
-
Created. Sent as
auto_moderation_rule_createto members with Manage Server.Body: AutoModerationRule
Example response (201) { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "community_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "name": "string", "creator_id": "string", "updated_by": "string", "event_type": "message_send", "trigger_type": "keyword", "trigger_metadata": { "keyword_filter": [ "string" ], "regex_patterns": [ "string" ], "presets": [ "profanity" ], "allow_list": [ "string" ], "mention_total_limit": 1, "mention_raid_protection_enabled": false }, "actions": [ { "type": "block_message", "metadata": { "custom_message": "string", "channel_id": {}, "duration_seconds": 1 } } ], "enabled": false, "exempt_roles": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "exempt_channels": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "created_at": "2026-10-15T09:00:00Z", "updated_at": "2026-10-15T09:00:00Z" } - 400
-
invalid_body,invalid_reasonorinvalid_auto_moderation_rule(the message names the field).Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permissionortimed_out(no Manage Server, or no Moderate Members for a rule with a timeout), orauto_moderation_disabled: AutoMod is turned off on this instance (PALLOO_AUTOMOD_ENABLED).Body: Error
- 404
-
community_not_found: no such community, or the caller is not a member. The two cases are indistinguishable on purpose.Body: Error
- 409
-
auto_moderation_rule_limit: the community has the most rules of that trigger type.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
Get auto moderation rule
/communities/{id}/auto-moderation/rules/{ruleID}
Bot token: Call it with a bot token (people can call it too).
One AutoMod rule. Requires Manage Server.
Required permissions
Requires Manage Server.
Try it: GET /communities/{id}/auto-moderation/rules/{ruleID}
Sends the bot token from the top of this page.
Request
GET https://api.palloo.app/v1/communities/{id}/auto-moderation/rules/{ruleID}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| ruleID Required | path | string |
AutoMod rule ID. |
Responses
- 200
-
The rule.
Body: AutoModerationRule
Example response (200) { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "community_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "name": "string", "creator_id": "string", "updated_by": "string", "event_type": "message_send", "trigger_type": "keyword", "trigger_metadata": { "keyword_filter": [ "string" ], "regex_patterns": [ "string" ], "presets": [ "profanity" ], "allow_list": [ "string" ], "mention_total_limit": 1, "mention_raid_protection_enabled": false }, "actions": [ { "type": "block_message", "metadata": { "custom_message": "string", "channel_id": {}, "duration_seconds": 1 } } ], "enabled": false, "exempt_roles": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "exempt_channels": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "created_at": "2026-10-15T09:00:00Z", "updated_at": "2026-10-15T09:00:00Z" } - 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permissionortimed_out(no Manage Server, or no Moderate Members for a rule with a timeout), orauto_moderation_disabled: AutoMod is turned off on this instance (PALLOO_AUTOMOD_ENABLED).Body: Error
- 404
-
auto_moderation_rule_not_foundorcommunity_not_found.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
Update auto moderation rule
/communities/{id}/auto-moderation/rules/{ruleID}
Bot token: Call it with a bot token (people can call it too).
Change an AutoMod rule; fields left out keep their value, and trigger_type cannot change. Requires Manage Server, and Moderate Members when the rule has or gets a timeout action. The caller becomes the rule's updated_by, whose authority its timeouts use.
Required permissions
Requires Manage Server, and Moderate Members when the rule has or gets a `timeout` action.
Try it: PATCH /communities/{id}/auto-moderation/rules/{ruleID}
Sends the bot token from the top of this page.
Prefilled from the example above. Replace the placeholder values; unknown fields are refused.
Request
PATCH https://api.palloo.app/v1/communities/{id}/auto-moderation/rules/{ruleID}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| ruleID Required | path | string |
AutoMod rule ID. |
| X-Audit-Log-Reason | header | string |
A reason recorded in the community's moderation log, percent-encoded UTF-8. Trimmed, then at most 512 characters with no control or invisible formatting characters. |
Request body
application/json:
UpdateAutoModerationRuleRequest
(required)
| Field | Type | Description |
|---|---|---|
| name | string | |
| event_type | string | One of |
| trigger_type | AutoModerationTriggerType | Accepted only when it is the rule's own trigger type. One of |
| trigger_metadata | AutoModerationTriggerMetadata | |
| actions | array of AutoModerationAction | |
| enabled | boolean | |
| exempt_roles | array of string | |
| exempt_channels | array of string |
{
"name": "string",
"event_type": "message_send",
"trigger_type": "keyword",
"trigger_metadata": {
"keyword_filter": [
"string"
],
"regex_patterns": [
"string"
],
"presets": [
"profanity"
],
"allow_list": [
"string"
],
"mention_total_limit": 1,
"mention_raid_protection_enabled": false
},
"actions": [
{
"type": "block_message",
"metadata": {
"custom_message": "string",
"channel_id": {},
"duration_seconds": 1
}
}
],
"enabled": false,
"exempt_roles": [
"string"
],
"exempt_channels": [
"string"
]
}
Responses
- 200
-
The rule as it now is. Sent as
auto_moderation_rule_update.Body: AutoModerationRule
Example response (200) { "id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "community_id": "01J9ZQ3V5K8M2N4P6R8T0W2Y4A", "name": "string", "creator_id": "string", "updated_by": "string", "event_type": "message_send", "trigger_type": "keyword", "trigger_metadata": { "keyword_filter": [ "string" ], "regex_patterns": [ "string" ], "presets": [ "profanity" ], "allow_list": [ "string" ], "mention_total_limit": 1, "mention_raid_protection_enabled": false }, "actions": [ { "type": "block_message", "metadata": { "custom_message": "string", "channel_id": {}, "duration_seconds": 1 } } ], "enabled": false, "exempt_roles": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "exempt_channels": [ "01J9ZQ3V5K8M2N4P6R8T0W2Y4A" ], "created_at": "2026-10-15T09:00:00Z", "updated_at": "2026-10-15T09:00:00Z" } - 400
-
invalid_body,invalid_reasonorinvalid_auto_moderation_rule.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permissionortimed_out(no Manage Server, or no Moderate Members for a rule with a timeout), orauto_moderation_disabled: AutoMod is turned off on this instance (PALLOO_AUTOMOD_ENABLED).Body: Error
- 404
-
auto_moderation_rule_not_foundorcommunity_not_found.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
Delete auto moderation rule
/communities/{id}/auto-moderation/rules/{ruleID}
Bot token: Call it with a bot token (people can call it too).
Delete an AutoMod rule. Requires Manage Server, and Moderate Members when the rule has a timeout action.
Required permissions
Requires Manage Server, and Moderate Members when the rule has a `timeout` action.
Try it: DELETE /communities/{id}/auto-moderation/rules/{ruleID}
Sends the bot token from the top of this page.
Request
DELETE https://api.palloo.app/v1/communities/{id}/auto-moderation/rules/{ruleID}
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Community ID. |
| ruleID Required | path | string |
AutoMod rule ID. |
| X-Audit-Log-Reason | header | string |
A reason recorded in the community's moderation log, percent-encoded UTF-8. Trimmed, then at most 512 characters with no control or invisible formatting characters. |
Responses
- 204
-
Deleted. Sent as
auto_moderation_rule_deletewith the rule as it was. - 400
-
invalid_reason: theX-Audit-Log-Reasonheader is not valid.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permissionortimed_out(no Manage Server, or no Moderate Members for a rule with a timeout), orauto_moderation_disabled: AutoMod is turned off on this instance (PALLOO_AUTOMOD_ENABLED).Body: Error
- 404
-
auto_moderation_rule_not_foundorcommunity_not_found.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
Quarantine attachment
/attachments/{id}/quarantine
Bot token: Call it with a bot token (people can call it too).
Hide an attachment from everyone. Requires Manage Messages in its channel.
Links stop working at once (with S3, as soon as the file has moved, normally within seconds); its message keeps it with quarantined: true and no URLs, and members receive message_update. Recorded in the moderation log as attachment.quarantine. Only instance admins can release it. DM attachments are quarantined through the admin route.
Required permissions
Requires Manage Messages in its channel.
Try it: PUT /attachments/{id}/quarantine
Sends the bot token from the top of this page.
Prefilled from the example above. Replace the placeholder values; unknown fields are refused.
Request
PUT https://api.palloo.app/v1/attachments/{id}/quarantine
curl command
Response
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id Required | path | string |
Attachment ID (the ID of the upload it came from). |
Request body
application/json:
QuarantineRequest
| Field | Type | Description |
|---|---|---|
| reason | string | Up to 512 characters, for the moderation log. |
{
"reason": "string"
}
Responses
- 204
-
Quarantined, or it already was.
- 400
-
invalid_bodyorinvalid_reason.Body: Error
- 401
-
unauthenticated: the bearer token is missing, invalid or expired.Body: Error
WWW-Authenticateheader. - 403
-
missing_permission: the caller is a member but lacks the permission.Body: Error
- 404
-
attachment_not_found: no such attachment, or the caller cannot see its channel.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