# AI character API

> KickBot API and MCP reference for the AI character: read and change the AI chat character that KickBot answers as in your Kick chat.

Source: https://kickbot.com/docs/api/reference/ai-character

Use these actions to read and change the AI character, the AI that answers viewers in chat.

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 `ai_character`. Use it to load only this area: `https://kickbot.com/api/v1/mcp?areas=ai_character`.

A team member needs the **AI character** 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](https://kickbot.com/docs/api/start/permissions-and-security).

How the feature works in the dashboard: [AI character](https://kickbot.com/docs/ai/ai-character).

## Actions

| Tool | REST | Access |
|---|---|---|
| [`get_ai_character_settings`](#get_ai_character_settings) | `GET /ai-character/settings` | Read |
| [`update_ai_character_settings`](#update_ai_character_settings) | `PATCH /ai-character/settings` | Write |

## get_ai_character_settings

**Get the AI character settings.** Read the AI chat character: on/off, who can use it, the persona, its prompt, the model, and how many AI replies were used in the last 30 days (free plans have a limit).

```http
GET /api/v1/ai-character/settings
```

No input fields.

## update_ai_character_settings

**Update the AI character settings.** Change some AI character settings. Only the fields you send change. Requires a verified account. To use your own persona, set character to "Custom" and send custom_prompt.

```http
PATCH /api/v1/ai-character/settings
```

Needs a read and write key or connection.

| Field | Type | Required | Description |
|---|---|---|---|
| `enabled` | boolean | No | Turn the AI character on or off. Viewers talk to it by mentioning @KickBot in chat. |
| `everyone_only` | boolean | No | Everyone in chat can use it. |
| `subscriber_only` | boolean | No | Subscribers can use it (when everyone_only is false). |
| `vip_only` | boolean | No | VIPs can use it (when everyone_only is false). |
| `mod_only` | boolean | No | Moderators can use it (when everyone_only is false). |
| `character` | string | No | The persona: Default, Darth Vader, Andrew Tate, Donald Trump, Harry Potter, Giga Chad, Catgirl, Pirate Captain, Hype Announcer, Grumpy Grandpa, Medieval Knight, Robot, Mob Boss, Wise Wizard, Cowboy, Custom. A preset also sets its prompt. "Custom" uses custom_prompt. |
| `custom_prompt` | string | No | The system prompt for the "Custom" character, 15-1000 characters. Used only when character is "Custom". To switch to "Custom", send it together with character (or have one saved already). |
| `web_search` | boolean | No | Live web search: when chat asks about something recent (news, scores, prices), the bot looks it up on the web first. Premium only; on by default and switched on when the channel gets Premium. |
| `model` | string | No | The AI model id: grok, gpt, claude, gemini, deepseek, kimi (model_options in get_ai_character_settings has the names). Default grok. Choosing another model needs Premium; free channels always use grok. |
