Skip to main content

Run a bot (create a task) — POST /v3/bots/{bot_id}/runs

Starts a new task execution for a published Bot and returns a `task_id`. ### How it works 1) Use `GET /v3/bots` to find a runnable Bot and copy its `bot_id`. 2) Use `GET /v3/bots/{bot_id}` to inspect its `input_schema`. 3) Provide an `input` object that

Written by Maggie

POST /v3/bots/{bot_id}/runs

Starts a new task execution for a published Bot and returns a `task_id`.### How it works 1) Use `GET /v3/bots` to find a runnable Bot and copy its `bot_id`. 2) Use `GET /v3/bots/{bot_id}` to inspect its `input_schema`. 3) Provide an `input` object that conforms to that schema; use `{}` when no inputs are required.### Webhooks You can provide `callback_url` and/or `status_change_callback_url`. Both callbacks receive a complete `BotRunDetailResponse` without a data wrapper.

Authentication

HTTPBearer

Parameters

  • bot_id (path, string, required) — Public bot identifier.

Request body

{  "input": {},  "callback_url": "string",  "status_change_callback_url": "string"}

Responses

200 — Run created.

{  "task_id": "string",  "status": "created"}

400 — Bot not found (10111), or the current company's Bot is not published (10020).

{  "code": 123,  "msg": "Invalid task_id",  "data": null,  "ts": 1786634400000,  "time": "2026-08-13 18:00:00",  "traceId": "a1b2c3d4e5f6"}

500 — Internal Server Error

{  "code": 123,  "msg": "Invalid task_id",  "data": null,  "ts": 1786634400000,  "time": "2026-08-13 18:00:00",  "traceId": "a1b2c3d4e5f6"}

Did this answer your question?