Skip to main content
POST
/
v1
/
chats
Error
A valid request URL is required to generate request examples
{
  "chat_id": "chat_d8aad64dib2c7m3ae7j0",
  "message_id": "message_d8aad64dib2c7m3ae7jg",
  "created_at": "2026-05-23T10:15:30Z"
}

Documentation Index

Fetch the complete documentation index at: https://dev.chief.bot/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Personal Access Token, sent verbatim as pat_<32 chars>. PATs are minted from the Chief settings UI.

Headers

X-Project-Id
string
required

Project identifier scoping the request. Required on every project-scoped public endpoint. Missing or malformed values respond with HTTP 400 and code publicapi.tenancy.project.missing.

Pattern: ^project_[a-z0-9]{20}$

Body

application/json
prompt
string
required

The user's message to start the chat.

intelligence
enum<string>

Mode preset that controls model class and tool selection. auto lets the backend classify the prompt and route. Defaults to auto when omitted.

Available options:
auto,
fast,
expert,
research
provider
enum<string>

Biases model selection within the chosen intelligence mode toward a specific vendor. automatic (or omitted) leaves the router's default ordering. The mode preset still controls thinking depth and tool selection — provider only re-ranks candidate models. Mirrors the UI's AI Provider picker.

Available options:
automatic,
anthropic,
openai,
google
skills
string[]

Skill names to pre-load before the LLM runs. The Bluesky UI's "Expert Voice" picker sends one entry; the API accepts many. Each name must reference a skill the caller can access.

public_data
boolean

When false, disables the public-web-search tool for this turn. Omitting or sending true leaves the mode default in place.

scope
object

Optional. Narrows the knowledge the assistant may consult on this turn. Each id list is independently validated for shape; access is enforced server-side.

Response

Chat accepted; workflow running.

chat_id
string
required
Pattern: ^chat_[a-z0-9]{20}$
message_id
string
required

The new turn's id. Poll GET /v1/chats/{chat_id}/messages/{message_id} to follow its lifecycle.

Pattern: ^message_[a-z0-9]{20}$
created_at
string<date-time>
required