> For the complete documentation index, see [llms.txt](https://docs.kickbot.com/dashboard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kickbot.com/dashboard/api/quickstart.md).

# Quickstart with the REST API

Make your first KickBot API calls with curl, from reading your account overview to creating a command and a timed message on your channel.

This page uses `curl`. Any HTTP client works. Put your [API key](/dashboard/api/api-keys.md) in an environment variable first:

```bash
export KICKBOT_API_KEY="kb_live_..."
```

## 1. Read the account overview

```bash
curl https://kickbot.com/api/v1/account \
  -H "Authorization: Bearer $KICKBOT_API_KEY"
```

The answer shows your channel, its plan and limits, your permissions, and the areas you can use:

```json
{
  "data": {
    "channel": { "id": 123, "kick_username": "yourname", "plan": "free" },
    "limits": { "enabled_custom_commands": 5, "timed_messages": 3 },
    "areas": [{ "area": "commands", "available": true }]
  }
}
```

## 2. Create a command

```bash
curl -X POST https://kickbot.com/api/v1/commands \
  -H "Authorization: Bearer $KICKBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "discord", "response": "Join the Discord: https://discord.gg/example"}'
```

To run the same setup more than one time without making duplicates, use the name instead:

```bash
curl -X PUT https://kickbot.com/api/v1/commands/by-name/discord \
  -H "Authorization: Bearer $KICKBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"response": "Join the Discord: https://discord.gg/example"}'
```

## 3. Add a timed message

```bash
curl -X POST https://kickbot.com/api/v1/timers \
  -H "Authorization: Bearer $KICKBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Follow the channel so you do not miss a stream!", "interval": 30, "spacing": 5}'
```

## 4. Change only some fields

Update actions change only the fields you send. For example, to disable a command:

```bash
curl -X PATCH https://kickbot.com/api/v1/commands/42 \
  -H "Authorization: Bearer $KICKBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'
```

## Response format

* Success: `{ "data": ... }`. A create returns HTTP 201.
* Error: `{ "error": { "code", "message", "fields", "request_id" } }`. See [Errors and limits](/dashboard/api/errors-and-limits.md).

Every endpoint, with its fields, is in the [API reference](/dashboard/api/reference.md) and in the [OpenAPI file](https://kickbot.com/api/v1/openapi.json).

## Questions?

Contact <support@kickbot.com> or the `#support` channel on [Discord](https://discord.gg/MAg3gBbc89).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.kickbot.com/dashboard/api/quickstart.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
