---
title: "Start Bot"
method: POST
path: "/bot-orchestration/start-bot"
tags: ["Bot Orchestration"]
---

# Start Bot

`POST /bot-orchestration/start-bot`

Start a bot with the specified configuration.

Sends a start command to an existing bot instance via MQTT. The bot must have
already been deployed (using deploy-v2-script or deploy-v2-controllers) and be
in a stopped state. This endpoint initiates the trading script execution within
the bot container.

Use this endpoint to:
- Resume a stopped bot with the same or different configuration
- Start a deployed bot for the first time after deployment
- Change the running script or configuration of a stopped bot

The start command is sent asynchronously via MQTT. The response indicates whether
the command was successfully sent, not whether the bot has fully started.

## Request body

- StartBotAction — Action to start a bot's trading operations. This action sends a start command to an existing bot container via MQTT. The bot must already be deployed and in a stopped state. Example: { "bot_name": "my-bot-20240115-143022", "log_level": "INFO", "script": "v2_with_controllers", "conf": "my_strategy_config", "async_backend": true }
  - `bot_name` string, required — Name of the bot instance to act upon. This should match the instance_name used when the bot was deployed (e.g., 'my-trading-bot-20240115-143022').
  - `log_level` string, nullable — Logging verbosity level for the bot. Higher levels show more detail. Valid values: DEBUG (most verbose), INFO (standard), WARNING, ERROR (least verbose).
  - `script` string, nullable — Name of the Python script to execute (without .py extension). The script must exist in the bot's scripts directory. Common scripts include 'v2_with_controllers' for controller-based strategies.
  - `conf` string, nullable — Name of the script configuration file (without .yml extension). The configuration must exist in conf/scripts/ directory. Contains strategy parameters like trading pairs, order amounts, and spreads.
  - `async_backend` boolean — When True, the start command is sent asynchronously and returns immediately. When False (default), waits for confirmation that the bot has started.

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2025-12-20** `1005bcd47280` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/hummingbot/apis/hummingbot-api/changes/bot-orchestration/start-bot/post.md)

---

[API](https://skmtc.dev/hummingbot/apis/hummingbot-api.md) · [All operations](https://skmtc.dev/hummingbot/apis/hummingbot-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hummingbot/hummingbot-api/revisions/cb6b6935c8e2/schema)
