Skip to content
nikcli
Docs
Documentation

Chatbots

Registered chat bots and the start/stop control for each one.

Playground

Send these requests to your own running server. Values stay in this browser.

Not connected
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
get /chatbot/bots # chatbot.bots
Parameters
Name In Type Required
directory query string optional
workspace query string optional
Responses
200 Success application/json
({
  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
chatbot.bots
ts
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"

const client = createNikcliClient()
await client.chatbot.bots({
  ...
})
Try it
post /chatbot/bots/{name}/start # chatbot.start
Parameters
Name In Type Required
name path string required
directory query string optional
workspace query string optional
Responses
200 ChatbotStartResult application/json
{
  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
chatbot.start
ts
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"

const client = createNikcliClient()
await client.chatbot.start({
  ...
})
Try it
post /chatbot/bots/{name}/stop # chatbot.stop
Parameters
Name In Type Required
name path string required
directory query string optional
workspace query string optional
Responses
200 ChatbotStopResult application/json
{
  removed: boolean
}
Example response from schema
{
  "removed": false
}

Generated from the response schema — field values are placeholders, the shape is real.

SDK example
chatbot.stop
ts
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.

ChatbotBot
{
  name: string
  type: string
  running: boolean
  webhookPath: string
}
ChatbotStartResult
{
  running: boolean
  error?: string | null
}
ChatbotStopResult
{
  removed: boolean
}