Agents¶
Use an API key or REST OAuth access token. Scopes and your current workspace permissions apply together. All examples are illustrative.
Create Agent¶
Scope: agents:write
Saves configuration directly; no call, tool test or message delivery is executed.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
agent |
object |
Yes | Conversation, speech recognition and voice settings. |
options |
object |
Yes | Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
No | Enable the Agent. Omission or null means false. |
agentType |
string |
Yes | VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Yes | Display name of the resource. Rules: up to 255 characters Example: "Demo" |
description |
string |
No | Description of this resource's purpose. Rules: up to 10000 characters; null allowed |
agentName |
string |
Yes | Name the Agent uses when speaking to callers. Rules: up to 255 characters Example: "Demo Assistant" |
persona |
string |
No | Personality and speaking style for the Agent. Rules: up to 10000 characters; null allowed |
sttLanguages |
List of string |
Yes | Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: at least 1 entry; no duplicates Example: ["de-DE"]Show all 85 allowed values
|
voiceId |
string |
Yes | Exact ID from the voice catalog, including its provider prefix. Rules: up to 255 characters |
voiceConfiguration |
object |
No | Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
greetingMorningText |
string |
Yes | Morning greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingAfternoonText |
string |
Yes | Afternoon greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingEveningText |
string |
Yes | Evening greeting, using the Agent's timezone. Rules: up to 4000 characters |
importantNote |
string |
No | Additional instructions for the Agent. Rules: up to 10000 characters; null allowed |
initialSilenceTimeoutMs |
integer (int32) |
Yes | How long Azure waits for the caller to start speaking, in milliseconds. Rules: 0–60000Example: 1500 |
segmentationSilenceTimeoutMs |
integer (int32) |
Yes | Silence after which Azure separates recognized speech into segments, in milliseconds. Rules: 100–5000Example: 500 |
phraseList |
List of string |
No | Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. Rules: up to 500 entries; null allowedExample: ["Nuvoca"]Each entry: up to 500 characters |
timezone |
string |
No | IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: up to 100 characters; null allowedExample: "Europe/Berlin" |
greetingNonInterruptible |
boolean |
No | Prevent the caller from interrupting the greeting. Rules: null allowed |
greetingTimeoutSeconds |
integer (int32) |
No | Greeting time limit, in seconds. Rules: 5–300; null allowedExample: 30 |
sttProvider |
string |
No | Speech-recognition provider from the Agent catalog. Rules: null allowedValues: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
No | Confidence required for Deepgram to consider the caller's turn complete. Rules: 0.5–0.9; null allowed |
deepgramEotTimeoutMs |
integer (int32) |
No | Deepgram timeout for detecting the end of a turn, in milliseconds. Rules: 500–10000; null allowed |
deepgramLanguageHints |
List of string |
No | Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates; null allowedShow all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
No | Use the greeting from pre-processing when one is available. Rules: null allowed |
kugelLanguages |
List of string |
No | Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. Rules: 1–9 entries; null allowed |
kugelTurnDetectionLevel |
string |
No | RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Rules: null allowedValues: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Required | Description |
|---|---|---|---|
temperature |
number (double) |
No | Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
No | Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
No | Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
No | Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
No | Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
No | Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
No | Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
No | Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Required | Description |
|---|---|---|---|
model |
string |
Yes | Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
No | Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Yes | Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: up to 100000 characters |
conversationHistoryLimit |
integer (int32) |
Yes | Maximum number of conversation-history entries supplied to the model. Rules: 1–100Example: 20 |
knowledgeBaseId |
string (uuid) |
No | ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Yes | Maximum knowledge chunks retrieved per search. Rules: 1–50Example: 5 |
ragSimilarityThreshold |
number (double) |
No | Minimum similarity a knowledge chunk must have to be included. Rules: 0–1Example: 0.5 |
temperature |
number (double) |
No | Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2Example: 0.3 |
maxTokens |
integer (int32) |
Yes | Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000Example: 1000 |
ttsStreamingMode |
string |
No | Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
No | Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Yes | Maximum conversation-history entries used for query rewriting. Rules: 1–100Example: 5 |
queryTransformPrompt |
string |
No | Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. Rules: up to 20000 characters |
queryTransformConfidenceThreshold |
number (double) |
No | Confidence required for the query transformer. Rules: 0–1Example: 0.8 |
queryTransformMode |
string |
No | Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
No | Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Required | Description |
|---|---|---|---|
rewriteModel |
string |
No | Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
No | Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
No | Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
No | Instructions for rewriting the knowledge-search query. |
{
"agent": {
"enabled": false,
"agentType": "VOICE",
"title": "NuvoCar reception draft",
"agentName": "NuvoCar Assistant",
"sttProvider": "AZURE",
"sttLanguages": [
"en-US"
],
"voiceId": "azure:FLORIAN_HD",
"timezone": "Europe/Berlin",
"greetingMorningText": "Good morning, this is NuvoCar's digital assistant. How can I help?",
"greetingAfternoonText": "Hello, this is NuvoCar's digital assistant. How can I help?",
"greetingEveningText": "Good evening, this is NuvoCar's digital assistant. How can I help?",
"initialSilenceTimeoutMs": 1500,
"segmentationSilenceTimeoutMs": 500,
"phraseList": [
"NuvoCar"
]
},
"options": {
"model": "GPT_4_1_MINI",
"systemPrompt": "You are NuvoCar's digital receptionist. Ask about the caller's request. Never invent prices or appointments. Explain when information is unavailable. Never claim storage or transfer without a successful configured action.",
"conversationHistoryLimit": 20,
"knowledgeBaseId": null,
"ragTopK": 5,
"ragSimilarityThreshold": 0.5,
"temperature": 0.3,
"maxTokens": 1000,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 5,
"queryTransformConfidenceThreshold": 0.8,
"queryTransformMode": "LLM"
}
}
Response 201
Created.
| Header | Type | Description |
|---|---|---|
Cache-Control |
string |
The response must not be cached. Example: no-store |
Location |
string |
Path of the created resource. |
ETag |
string |
Current revision. Send unchanged, including quotes, as If-Match when required. Example: "revision-from-get" |
application/json
| Field | Type | Description |
|---|---|---|
id |
string (uuid) |
Resource ID in your workspace. |
revision |
string |
Current resource revision. Use the response ETag for If-Match when updating. |
agent |
object |
Conversation, speech recognition and voice settings. |
options |
object |
Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Description |
|---|---|---|
enabled |
boolean |
Enable the Agent. Omission or null means false. |
agentType |
string |
VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Display name of the resource. Rules: up to 255 characters Example: "Demo" |
description |
string |
Description of this resource's purpose. Rules: up to 10000 characters; null allowed |
agentName |
string |
Name the Agent uses when speaking to callers. Rules: up to 255 characters Example: "Demo Assistant" |
persona |
string |
Personality and speaking style for the Agent. Rules: up to 10000 characters; null allowed |
sttLanguages |
List of string |
Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: at least 1 entry; no duplicates Example: ["de-DE"]Show all 85 allowed values
|
voiceId |
string |
Exact ID from the voice catalog, including its provider prefix. Rules: up to 255 characters |
voiceConfiguration |
object |
Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
greetingMorningText |
string |
Morning greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingAfternoonText |
string |
Afternoon greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingEveningText |
string |
Evening greeting, using the Agent's timezone. Rules: up to 4000 characters |
importantNote |
string |
Additional instructions for the Agent. Rules: up to 10000 characters; null allowed |
initialSilenceTimeoutMs |
integer (int32) |
How long Azure waits for the caller to start speaking, in milliseconds. Rules: 0–60000Example: 1500 |
segmentationSilenceTimeoutMs |
integer (int32) |
Silence after which Azure separates recognized speech into segments, in milliseconds. Rules: 100–5000Example: 500 |
phraseList |
List of string |
Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. Rules: up to 500 entries; null allowedExample: ["Nuvoca"]Each entry: up to 500 characters |
timezone |
string |
IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: up to 100 characters; null allowedExample: "Europe/Berlin" |
greetingNonInterruptible |
boolean |
Prevent the caller from interrupting the greeting. Rules: null allowed |
greetingTimeoutSeconds |
integer (int32) |
Greeting time limit, in seconds. Rules: 5–300; null allowedExample: 30 |
sttProvider |
string |
Speech-recognition provider from the Agent catalog. Rules: null allowedValues: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
Confidence required for Deepgram to consider the caller's turn complete. Rules: 0.5–0.9; null allowed |
deepgramEotTimeoutMs |
integer (int32) |
Deepgram timeout for detecting the end of a turn, in milliseconds. Rules: 500–10000; null allowed |
deepgramLanguageHints |
List of string |
Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates; null allowedShow all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
Use the greeting from pre-processing when one is available. Rules: null allowed |
kugelLanguages |
List of string |
Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. Rules: 1–9 entries; null allowed |
kugelTurnDetectionLevel |
string |
RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Rules: null allowedValues: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Description |
|---|---|---|
temperature |
number (double) |
Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Description |
|---|---|---|
model |
string |
Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: up to 100000 characters |
conversationHistoryLimit |
integer (int32) |
Maximum number of conversation-history entries supplied to the model. Rules: 1–100Example: 20 |
knowledgeBaseId |
string (uuid) |
ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Maximum knowledge chunks retrieved per search. Rules: 1–50Example: 5 |
ragSimilarityThreshold |
number (double) |
Minimum similarity a knowledge chunk must have to be included. Rules: 0–1Example: 0.5 |
temperature |
number (double) |
Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2Example: 0.3 |
maxTokens |
integer (int32) |
Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000Example: 1000 |
ttsStreamingMode |
string |
Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Maximum conversation-history entries used for query rewriting. Rules: 1–100Example: 5 |
queryTransformPrompt |
string |
Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. Rules: up to 20000 characters |
queryTransformConfidenceThreshold |
number (double) |
Confidence required for the query transformer. Rules: 0–1Example: 0.8 |
queryTransformMode |
string |
Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Description |
|---|---|---|
rewriteModel |
string |
Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
Instructions for rewriting the knowledge-search query. |
{
"id": "00000000-0000-0000-0000-000000000001",
"revision": "revision-from-get",
"agent": {
"enabled": false,
"agentType": "VOICE",
"title": "Demo",
"description": "string",
"agentName": "Demo Assistant",
"persona": "string",
"sttLanguages": [
"de-DE"
],
"voiceId": "azure:FLORIAN_HD",
"voiceConfiguration": {
"temperature": 0.3,
"topP": 0.3,
"topK": 1,
"cfgScale": 1,
"telecomEffectEnabled": false,
"enhancePronunciationEnabled": false,
"xmlLang": "de-AT",
"style": "string"
},
"greetingMorningText": "string",
"greetingAfternoonText": "string",
"greetingEveningText": "string",
"importantNote": "string",
"initialSilenceTimeoutMs": 1500,
"segmentationSilenceTimeoutMs": 500,
"phraseList": [
"Nuvoca"
],
"timezone": "Europe/Berlin",
"greetingNonInterruptible": false,
"greetingTimeoutSeconds": 30,
"sttProvider": "AZURE",
"deepgramEotThreshold": 0.5,
"deepgramEotTimeoutMs": 500,
"deepgramLanguageHints": [],
"preferPreProcessingGreeting": false,
"kugelLanguages": [
"string"
],
"kugelTurnDetectionLevel": "RESPONSIVE"
},
"options": {
"model": "GPT_4_1_MINI",
"reasoningEffort": "NONE",
"systemPrompt": "string",
"conversationHistoryLimit": 20,
"knowledgeBaseId": "00000000-0000-0000-0000-000000000001",
"ragTopK": 5,
"ragSimilarityThreshold": 0.5,
"temperature": 0.3,
"maxTokens": 1000,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 5,
"queryTransformPrompt": "string",
"queryTransformConfidenceThreshold": 0.8,
"queryTransformMode": "LLM",
"decisionQueryTransform": {
"rewriteModel": "GPT_4_1_MINI",
"parallel": false,
"decisionPrompt": "string",
"rewritePrompt": "string"
}
}
}
Error responses
| Status | Meaning |
|---|---|
400 |
Invalid input, unsupported selection or time range. |
401 |
Missing, expired or invalid credential. The body may be empty. |
403 |
Required scope or current user permission missing. The body may be empty. |
409 |
Missing/stale revision or dependency/routing conflict. Read again before retrying. |
429 |
Shared workspace budget exceeded. Honor Retry-After; do not blindly replay uncertain writes. |
503 |
Temporarily unavailable. Check uncertain writes before retrying. |
Error body
| Field | Type | Description |
|---|---|---|
status |
integer |
HTTP status code. |
error |
string |
Description of the error. |
details |
any |
Additional error details, when available. Rules: null allowed |
code |
string |
Machine-readable error code. |
params |
object |
Additional values associated with the error code. |
fieldErrors |
object |
Validation errors grouped by input field. |
For 429 or 503, honor the Retry-After header (seconds). Check uncertain writes before retrying.
List Agents¶
Scope: agents:read
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
page |
Query | integer (int32) |
No | Page index, starting at 0. Rules: 0–100000Default: 0 |
size |
Query | integer (int32) |
No | Results per page. Rules: 1–100Default: 25 |
Response 200
Success.
| Header | Type | Description |
|---|---|---|
Cache-Control |
string |
The response must not be cached. Example: no-store |
application/json
| Field | Type | Description |
|---|---|---|
items |
List of object |
Results on this page. |
page |
integer (int32) |
Current page index, starting at 0. |
size |
integer (int32) |
Number of results requested per page. |
totalElements |
integer (int64) |
Total number of matching results. |
totalPages |
integer (int32) |
Total number of result pages. |
items — fields
| Field | Type | Description |
|---|---|---|
agentId |
string (uuid) |
ID of the Agent. |
tenantId |
string (uuid) |
ID of the workspace bound to the credential. |
enabled |
boolean |
Whether this resource is enabled. |
agentType |
string |
VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Display name of the resource. |
description |
string |
Description of this resource's purpose. |
agentName |
string |
Name the Agent uses when speaking to callers. |
Error responses
| Status | Meaning |
|---|---|
400 |
Invalid input, unsupported selection or time range. |
401 |
Missing, expired or invalid credential. The body may be empty. |
403 |
Required scope or current user permission missing. The body may be empty. |
429 |
Shared workspace budget exceeded. Honor Retry-After; do not blindly replay uncertain writes. |
503 |
Temporarily unavailable. Check uncertain writes before retrying. |
Error body
| Field | Type | Description |
|---|---|---|
status |
integer |
HTTP status code. |
error |
string |
Description of the error. |
details |
any |
Additional error details, when available. Rules: null allowed |
code |
string |
Machine-readable error code. |
params |
object |
Additional values associated with the error code. |
fieldErrors |
object |
Validation errors grouped by input field. |
For 429 or 503, honor the Retry-After header (seconds). Check uncertain writes before retrying.
Read Agent¶
Scope: agents:configuration:read
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id |
Path | string (uuid) |
Yes | Resource identifier in the bound workspace. |
Response 200
Success.
| Header | Type | Description |
|---|---|---|
Cache-Control |
string |
The response must not be cached. Example: no-store |
ETag |
string |
Current revision. Send unchanged, including quotes, as If-Match when required. Example: "revision-from-get" |
application/json
| Field | Type | Description |
|---|---|---|
id |
string (uuid) |
Resource ID in your workspace. |
revision |
string |
Current resource revision. Use the response ETag for If-Match when updating. |
agent |
object |
Conversation, speech recognition and voice settings. |
options |
object |
Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Description |
|---|---|---|
enabled |
boolean |
Enable the Agent. Omission or null means false. |
agentType |
string |
VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Display name of the resource. Rules: up to 255 characters Example: "Demo" |
description |
string |
Description of this resource's purpose. Rules: up to 10000 characters; null allowed |
agentName |
string |
Name the Agent uses when speaking to callers. Rules: up to 255 characters Example: "Demo Assistant" |
persona |
string |
Personality and speaking style for the Agent. Rules: up to 10000 characters; null allowed |
sttLanguages |
List of string |
Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: at least 1 entry; no duplicates Example: ["de-DE"]Show all 85 allowed values
|
voiceId |
string |
Exact ID from the voice catalog, including its provider prefix. Rules: up to 255 characters |
voiceConfiguration |
object |
Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
greetingMorningText |
string |
Morning greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingAfternoonText |
string |
Afternoon greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingEveningText |
string |
Evening greeting, using the Agent's timezone. Rules: up to 4000 characters |
importantNote |
string |
Additional instructions for the Agent. Rules: up to 10000 characters; null allowed |
initialSilenceTimeoutMs |
integer (int32) |
How long Azure waits for the caller to start speaking, in milliseconds. Rules: 0–60000Example: 1500 |
segmentationSilenceTimeoutMs |
integer (int32) |
Silence after which Azure separates recognized speech into segments, in milliseconds. Rules: 100–5000Example: 500 |
phraseList |
List of string |
Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. Rules: up to 500 entries; null allowedExample: ["Nuvoca"]Each entry: up to 500 characters |
timezone |
string |
IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: up to 100 characters; null allowedExample: "Europe/Berlin" |
greetingNonInterruptible |
boolean |
Prevent the caller from interrupting the greeting. Rules: null allowed |
greetingTimeoutSeconds |
integer (int32) |
Greeting time limit, in seconds. Rules: 5–300; null allowedExample: 30 |
sttProvider |
string |
Speech-recognition provider from the Agent catalog. Rules: null allowedValues: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
Confidence required for Deepgram to consider the caller's turn complete. Rules: 0.5–0.9; null allowed |
deepgramEotTimeoutMs |
integer (int32) |
Deepgram timeout for detecting the end of a turn, in milliseconds. Rules: 500–10000; null allowed |
deepgramLanguageHints |
List of string |
Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates; null allowedShow all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
Use the greeting from pre-processing when one is available. Rules: null allowed |
kugelLanguages |
List of string |
Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. Rules: 1–9 entries; null allowed |
kugelTurnDetectionLevel |
string |
RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Rules: null allowedValues: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Description |
|---|---|---|
temperature |
number (double) |
Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Description |
|---|---|---|
model |
string |
Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: up to 100000 characters |
conversationHistoryLimit |
integer (int32) |
Maximum number of conversation-history entries supplied to the model. Rules: 1–100Example: 20 |
knowledgeBaseId |
string (uuid) |
ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Maximum knowledge chunks retrieved per search. Rules: 1–50Example: 5 |
ragSimilarityThreshold |
number (double) |
Minimum similarity a knowledge chunk must have to be included. Rules: 0–1Example: 0.5 |
temperature |
number (double) |
Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2Example: 0.3 |
maxTokens |
integer (int32) |
Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000Example: 1000 |
ttsStreamingMode |
string |
Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Maximum conversation-history entries used for query rewriting. Rules: 1–100Example: 5 |
queryTransformPrompt |
string |
Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. Rules: up to 20000 characters |
queryTransformConfidenceThreshold |
number (double) |
Confidence required for the query transformer. Rules: 0–1Example: 0.8 |
queryTransformMode |
string |
Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Description |
|---|---|---|
rewriteModel |
string |
Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
Instructions for rewriting the knowledge-search query. |
{
"id": "00000000-0000-0000-0000-000000000001",
"revision": "revision-from-get",
"agent": {
"enabled": false,
"agentType": "VOICE",
"title": "Demo",
"description": "string",
"agentName": "Demo Assistant",
"persona": "string",
"sttLanguages": [
"de-DE"
],
"voiceId": "azure:FLORIAN_HD",
"voiceConfiguration": {
"temperature": 0.3,
"topP": 0.3,
"topK": 1,
"cfgScale": 1,
"telecomEffectEnabled": false,
"enhancePronunciationEnabled": false,
"xmlLang": "de-AT",
"style": "string"
},
"greetingMorningText": "string",
"greetingAfternoonText": "string",
"greetingEveningText": "string",
"importantNote": "string",
"initialSilenceTimeoutMs": 1500,
"segmentationSilenceTimeoutMs": 500,
"phraseList": [
"Nuvoca"
],
"timezone": "Europe/Berlin",
"greetingNonInterruptible": false,
"greetingTimeoutSeconds": 30,
"sttProvider": "AZURE",
"deepgramEotThreshold": 0.5,
"deepgramEotTimeoutMs": 500,
"deepgramLanguageHints": [],
"preferPreProcessingGreeting": false,
"kugelLanguages": [
"string"
],
"kugelTurnDetectionLevel": "RESPONSIVE"
},
"options": {
"model": "GPT_4_1_MINI",
"reasoningEffort": "NONE",
"systemPrompt": "string",
"conversationHistoryLimit": 20,
"knowledgeBaseId": "00000000-0000-0000-0000-000000000001",
"ragTopK": 5,
"ragSimilarityThreshold": 0.5,
"temperature": 0.3,
"maxTokens": 1000,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 5,
"queryTransformPrompt": "string",
"queryTransformConfidenceThreshold": 0.8,
"queryTransformMode": "LLM",
"decisionQueryTransform": {
"rewriteModel": "GPT_4_1_MINI",
"parallel": false,
"decisionPrompt": "string",
"rewritePrompt": "string"
}
}
}
Error responses
| Status | Meaning |
|---|---|
400 |
Invalid input, unsupported selection or time range. |
401 |
Missing, expired or invalid credential. The body may be empty. |
403 |
Required scope or current user permission missing. The body may be empty. |
404 |
Resource is unavailable in the bound workspace. |
429 |
Shared workspace budget exceeded. Honor Retry-After; do not blindly replay uncertain writes. |
503 |
Temporarily unavailable. Check uncertain writes before retrying. |
Error body
| Field | Type | Description |
|---|---|---|
status |
integer |
HTTP status code. |
error |
string |
Description of the error. |
details |
any |
Additional error details, when available. Rules: null allowed |
code |
string |
Machine-readable error code. |
params |
object |
Additional values associated with the error code. |
fieldErrors |
object |
Validation errors grouped by input field. |
For 429 or 503, honor the Retry-After header (seconds). Check uncertain writes before retrying.
Update Agent¶
Scope: agents:write
Saves configuration directly; no call, tool test or message delivery is executed. Read the resource first. Send its current ETag, including quotes, in If-Match. Send the full editable configuration. Omitted settings can be reset.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id |
Path | string (uuid) |
Yes | Resource identifier in the bound workspace. |
If-Match |
Header | string |
Yes | ETag from the preceding read, including quotes. Example: "revision-from-get" |
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
agent |
object |
Yes | Conversation, speech recognition and voice settings. |
options |
object |
Yes | Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
No | Enable the Agent. Omission or null means false. |
agentType |
string |
Yes | VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Yes | Display name of the resource. Rules: up to 255 characters Example: "Demo" |
description |
string |
No | Description of this resource's purpose. Rules: up to 10000 characters; null allowed |
agentName |
string |
Yes | Name the Agent uses when speaking to callers. Rules: up to 255 characters Example: "Demo Assistant" |
persona |
string |
No | Personality and speaking style for the Agent. Rules: up to 10000 characters; null allowed |
sttLanguages |
List of string |
Yes | Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: at least 1 entry; no duplicates Example: ["de-DE"]Show all 85 allowed values
|
voiceId |
string |
Yes | Exact ID from the voice catalog, including its provider prefix. Rules: up to 255 characters |
voiceConfiguration |
object |
No | Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
greetingMorningText |
string |
Yes | Morning greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingAfternoonText |
string |
Yes | Afternoon greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingEveningText |
string |
Yes | Evening greeting, using the Agent's timezone. Rules: up to 4000 characters |
importantNote |
string |
No | Additional instructions for the Agent. Rules: up to 10000 characters; null allowed |
initialSilenceTimeoutMs |
integer (int32) |
Yes | How long Azure waits for the caller to start speaking, in milliseconds. Rules: 0–60000Example: 1500 |
segmentationSilenceTimeoutMs |
integer (int32) |
Yes | Silence after which Azure separates recognized speech into segments, in milliseconds. Rules: 100–5000Example: 500 |
phraseList |
List of string |
No | Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. Rules: up to 500 entries; null allowedExample: ["Nuvoca"]Each entry: up to 500 characters |
timezone |
string |
No | IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: up to 100 characters; null allowedExample: "Europe/Berlin" |
greetingNonInterruptible |
boolean |
No | Prevent the caller from interrupting the greeting. Rules: null allowed |
greetingTimeoutSeconds |
integer (int32) |
No | Greeting time limit, in seconds. Rules: 5–300; null allowedExample: 30 |
sttProvider |
string |
No | Speech-recognition provider from the Agent catalog. Rules: null allowedValues: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
No | Confidence required for Deepgram to consider the caller's turn complete. Rules: 0.5–0.9; null allowed |
deepgramEotTimeoutMs |
integer (int32) |
No | Deepgram timeout for detecting the end of a turn, in milliseconds. Rules: 500–10000; null allowed |
deepgramLanguageHints |
List of string |
No | Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates; null allowedShow all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
No | Use the greeting from pre-processing when one is available. Rules: null allowed |
kugelLanguages |
List of string |
No | Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. Rules: 1–9 entries; null allowed |
kugelTurnDetectionLevel |
string |
No | RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Rules: null allowedValues: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Required | Description |
|---|---|---|---|
temperature |
number (double) |
No | Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
No | Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
No | Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
No | Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
No | Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
No | Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
No | Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
No | Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Required | Description |
|---|---|---|---|
model |
string |
Yes | Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
No | Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Yes | Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: up to 100000 characters |
conversationHistoryLimit |
integer (int32) |
Yes | Maximum number of conversation-history entries supplied to the model. Rules: 1–100Example: 20 |
knowledgeBaseId |
string (uuid) |
No | ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Yes | Maximum knowledge chunks retrieved per search. Rules: 1–50Example: 5 |
ragSimilarityThreshold |
number (double) |
No | Minimum similarity a knowledge chunk must have to be included. Rules: 0–1Example: 0.5 |
temperature |
number (double) |
No | Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2Example: 0.3 |
maxTokens |
integer (int32) |
Yes | Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000Example: 1000 |
ttsStreamingMode |
string |
No | Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
No | Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Yes | Maximum conversation-history entries used for query rewriting. Rules: 1–100Example: 5 |
queryTransformPrompt |
string |
No | Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. Rules: up to 20000 characters |
queryTransformConfidenceThreshold |
number (double) |
No | Confidence required for the query transformer. Rules: 0–1Example: 0.8 |
queryTransformMode |
string |
No | Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
No | Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Required | Description |
|---|---|---|---|
rewriteModel |
string |
No | Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
No | Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
No | Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
No | Instructions for rewriting the knowledge-search query. |
{
"agent": {
"enabled": false,
"agentType": "VOICE",
"title": "NuvoCar reception draft",
"agentName": "NuvoCar Assistant",
"sttProvider": "AZURE",
"sttLanguages": [
"en-US"
],
"voiceId": "azure:FLORIAN_HD",
"timezone": "Europe/Berlin",
"greetingMorningText": "Good morning, this is NuvoCar's digital assistant. How can I help?",
"greetingAfternoonText": "Hello, this is NuvoCar's digital assistant. How can I help?",
"greetingEveningText": "Good evening, this is NuvoCar's digital assistant. How can I help?",
"initialSilenceTimeoutMs": 1500,
"segmentationSilenceTimeoutMs": 500,
"phraseList": [
"NuvoCar"
]
},
"options": {
"model": "GPT_4_1_MINI",
"systemPrompt": "You are NuvoCar's digital receptionist. Ask about the caller's request. Never invent prices or appointments. Explain when information is unavailable. Never claim storage or transfer without a successful configured action.",
"conversationHistoryLimit": 20,
"knowledgeBaseId": null,
"ragTopK": 5,
"ragSimilarityThreshold": 0.5,
"temperature": 0.3,
"maxTokens": 1000,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 5,
"queryTransformConfidenceThreshold": 0.8,
"queryTransformMode": "LLM"
}
}
Response 200
Success.
| Header | Type | Description |
|---|---|---|
Cache-Control |
string |
The response must not be cached. Example: no-store |
ETag |
string |
Current revision. Send unchanged, including quotes, as If-Match when required. Example: "revision-from-get" |
application/json
| Field | Type | Description |
|---|---|---|
id |
string (uuid) |
Resource ID in your workspace. |
revision |
string |
Current resource revision. Use the response ETag for If-Match when updating. |
agent |
object |
Conversation, speech recognition and voice settings. |
options |
object |
Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Description |
|---|---|---|
enabled |
boolean |
Enable the Agent. Omission or null means false. |
agentType |
string |
VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Display name of the resource. Rules: up to 255 characters Example: "Demo" |
description |
string |
Description of this resource's purpose. Rules: up to 10000 characters; null allowed |
agentName |
string |
Name the Agent uses when speaking to callers. Rules: up to 255 characters Example: "Demo Assistant" |
persona |
string |
Personality and speaking style for the Agent. Rules: up to 10000 characters; null allowed |
sttLanguages |
List of string |
Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: at least 1 entry; no duplicates Example: ["de-DE"]Show all 85 allowed values
|
voiceId |
string |
Exact ID from the voice catalog, including its provider prefix. Rules: up to 255 characters |
voiceConfiguration |
object |
Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
greetingMorningText |
string |
Morning greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingAfternoonText |
string |
Afternoon greeting, using the Agent's timezone. Rules: up to 4000 characters |
greetingEveningText |
string |
Evening greeting, using the Agent's timezone. Rules: up to 4000 characters |
importantNote |
string |
Additional instructions for the Agent. Rules: up to 10000 characters; null allowed |
initialSilenceTimeoutMs |
integer (int32) |
How long Azure waits for the caller to start speaking, in milliseconds. Rules: 0–60000Example: 1500 |
segmentationSilenceTimeoutMs |
integer (int32) |
Silence after which Azure separates recognized speech into segments, in milliseconds. Rules: 100–5000Example: 500 |
phraseList |
List of string |
Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. Rules: up to 500 entries; null allowedExample: ["Nuvoca"]Each entry: up to 500 characters |
timezone |
string |
IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: up to 100 characters; null allowedExample: "Europe/Berlin" |
greetingNonInterruptible |
boolean |
Prevent the caller from interrupting the greeting. Rules: null allowed |
greetingTimeoutSeconds |
integer (int32) |
Greeting time limit, in seconds. Rules: 5–300; null allowedExample: 30 |
sttProvider |
string |
Speech-recognition provider from the Agent catalog. Rules: null allowedValues: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
Confidence required for Deepgram to consider the caller's turn complete. Rules: 0.5–0.9; null allowed |
deepgramEotTimeoutMs |
integer (int32) |
Deepgram timeout for detecting the end of a turn, in milliseconds. Rules: 500–10000; null allowed |
deepgramLanguageHints |
List of string |
Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates; null allowedShow all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
Use the greeting from pre-processing when one is available. Rules: null allowed |
kugelLanguages |
List of string |
Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. Rules: 1–9 entries; null allowed |
kugelTurnDetectionLevel |
string |
RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Rules: null allowedValues: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Description |
|---|---|---|
temperature |
number (double) |
Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Description |
|---|---|---|
model |
string |
Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: up to 100000 characters |
conversationHistoryLimit |
integer (int32) |
Maximum number of conversation-history entries supplied to the model. Rules: 1–100Example: 20 |
knowledgeBaseId |
string (uuid) |
ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Maximum knowledge chunks retrieved per search. Rules: 1–50Example: 5 |
ragSimilarityThreshold |
number (double) |
Minimum similarity a knowledge chunk must have to be included. Rules: 0–1Example: 0.5 |
temperature |
number (double) |
Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2Example: 0.3 |
maxTokens |
integer (int32) |
Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000Example: 1000 |
ttsStreamingMode |
string |
Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Maximum conversation-history entries used for query rewriting. Rules: 1–100Example: 5 |
queryTransformPrompt |
string |
Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. Rules: up to 20000 characters |
queryTransformConfidenceThreshold |
number (double) |
Confidence required for the query transformer. Rules: 0–1Example: 0.8 |
queryTransformMode |
string |
Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Description |
|---|---|---|
rewriteModel |
string |
Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
Instructions for rewriting the knowledge-search query. |
{
"id": "00000000-0000-0000-0000-000000000001",
"revision": "revision-from-get",
"agent": {
"enabled": false,
"agentType": "VOICE",
"title": "Demo",
"description": "string",
"agentName": "Demo Assistant",
"persona": "string",
"sttLanguages": [
"de-DE"
],
"voiceId": "azure:FLORIAN_HD",
"voiceConfiguration": {
"temperature": 0.3,
"topP": 0.3,
"topK": 1,
"cfgScale": 1,
"telecomEffectEnabled": false,
"enhancePronunciationEnabled": false,
"xmlLang": "de-AT",
"style": "string"
},
"greetingMorningText": "string",
"greetingAfternoonText": "string",
"greetingEveningText": "string",
"importantNote": "string",
"initialSilenceTimeoutMs": 1500,
"segmentationSilenceTimeoutMs": 500,
"phraseList": [
"Nuvoca"
],
"timezone": "Europe/Berlin",
"greetingNonInterruptible": false,
"greetingTimeoutSeconds": 30,
"sttProvider": "AZURE",
"deepgramEotThreshold": 0.5,
"deepgramEotTimeoutMs": 500,
"deepgramLanguageHints": [],
"preferPreProcessingGreeting": false,
"kugelLanguages": [
"string"
],
"kugelTurnDetectionLevel": "RESPONSIVE"
},
"options": {
"model": "GPT_4_1_MINI",
"reasoningEffort": "NONE",
"systemPrompt": "string",
"conversationHistoryLimit": 20,
"knowledgeBaseId": "00000000-0000-0000-0000-000000000001",
"ragTopK": 5,
"ragSimilarityThreshold": 0.5,
"temperature": 0.3,
"maxTokens": 1000,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 5,
"queryTransformPrompt": "string",
"queryTransformConfidenceThreshold": 0.8,
"queryTransformMode": "LLM",
"decisionQueryTransform": {
"rewriteModel": "GPT_4_1_MINI",
"parallel": false,
"decisionPrompt": "string",
"rewritePrompt": "string"
}
}
}
Error responses
| Status | Meaning |
|---|---|
400 |
Invalid input, unsupported selection or time range. |
401 |
Missing, expired or invalid credential. The body may be empty. |
403 |
Required scope or current user permission missing. The body may be empty. |
404 |
Resource is unavailable in the bound workspace. |
409 |
Missing/stale revision or dependency/routing conflict. Read again before retrying. |
429 |
Shared workspace budget exceeded. Honor Retry-After; do not blindly replay uncertain writes. |
503 |
Temporarily unavailable. Check uncertain writes before retrying. |
Error body
| Field | Type | Description |
|---|---|---|
status |
integer |
HTTP status code. |
error |
string |
Description of the error. |
details |
any |
Additional error details, when available. Rules: null allowed |
code |
string |
Machine-readable error code. |
params |
object |
Additional values associated with the error code. |
fieldErrors |
object |
Validation errors grouped by input field. |
For 429 or 503, honor the Retry-After header (seconds). Check uncertain writes before retrying.
Read legacy Agent snapshot¶
Scope: agents:configuration:read
Read-only compatibility snapshot. Use GET /agents/{id} for editable configuration and an ETag.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
agentId |
Path | string (uuid) |
Yes | Resource identifier in the bound workspace. |
Response 200
Success.
| Header | Type | Description |
|---|---|---|
Cache-Control |
string |
The response must not be cached. Example: no-store |
application/json
| Field | Type | Description |
|---|---|---|
agent |
object |
Conversation, speech recognition and voice settings. |
options |
object |
Model, prompt and knowledge-search settings. |
agent — fields
| Field | Type | Description |
|---|---|---|
agentId |
string (uuid) |
ID of the Agent. |
tenantId |
string (uuid) |
ID of the workspace bound to the credential. |
enabled |
boolean |
Whether this resource is enabled. |
agentType |
string |
VOICE handles voice calls; AGENTIC is a specialist in an Agentic Flow. Values: AGENTIC, VOICE |
title |
string |
Display name of the resource. |
description |
string |
Description of this resource's purpose. Rules: null allowed |
agentName |
string |
Name the Agent uses when speaking to callers. Rules: at least 1 character |
persona |
string |
Personality and speaking style for the Agent. Rules: null allowed |
sttLanguages |
List of string |
Languages Azure should recognize. Values stay stored when another speech provider is selected. Rules: no duplicates Show all 85 allowed values
|
voice |
string |
Voice identifier in the legacy Agent configuration.Show all 714 allowed values
|
voiceConfiguration |
object |
Parameters supported by the selected voice. Null removes these parameters on Agent updates. |
timezone |
string |
IANA timezone used for time-dependent Agent behavior, such as Europe/Berlin. Rules: at least 1 character |
greetingMorningText |
string |
Morning greeting, using the Agent's timezone. |
greetingAfternoonText |
string |
Afternoon greeting, using the Agent's timezone. |
greetingEveningText |
string |
Evening greeting, using the Agent's timezone. |
importantNote |
string |
Additional instructions for the Agent. Rules: null allowed |
initialSilenceTimeoutMs |
integer (int32) |
How long Azure waits for the caller to start speaking, in milliseconds. |
segmentationSilenceTimeoutMs |
integer (int32) |
Silence after which Azure separates recognized speech into segments, in milliseconds. |
phraseList |
List of string |
Words or phrases to help speech recognition, such as product names. Send separate list entries, not comma-separated text. |
greetingNonInterruptible |
boolean |
Prevent the caller from interrupting the greeting. |
greetingTimeoutSeconds |
integer (int32) |
Greeting time limit, in seconds. |
sttProvider |
string |
Speech-recognition provider from the Agent catalog. Values: AZURE, DEEPGRAM, KUGEL |
deepgramEotThreshold |
number |
Confidence required for Deepgram to consider the caller's turn complete. |
deepgramEotTimeoutMs |
integer (int32) |
Deepgram timeout for detecting the end of a turn, in milliseconds. |
deepgramLanguageHints |
List of string |
Language hints from the Agent catalog. They guide Deepgram without restricting its supported languages. Rules: no duplicates Show all 10 allowed values
|
preferPreProcessingGreeting |
boolean |
Use the greeting from pre-processing when one is available. |
ttsProvider |
string |
Speech-output provider in the legacy Agent configuration. Rules: null allowedValues: AZURE, KUGEL |
kugelVoiceId |
integer (int32) |
Voice identifier in the legacy Kugel configuration. Rules: ≥ 1; null allowed |
kugelLanguages |
List of string |
Ordered Kugel language codes from the Agent catalog. The first is the expected starting language. Defaults to German on creation; omission on update keeps the current list. |
kugelTurnDetectionLevel |
string |
RESPONSIVE reacts quickly; CONSERVATIVE waits longer during pauses. Applies to new calls; omission on update keeps the current setting. Values: RESPONSIVE, CONSERVATIVE |
voiceConfiguration — fields
| Field | Type | Description |
|---|---|---|
temperature |
number (double) |
Voice sampling temperature. Lower values produce more consistent speech. Rules: 0.3–1; null allowed |
topP |
number (double) |
Top-p sampling setting, if supported by the voice. Rules: 0.3–1; null allowed |
topK |
integer (int32) |
Top-k sampling setting, if supported by the voice. Rules: 1–50; null allowed |
cfgScale |
number (double) |
Guidance strength for voices that support this parameter. Rules: 1–2; null allowed |
telecomEffectEnabled |
boolean |
Apply telephone-style audio for supported Azure HD voices. Null uses the platform default. |
enhancePronunciationEnabled |
boolean |
Enable pronunciation enhancement for supported Azure HD voices. Null uses the platform default. |
xmlLang |
string |
Language or accent code supported by the selected voice. Rules: up to 10 characters; null allowedExample: "de-AT" |
style |
string |
Speaking style supported by the selected voice. Rules: up to 50 characters; null allowed |
options — fields
| Field | Type | Description |
|---|---|---|
model |
string |
Agent model from the Agent catalog. Check its reasoning, temperature and output limits.Show all 19 allowed values
|
reasoningEffort |
string |
Reasoning effort supported by the selected model in the Agent catalog. Values: NONE, MINIMAL, LOW |
systemPrompt |
string |
Complete Agent instructions, including behavior, knowledge boundaries and error handling. Rules: at least 1 character |
conversationHistoryLimit |
integer (int32) |
Maximum number of conversation-history entries supplied to the model. |
knowledgeBaseId |
string (uuid) |
ID of the assigned Knowledge Base. Null removes the assignment. |
ragTopK |
integer (int32) |
Maximum knowledge chunks retrieved per search. |
ragSimilarityThreshold |
number (double) |
Minimum similarity a knowledge chunk must have to be included. |
temperature |
number (double) |
Response variation. Respect any fixed temperature in the selected model's catalog entry. Rules: 0–2 |
maxTokens |
integer (int32) |
Maximum output-token budget. Also respect the selected model's limit in the catalog. Rules: 10–25000 |
ttsStreamingMode |
string |
Speech-output mode selected from the Agent catalog. Values: QUALITY_SSML, LOW_LATENCY_TEXT_STREAM |
queryTransformEnabled |
boolean |
Rewrite knowledge-search queries before retrieval. Omission or null means false. |
queryTransformHistoryLimit |
integer (int32) |
Maximum conversation-history entries used for query rewriting. |
queryTransformPrompt |
string |
Query-rewrite prompt for LLM mode. DECISION mode uses decisionQueryTransform. |
queryTransformConfidenceThreshold |
number (double) |
Confidence required for the query transformer. |
queryTransformMode |
string |
Use an LLM rewrite or a separate search decision and rewrite. Values: LLM, DECISION |
decisionQueryTransform |
object |
Search-decision and query-rewrite settings. Requires availability in the Agent catalog. |
decisionQueryTransform — fields
| Field | Type | Description |
|---|---|---|
rewriteModel |
string |
Model used for query rewriting. Select a catalog model with supportsQueryRewrite=true.Show all 19 allowed values
|
parallel |
boolean |
Run the search decision and query rewrite at the same time. |
decisionPrompt |
string |
Instructions for deciding whether to search the Knowledge Base: SEARCH or SKIP. |
rewritePrompt |
string |
Instructions for rewriting the knowledge-search query. |
{
"agent": {
"agentId": "00000000-0000-0000-0000-000000000001",
"tenantId": "00000000-0000-0000-0000-000000000001",
"enabled": false,
"agentType": "VOICE",
"title": "NuvoCar service",
"description": "string",
"agentName": "string",
"persona": "string",
"sttLanguages": [],
"voice": "KLAUS_MAI_FLASH",
"voiceConfiguration": {
"temperature": 0.3,
"topP": 0.3,
"topK": 1,
"cfgScale": 1,
"telecomEffectEnabled": false,
"enhancePronunciationEnabled": false,
"xmlLang": "de-AT",
"style": "string"
},
"timezone": "string",
"greetingMorningText": "string",
"greetingAfternoonText": "string",
"greetingEveningText": "string",
"importantNote": "string",
"initialSilenceTimeoutMs": 0,
"segmentationSilenceTimeoutMs": 0,
"phraseList": [],
"greetingNonInterruptible": false,
"greetingTimeoutSeconds": 0,
"sttProvider": "AZURE",
"deepgramEotThreshold": 0,
"deepgramEotTimeoutMs": 0,
"deepgramLanguageHints": [],
"preferPreProcessingGreeting": false,
"ttsProvider": "AZURE",
"kugelVoiceId": 1,
"kugelLanguages": [],
"kugelTurnDetectionLevel": "RESPONSIVE"
},
"options": {
"model": "GPT_4_1_MINI",
"reasoningEffort": "NONE",
"systemPrompt": "string",
"conversationHistoryLimit": 0,
"knowledgeBaseId": "00000000-0000-0000-0000-000000000001",
"ragTopK": 0,
"ragSimilarityThreshold": 0,
"temperature": 0,
"maxTokens": 10,
"ttsStreamingMode": "QUALITY_SSML",
"queryTransformEnabled": false,
"queryTransformHistoryLimit": 0,
"queryTransformPrompt": "string",
"queryTransformConfidenceThreshold": 0,
"queryTransformMode": "LLM",
"decisionQueryTransform": {
"rewriteModel": "GPT_4_1_MINI",
"parallel": false,
"decisionPrompt": "string",
"rewritePrompt": "string"
}
}
}
Error responses
| Status | Meaning |
|---|---|
400 |
Invalid input, unsupported selection or time range. |
401 |
Missing, expired or invalid credential. The body may be empty. |
403 |
Required scope or current user permission missing. The body may be empty. |
404 |
Resource is unavailable in the bound workspace. |
429 |
Shared workspace budget exceeded. Honor Retry-After; do not blindly replay uncertain writes. |
503 |
Temporarily unavailable. Check uncertain writes before retrying. |
Error body
| Field | Type | Description |
|---|---|---|
status |
integer |
HTTP status code. |
error |
string |
Description of the error. |
details |
any |
Additional error details, when available. Rules: null allowed |
code |
string |
Machine-readable error code. |
params |
object |
Additional values associated with the error code. |
fieldErrors |
object |
Validation errors grouped by input field. |
For 429 or 503, honor the Retry-After header (seconds). Check uncertain writes before retrying.