const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
agent: {
id: '<string>',
config: {
primaryLanguage: '<string>',
ttsConfig: {
voiceId: '<string>',
vendor: '<string>',
model: null,
speed: 1,
speedAdjustment: {version: 'v1', strategy: 'OnRequest'},
vendorSpecificOptions: {},
responsiveness: null,
pronunciationDictionary: {id: '<string>', hash: '<string>'}
},
llmConfig: {
model: '<string>',
vendor: '<string>',
prompt: '<string>',
apiKey: null,
endpoint: null,
options: {
temperature: null,
maxTokens: null,
topP: null,
frequencyPenalty: null,
presencePenalty: null,
stop: null,
trailingPrompt: null,
reasoningMode: null,
maxRetries: null,
reasoningEffort: null
},
vendorSpecificOptions: {},
toolScopes: null
},
sttConfig: {version: 'v1', vendor: 'Auto', vendorSpecificOptions: {}},
outboundSipConfig: {
server: '<string>',
authUser: '<string>',
domain: null,
password: null,
fromUser: null,
transport: 'udp',
cpsLimit: null,
cpsKey: null,
displayName: null
},
resultWebhook: {
url: '<string>',
headers: {},
customSettings: {queryParams: {}, bodyFormat: {template: '<string>'}}
},
features: {
version: 'v1',
postCallAnalysis: [],
talkFirst: {version: 'v1', delay: 1, isEnabled: false, interruptible: true},
maxDuration: {
version: 'v1',
maxDurationSeconds: 3600,
maxDurationInTransferSeconds: 7200,
isEnabled: true
},
ivrDetection: {
version: 'v1',
isEnabled: true,
enabledForChat: false,
enabledForInbound: false,
enabledForOutbound: true,
enabledForWebCall: false,
ivrNavigation: false
},
ambientNoise: {version: 'v1', isEnabled: false, ambientNoiseLevel: 0.1},
languageSwitching: {version: 'v1', isEnabled: true},
fillers: {version: 'v1', isEnabled: true, strategy: {type: 'static', texts: ['um']}},
backchannel: {version: 'v1', isEnabled: false},
turnTaking: {version: 'v1', vad: 'asap_v1'},
silenceManagement: {
version: 'v1',
isEnabled: true,
maxReminderAttempts: 2,
reminderSilenceThresholdSeconds: 5,
endWhenReminderLimitExceeded: true
},
preConversationMedia: {
version: 'v1',
isEnabled: false,
enabledForInbound: false,
enabledForOutbound: false,
enabledForWebCall: false
},
noiseSuppression: {
version: 'v1',
isEnabled: false,
type: 'none',
noiseSuppressionLevel: 75,
recordWriteStrategy: 'raw'
}
},
mcpConnections: [],
startWebhook: {
webhook: {
url: '<string>',
headers: {},
customSettings: {queryParams: {}, bodyFormat: {template: '<string>'}}
},
fallbackResponse: {accept: false, reasonMessage: 'Webhook for started webhook failed'},
isEnabledForInbound: false,
isEnabledForOutbound: false,
isEnabledForWidget: false,
timeout: 10
},
tools: [],
builtInTools: []
}
},
messages: [
{
role: '<string>',
content: '<string>',
tool_calls: [
{
id: '<string>',
name: '<string>',
arguments: '<unknown>',
response: '<unknown>'
}
],
time: '2023-11-07T05:31:56Z'
}
],
state: '<string>',
additional_data: {},
finish: true
})
};
fetch('https://blackbox.dasha.ai/api/v1/text-chat/completion', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://blackbox.dasha.ai/api/v1/text-chat/completion \
--header 'Content-Type: application/json' \
--data '
{
"agent": {
"id": "<string>",
"config": {
"primaryLanguage": "<string>",
"ttsConfig": {
"voiceId": "<string>",
"vendor": "<string>",
"model": null,
"speed": 1,
"speedAdjustment": {
"version": "v1",
"strategy": "OnRequest"
},
"vendorSpecificOptions": {},
"responsiveness": null,
"pronunciationDictionary": {
"id": "<string>",
"hash": "<string>"
}
},
"llmConfig": {
"model": "<string>",
"vendor": "<string>",
"prompt": "<string>",
"apiKey": null,
"endpoint": null,
"options": {
"temperature": null,
"maxTokens": null,
"topP": null,
"frequencyPenalty": null,
"presencePenalty": null,
"stop": null,
"trailingPrompt": null,
"reasoningMode": null,
"maxRetries": null,
"reasoningEffort": null
},
"vendorSpecificOptions": {},
"toolScopes": null
},
"sttConfig": {
"version": "v1",
"vendor": "Auto",
"vendorSpecificOptions": {}
},
"outboundSipConfig": {
"server": "<string>",
"authUser": "<string>",
"domain": null,
"password": null,
"fromUser": null,
"transport": "udp",
"cpsLimit": null,
"cpsKey": null,
"displayName": null
},
"resultWebhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": {
"template": "<string>"
}
}
},
"features": {
"version": "v1",
"postCallAnalysis": [],
"talkFirst": {
"version": "v1",
"delay": 1,
"isEnabled": false,
"interruptible": true
},
"maxDuration": {
"version": "v1",
"maxDurationSeconds": 3600,
"maxDurationInTransferSeconds": 7200,
"isEnabled": true
},
"ivrDetection": {
"version": "v1",
"isEnabled": true,
"enabledForChat": false,
"enabledForInbound": false,
"enabledForOutbound": true,
"enabledForWebCall": false,
"ivrNavigation": false
},
"ambientNoise": {
"version": "v1",
"isEnabled": false,
"ambientNoiseLevel": 0.1
},
"languageSwitching": {
"version": "v1",
"isEnabled": true
},
"fillers": {
"version": "v1",
"isEnabled": true,
"strategy": {
"type": "static",
"texts": [
"um"
]
}
},
"backchannel": {
"version": "v1",
"isEnabled": false
},
"turnTaking": {
"version": "v1",
"vad": "asap_v1"
},
"silenceManagement": {
"version": "v1",
"isEnabled": true,
"maxReminderAttempts": 2,
"reminderSilenceThresholdSeconds": 5,
"endWhenReminderLimitExceeded": true
},
"preConversationMedia": {
"version": "v1",
"isEnabled": false,
"enabledForInbound": false,
"enabledForOutbound": false,
"enabledForWebCall": false
},
"noiseSuppression": {
"version": "v1",
"isEnabled": false,
"type": "none",
"noiseSuppressionLevel": 75,
"recordWriteStrategy": "raw"
}
},
"mcpConnections": [],
"startWebhook": {
"webhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": {
"template": "<string>"
}
}
},
"fallbackResponse": {
"accept": false,
"reasonMessage": "Webhook for started webhook failed"
},
"isEnabledForInbound": false,
"isEnabledForOutbound": false,
"isEnabledForWidget": false,
"timeout": 10
},
"tools": [],
"builtInTools": []
}
},
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"additional_data": {},
"finish": true
}
'import requests
url = "https://blackbox.dasha.ai/api/v1/text-chat/completion"
payload = {
"agent": {
"id": "<string>",
"config": {
"primaryLanguage": "<string>",
"ttsConfig": {
"voiceId": "<string>",
"vendor": "<string>",
"model": None,
"speed": 1,
"speedAdjustment": {
"version": "v1",
"strategy": "OnRequest"
},
"vendorSpecificOptions": {},
"responsiveness": None,
"pronunciationDictionary": {
"id": "<string>",
"hash": "<string>"
}
},
"llmConfig": {
"model": "<string>",
"vendor": "<string>",
"prompt": "<string>",
"apiKey": None,
"endpoint": None,
"options": {
"temperature": None,
"maxTokens": None,
"topP": None,
"frequencyPenalty": None,
"presencePenalty": None,
"stop": None,
"trailingPrompt": None,
"reasoningMode": None,
"maxRetries": None,
"reasoningEffort": None
},
"vendorSpecificOptions": {},
"toolScopes": None
},
"sttConfig": {
"version": "v1",
"vendor": "Auto",
"vendorSpecificOptions": {}
},
"outboundSipConfig": {
"server": "<string>",
"authUser": "<string>",
"domain": None,
"password": None,
"fromUser": None,
"transport": "udp",
"cpsLimit": None,
"cpsKey": None,
"displayName": None
},
"resultWebhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": { "template": "<string>" }
}
},
"features": {
"version": "v1",
"postCallAnalysis": [],
"talkFirst": {
"version": "v1",
"delay": 1,
"isEnabled": False,
"interruptible": True
},
"maxDuration": {
"version": "v1",
"maxDurationSeconds": 3600,
"maxDurationInTransferSeconds": 7200,
"isEnabled": True
},
"ivrDetection": {
"version": "v1",
"isEnabled": True,
"enabledForChat": False,
"enabledForInbound": False,
"enabledForOutbound": True,
"enabledForWebCall": False,
"ivrNavigation": False
},
"ambientNoise": {
"version": "v1",
"isEnabled": False,
"ambientNoiseLevel": 0.1
},
"languageSwitching": {
"version": "v1",
"isEnabled": True
},
"fillers": {
"version": "v1",
"isEnabled": True,
"strategy": {
"type": "static",
"texts": ["um"]
}
},
"backchannel": {
"version": "v1",
"isEnabled": False
},
"turnTaking": {
"version": "v1",
"vad": "asap_v1"
},
"silenceManagement": {
"version": "v1",
"isEnabled": True,
"maxReminderAttempts": 2,
"reminderSilenceThresholdSeconds": 5,
"endWhenReminderLimitExceeded": True
},
"preConversationMedia": {
"version": "v1",
"isEnabled": False,
"enabledForInbound": False,
"enabledForOutbound": False,
"enabledForWebCall": False
},
"noiseSuppression": {
"version": "v1",
"isEnabled": False,
"type": "none",
"noiseSuppressionLevel": 75,
"recordWriteStrategy": "raw"
}
},
"mcpConnections": [],
"startWebhook": {
"webhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": { "template": "<string>" }
}
},
"fallbackResponse": {
"accept": False,
"reasonMessage": "Webhook for started webhook failed"
},
"isEnabledForInbound": False,
"isEnabledForOutbound": False,
"isEnabledForWidget": False,
"timeout": 10
},
"tools": [],
"builtInTools": []
}
},
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"additional_data": {},
"finish": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"is_final": true,
"chat_id": "<string>",
"call_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": {}
}{
"code": "<string>",
"message": "<string>",
"details": {}
}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.
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
agent: {
id: '<string>',
config: {
primaryLanguage: '<string>',
ttsConfig: {
voiceId: '<string>',
vendor: '<string>',
model: null,
speed: 1,
speedAdjustment: {version: 'v1', strategy: 'OnRequest'},
vendorSpecificOptions: {},
responsiveness: null,
pronunciationDictionary: {id: '<string>', hash: '<string>'}
},
llmConfig: {
model: '<string>',
vendor: '<string>',
prompt: '<string>',
apiKey: null,
endpoint: null,
options: {
temperature: null,
maxTokens: null,
topP: null,
frequencyPenalty: null,
presencePenalty: null,
stop: null,
trailingPrompt: null,
reasoningMode: null,
maxRetries: null,
reasoningEffort: null
},
vendorSpecificOptions: {},
toolScopes: null
},
sttConfig: {version: 'v1', vendor: 'Auto', vendorSpecificOptions: {}},
outboundSipConfig: {
server: '<string>',
authUser: '<string>',
domain: null,
password: null,
fromUser: null,
transport: 'udp',
cpsLimit: null,
cpsKey: null,
displayName: null
},
resultWebhook: {
url: '<string>',
headers: {},
customSettings: {queryParams: {}, bodyFormat: {template: '<string>'}}
},
features: {
version: 'v1',
postCallAnalysis: [],
talkFirst: {version: 'v1', delay: 1, isEnabled: false, interruptible: true},
maxDuration: {
version: 'v1',
maxDurationSeconds: 3600,
maxDurationInTransferSeconds: 7200,
isEnabled: true
},
ivrDetection: {
version: 'v1',
isEnabled: true,
enabledForChat: false,
enabledForInbound: false,
enabledForOutbound: true,
enabledForWebCall: false,
ivrNavigation: false
},
ambientNoise: {version: 'v1', isEnabled: false, ambientNoiseLevel: 0.1},
languageSwitching: {version: 'v1', isEnabled: true},
fillers: {version: 'v1', isEnabled: true, strategy: {type: 'static', texts: ['um']}},
backchannel: {version: 'v1', isEnabled: false},
turnTaking: {version: 'v1', vad: 'asap_v1'},
silenceManagement: {
version: 'v1',
isEnabled: true,
maxReminderAttempts: 2,
reminderSilenceThresholdSeconds: 5,
endWhenReminderLimitExceeded: true
},
preConversationMedia: {
version: 'v1',
isEnabled: false,
enabledForInbound: false,
enabledForOutbound: false,
enabledForWebCall: false
},
noiseSuppression: {
version: 'v1',
isEnabled: false,
type: 'none',
noiseSuppressionLevel: 75,
recordWriteStrategy: 'raw'
}
},
mcpConnections: [],
startWebhook: {
webhook: {
url: '<string>',
headers: {},
customSettings: {queryParams: {}, bodyFormat: {template: '<string>'}}
},
fallbackResponse: {accept: false, reasonMessage: 'Webhook for started webhook failed'},
isEnabledForInbound: false,
isEnabledForOutbound: false,
isEnabledForWidget: false,
timeout: 10
},
tools: [],
builtInTools: []
}
},
messages: [
{
role: '<string>',
content: '<string>',
tool_calls: [
{
id: '<string>',
name: '<string>',
arguments: '<unknown>',
response: '<unknown>'
}
],
time: '2023-11-07T05:31:56Z'
}
],
state: '<string>',
additional_data: {},
finish: true
})
};
fetch('https://blackbox.dasha.ai/api/v1/text-chat/completion', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://blackbox.dasha.ai/api/v1/text-chat/completion \
--header 'Content-Type: application/json' \
--data '
{
"agent": {
"id": "<string>",
"config": {
"primaryLanguage": "<string>",
"ttsConfig": {
"voiceId": "<string>",
"vendor": "<string>",
"model": null,
"speed": 1,
"speedAdjustment": {
"version": "v1",
"strategy": "OnRequest"
},
"vendorSpecificOptions": {},
"responsiveness": null,
"pronunciationDictionary": {
"id": "<string>",
"hash": "<string>"
}
},
"llmConfig": {
"model": "<string>",
"vendor": "<string>",
"prompt": "<string>",
"apiKey": null,
"endpoint": null,
"options": {
"temperature": null,
"maxTokens": null,
"topP": null,
"frequencyPenalty": null,
"presencePenalty": null,
"stop": null,
"trailingPrompt": null,
"reasoningMode": null,
"maxRetries": null,
"reasoningEffort": null
},
"vendorSpecificOptions": {},
"toolScopes": null
},
"sttConfig": {
"version": "v1",
"vendor": "Auto",
"vendorSpecificOptions": {}
},
"outboundSipConfig": {
"server": "<string>",
"authUser": "<string>",
"domain": null,
"password": null,
"fromUser": null,
"transport": "udp",
"cpsLimit": null,
"cpsKey": null,
"displayName": null
},
"resultWebhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": {
"template": "<string>"
}
}
},
"features": {
"version": "v1",
"postCallAnalysis": [],
"talkFirst": {
"version": "v1",
"delay": 1,
"isEnabled": false,
"interruptible": true
},
"maxDuration": {
"version": "v1",
"maxDurationSeconds": 3600,
"maxDurationInTransferSeconds": 7200,
"isEnabled": true
},
"ivrDetection": {
"version": "v1",
"isEnabled": true,
"enabledForChat": false,
"enabledForInbound": false,
"enabledForOutbound": true,
"enabledForWebCall": false,
"ivrNavigation": false
},
"ambientNoise": {
"version": "v1",
"isEnabled": false,
"ambientNoiseLevel": 0.1
},
"languageSwitching": {
"version": "v1",
"isEnabled": true
},
"fillers": {
"version": "v1",
"isEnabled": true,
"strategy": {
"type": "static",
"texts": [
"um"
]
}
},
"backchannel": {
"version": "v1",
"isEnabled": false
},
"turnTaking": {
"version": "v1",
"vad": "asap_v1"
},
"silenceManagement": {
"version": "v1",
"isEnabled": true,
"maxReminderAttempts": 2,
"reminderSilenceThresholdSeconds": 5,
"endWhenReminderLimitExceeded": true
},
"preConversationMedia": {
"version": "v1",
"isEnabled": false,
"enabledForInbound": false,
"enabledForOutbound": false,
"enabledForWebCall": false
},
"noiseSuppression": {
"version": "v1",
"isEnabled": false,
"type": "none",
"noiseSuppressionLevel": 75,
"recordWriteStrategy": "raw"
}
},
"mcpConnections": [],
"startWebhook": {
"webhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": {
"template": "<string>"
}
}
},
"fallbackResponse": {
"accept": false,
"reasonMessage": "Webhook for started webhook failed"
},
"isEnabledForInbound": false,
"isEnabledForOutbound": false,
"isEnabledForWidget": false,
"timeout": 10
},
"tools": [],
"builtInTools": []
}
},
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"additional_data": {},
"finish": true
}
'import requests
url = "https://blackbox.dasha.ai/api/v1/text-chat/completion"
payload = {
"agent": {
"id": "<string>",
"config": {
"primaryLanguage": "<string>",
"ttsConfig": {
"voiceId": "<string>",
"vendor": "<string>",
"model": None,
"speed": 1,
"speedAdjustment": {
"version": "v1",
"strategy": "OnRequest"
},
"vendorSpecificOptions": {},
"responsiveness": None,
"pronunciationDictionary": {
"id": "<string>",
"hash": "<string>"
}
},
"llmConfig": {
"model": "<string>",
"vendor": "<string>",
"prompt": "<string>",
"apiKey": None,
"endpoint": None,
"options": {
"temperature": None,
"maxTokens": None,
"topP": None,
"frequencyPenalty": None,
"presencePenalty": None,
"stop": None,
"trailingPrompt": None,
"reasoningMode": None,
"maxRetries": None,
"reasoningEffort": None
},
"vendorSpecificOptions": {},
"toolScopes": None
},
"sttConfig": {
"version": "v1",
"vendor": "Auto",
"vendorSpecificOptions": {}
},
"outboundSipConfig": {
"server": "<string>",
"authUser": "<string>",
"domain": None,
"password": None,
"fromUser": None,
"transport": "udp",
"cpsLimit": None,
"cpsKey": None,
"displayName": None
},
"resultWebhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": { "template": "<string>" }
}
},
"features": {
"version": "v1",
"postCallAnalysis": [],
"talkFirst": {
"version": "v1",
"delay": 1,
"isEnabled": False,
"interruptible": True
},
"maxDuration": {
"version": "v1",
"maxDurationSeconds": 3600,
"maxDurationInTransferSeconds": 7200,
"isEnabled": True
},
"ivrDetection": {
"version": "v1",
"isEnabled": True,
"enabledForChat": False,
"enabledForInbound": False,
"enabledForOutbound": True,
"enabledForWebCall": False,
"ivrNavigation": False
},
"ambientNoise": {
"version": "v1",
"isEnabled": False,
"ambientNoiseLevel": 0.1
},
"languageSwitching": {
"version": "v1",
"isEnabled": True
},
"fillers": {
"version": "v1",
"isEnabled": True,
"strategy": {
"type": "static",
"texts": ["um"]
}
},
"backchannel": {
"version": "v1",
"isEnabled": False
},
"turnTaking": {
"version": "v1",
"vad": "asap_v1"
},
"silenceManagement": {
"version": "v1",
"isEnabled": True,
"maxReminderAttempts": 2,
"reminderSilenceThresholdSeconds": 5,
"endWhenReminderLimitExceeded": True
},
"preConversationMedia": {
"version": "v1",
"isEnabled": False,
"enabledForInbound": False,
"enabledForOutbound": False,
"enabledForWebCall": False
},
"noiseSuppression": {
"version": "v1",
"isEnabled": False,
"type": "none",
"noiseSuppressionLevel": 75,
"recordWriteStrategy": "raw"
}
},
"mcpConnections": [],
"startWebhook": {
"webhook": {
"url": "<string>",
"headers": {},
"customSettings": {
"queryParams": {},
"bodyFormat": { "template": "<string>" }
}
},
"fallbackResponse": {
"accept": False,
"reasonMessage": "Webhook for started webhook failed"
},
"isEnabledForInbound": False,
"isEnabledForOutbound": False,
"isEnabledForWidget": False,
"timeout": 10
},
"tools": [],
"builtInTools": []
}
},
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"additional_data": {},
"finish": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messages": [
{
"role": "<string>",
"content": "<string>",
"tool_calls": [
{
"id": "<string>",
"name": "<string>",
"arguments": "<unknown>",
"response": "<unknown>"
}
],
"time": "2023-11-07T05:31:56Z"
}
],
"state": "<string>",
"is_final": true,
"chat_id": "<string>",
"call_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": {}
}{
"code": "<string>",
"message": "<string>",
"details": {}
}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.
Show child attributes
Show child attributes
Complete conversation history including the new user message at the end. Tool calls are bundled in the previous assistant turn(s).
Show child attributes
Show child attributes
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.
Show child attributes
Show child attributes
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.
Show child attributes
Show child attributes
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.
Was this page helpful?