Moderation API
Use these actions to read and change the chat filters that KickBot uses to moderate your Kick chat, and to read what the filters removed.
Each action is a REST endpoint under https://kickbot.com/api/v1 and an MCP tool with the same name. The MCP area name is moderation. Use it to load only this area: https://kickbot.com/api/v1/mcp?areas=moderation.
A team member needs the Moderation permission in Manage Team. Owners and admins have every permission. Write actions also need a read and write key or connection. See Permissions and security.
How the feature works in the dashboard: Moderation.
Actions
Section titled “Actions”| Tool | REST | Access |
|---|---|---|
get_moderation_settings | GET /moderation/settings | Read |
update_moderation_settings | PATCH /moderation/settings | Write |
list_moderation_logs | GET /moderation/logs | Read |
get_moderation_settings
Section titled “get_moderation_settings”Get the chat moderation settings. Read the chat filters KickBot uses to delete messages: bad words, repeated text, caps, zalgo, message length, banned words, and banned regex.
GET /api/v1/moderation/settingsNo input fields.
update_moderation_settings
Section titled “update_moderation_settings”Update the chat moderation settings. Change some chat filters. Only the fields you send change; lists replace the whole list. Requires a verified account. Returns the saved settings (check the lists: invalid entries are dropped).
PATCH /api/v1/moderation/settingsNeeds a read and write key or connection. This can delete or replace data, and you may not be able to undo it.
| Field | Type | Required | Description |
|---|---|---|---|
bad_word_filter | boolean | No | Delete messages that contain words from KickBot’s built-in bad word list. |
repeated_text_filter | boolean | No | Delete messages with a lot of repeated text (spam). |
excessive_caps_filter | boolean | No | Delete messages that are mostly capital letters. |
zalgo_filter | boolean | No | Delete messages with zalgo (glitch) text. |
max_message_length | integer | No | Delete messages longer than this many characters. 500 (the default) means no length limit. Must be at least 1. |
custom_banned_words | array of string | No | Your own banned words or phrases. Replaces the whole list. Entries shorter than 2 characters are dropped; at most 200 are kept. A newline-separated string also works. |
banned_regex | array of string | No | Regular expressions (JavaScript syntax) that delete matching messages. Replaces the whole list. Invalid patterns and patterns with nested quantifiers like (a+)+ are dropped; at most 20 are kept. Check the returned list. |
list_moderation_logs
Section titled “list_moderation_logs”List moderation logs. List the chat messages the filters deleted, newest first: who sent it, the reason (the filter), and the message.
GET /api/v1/moderation/logs| Field | Type | Required | Description |
|---|---|---|---|
limit (query) | integer | No | Max logs to return (1-100, default 50). |
offset (query) | integer | No | Number of logs to skip (default 0). |