Skip to main content
POST
Publish a chat widget

Authorizations

Authorization
string
header
required

An API key from Settings → API keys, sent as Authorization: Bearer kb_live_…. A workspace key starts kb_; a personal key starts kbp_ and acts as its owner.

Headers

Idempotency-Key
string
required

A unique key (a UUID works) for this request. Retrying with the same key returns the first answer instead of running twice.

Maximum string length: 255
Kallabot-Version
enum<string>

The API version to answer as, a date (YYYY-MM-DD). Leave it out for the current version (2026-11-07). An unknown version is refused with 400 unsupported_api_version.

Available options:
2026-11-07
Example:

"2026-11-07"

Path Parameters

widget_id
string
required

Body

application/json
studio_revision
integer | null

Publish only if the studio is still this revision.

Required range: x >= 0

Response

Successful Response

id
string
required

The widget id.

name
string
required

Its name.

status
string
required

active or deleted.

public_key
string
required

The key in your site's snippet (public by design).

allowed_origins
string[]
required

Websites allowed to load it.

auto_reply_enabled
boolean
required

The agent replies by itself.

voice_enabled
boolean
required

Visitors can start a voice call.

limits
Limits · object
required

Per-visitor and voice limits.

studio_revision
integer
required

The saved studio's revision.

unpublished_changes
boolean
required

The saved studio differs from what visitors get.

revision
integer
required

Send as revision on an update.

agent
WidgetAgent · object | null

The agent that answers.

studio
Studio · object | null

The saved studio document (look and words).

published
WidgetPublished · object | null

What visitors get now; null until published.

sessions_live
integer | null

Visitor sessions open now.

created_at
string | null

ISO 8601.

updated_at
string | null

ISO 8601.