chatbots endpoint.
Identifiers
Always
"chatbot". Sentinel that identifies the resource type on responses.Bare UUID. Stable for the lifetime of the chatbot.
Internal slug used in dashboard URLs. Auto-generated from
name. Not part of the public scan URL.Short opaque slug used to build the public chatbot URL:
https://chatbot.awardee.dev/{public_slug}. Immutable.Canonical public-facing URL a visitor uses to reach the chatbot. Derived from
public_slug — provided as a convenience so you don’t have to assemble it client-side.One of
"draft", "active", "paused", "archived". Only active chatbots serve their public URL.Display
Human-readable name. Shown in the dashboard and as the assistant header on the public page.
Internal description. Surface-area for your own notes. Not shown to end users.
First message the assistant displays before the visitor types anything.
Secondary text under the welcome message.
Hex color (
#RRGGBB). Drives the accent on the public surface.Public URL to the chatbot’s logo. Accepts any public image URL on write — we fetch the bytes (SSRF-checked), store them in your organization’s asset library, link the asset to this chatbot, and return the resolved public URL. Customer CDN URLs can rot without breaking the chatbot. Uploads of identical bytes (across chatbots within the same organization) are de-duplicated — you may see the same URL returned for two chatbots if you upload the same logo to both.
Optional list of suggested first-message chips shown to the visitor.
Behavior
System prompt prepended to every conversation. Defines the assistant’s role, constraints, and voice.
Model identifier. When
null, the org-default model is used. See Models for the list of supported IDs and their credit cost per message.One of
"professional", "friendly", "casual", "formal", "empathetic". Layered on top of system_prompt for tone shaping.When
true, the chatbot can hand off to a human via the conversations inbox.true if a password gate is set. Set or clear via the write-only password field on POST / PATCH. The hash itself is never returned.When
true, the assistant has a web-search tool available.Optional location context the assistant can use (e.g. for “near me” answers).
Knowledge sources
Two grains of knowledge link to a chatbot. The agent reads from both at retrieval time — a category implicitly includes every article inside it, current and future.UUIDs of Articles the chatbot can draw on as knowledge. Write the desired set with
article_ids on POST or PATCH and the join is fully replaced.UUIDs of Article Categories attached as folder-level knowledge sources. Every article inside the category (now and in future) is available to the agent. Write the desired set with
category_ids on POST or PATCH and the join is fully replaced.Destinations
UUIDs of Pages the agent can present to the visitor via its
present_page tool, in display order. These are destinations the agent can route to mid-conversation, not knowledge it reads from. Write the desired set with page_ids on POST or PATCH and the join is fully replaced.Stats
Total conversations for this chatbot. Computed at read time;
null if the count couldn’t be loaded.RFC 3339 timestamp of the most recent inbound message.
null if no conversations yet.Timestamps
RFC 3339 creation timestamp.
RFC 3339 timestamp of the last update to this row (status, settings, page attachments).

