Chatbots
Registered chat bots and the start/stop control for each one.
Send these requests to your own running server. Values stay in this browser.
How this works
Start a server with nikcli serve --hostname 127.0.0.1 --port 4096. Requests go
straight from this page to that address — the browser allows it because loopback counts as a
secure origin, and the server allows it because nikcli-ai.dev is in its CORS
allowlist.
To try things without touching your real sessions or config, start the server with
NIKCLI_TEST_HOME pointed at a throwaway directory — see
the guided tour.
Operations
3 endpoints, generated from the
server's own OpenAPI document. Every path also accepts the
directory and workspace query parameters that select which instance
handles the request.
| get | /chatbot/bots | chatbot.bots |
| post | /chatbot/bots/{name}/start | chatbot.start |
| post | /chatbot/bots/{name}/stop | chatbot.stop |
chatbot.bots | Name | In | Type | Required |
|---|---|---|---|
| directory | query | string | optional |
| workspace | query | string | optional |
({ name: string type: string running: boolean webhookPath: string })[]
Example response from schema
[
{
"name": "",
"type": "",
"running": false,
"webhookPath": ""
}
] Generated from the response schema — field values are placeholders, the shape is real.
SDK example
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"
const client = createNikcliClient()
await client.chatbot.bots({
...
}) Try it
chatbot.start | Name | In | Type | Required |
|---|---|---|---|
| name | path | string | required |
| directory | query | string | optional |
| workspace | query | string | optional |
{ running: boolean error?: string | null }
Example response from schema
{
"running": false,
"error": ""
} Generated from the response schema — field values are placeholders, the shape is real.
SDK example
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"
const client = createNikcliClient()
await client.chatbot.start({
...
}) Try it
chatbot.stop | Name | In | Type | Required |
|---|---|---|---|
| name | path | string | required |
| directory | query | string | optional |
| workspace | query | string | optional |
{ removed: boolean }
Example response from schema
{
"removed": false
} Generated from the response schema — field values are placeholders, the shape is real.
SDK example
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"
const client = createNikcliClient()
await client.chatbot.stop({
...
}) Try it
Schemas
The 3 schemas reachable from these endpoints. Each is shown one level
deep; nested types link to their own entry below.
Names ending in _2, _3 and so on are the OpenAPI emitter
disambiguating same-named schemas declared by different HttpApi groups — they are distinct
shapes, not duplicates.
{ name: string type: string running: boolean webhookPath: string }
{ running: boolean error?: string | null }
{ removed: boolean }