Run one stateless text-chat completion turn.
Statelessness: the client carries an opaque encrypted state blob between turns.
The server decodes the state, drives the agent’s orchestration loop (OpenAI ChatCompletions +
tool calls — built-in, agent-defined webhook, or MCP), and returns the new messages plus a
fresh encrypted state. The conversation transcript is owned by the client.
Documentation Index
Fetch the complete documentation index at: https://docs.blackbox.dasha.ai/llms.txt
Use this file to discover all available pages before exploring further.
Body
Completion request with the agent reference, conversation, and prior state.
Stateless text-chat completion request. Carries the full conversation history (client-owned) plus the encrypted server-issued DashaAI.BlackBox.AgentAPI.TextChat.Dtos.TextChatCompletionRequest.State from the previous turn.
Agent to drive the completion — by id or by inline config.
Complete conversation history including the new user message at the end. Tool calls are bundled in the previous assistant turn(s).
Opaque encrypted state from the previous turn. Null/omitted on the first turn.
Free-form variable bag merged into agent prompt template variables (e.g. {{customerName}}).
Matches the project-wide AdditionalData convention.
Client/user signal to end the conversation. When true, this turn still produces an
assistant reply (if any) and then runs the same finish pipeline as the agent's
finishTheConversation built-in: post-call analysis + completion webhook +
persistence + audit events.
Response
Completion succeeded.
Result of a single stateless text-chat completion turn.
New messages produced during this turn. Ordered: any assistant tool-turns first (each bundling its tool calls with their executed responses), followed by the final plain-text assistant reply.
Opaque encrypted state to carry forward to the next turn.
True when the agent has signalled end-of-conversation (e.g. finishTheConversation).
Server-issued correlation id. Stable across turns. Surfaced for logging.
Internal Blackbox call id for this conversation. Stable across turns. Referenced in completion webhooks, the persisted call result, and audit events.