Voiceflow bearer token
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1/stable/agent \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"prompt": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": true,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": true,
"address": "<Markup>",
"messages": null,
"extension": "<Markup>",
"toolSound": null,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": true
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": true,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": null,
"toolSound": null,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": true,
"llm": {
"priorityProcessing": true,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": true,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": true,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/agent?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"prompt": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": true,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": true,
"address": "<Markup>",
"messages": null,
"extension": "<Markup>",
"toolSound": null,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": true
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": true,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": null,
"toolSound": null,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": true,
"llm": {
"priorityProcessing": true,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": true,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": true,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
}),
});
const data = await response.json();import requests
response = requests.patch(
'https://realtime-api.voiceflow.com/v1/stable/agent?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"prompt": "<string>",
"endTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>"
},
"cardTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"carouselTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": True,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": True,
"address": "<Markup>",
"messages": None,
"extension": "<Markup>",
"toolSound": None,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": True
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": True,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": None,
"toolSound": None,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": True,
"llm": {
"priorityProcessing": True,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": True,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": True,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
},
)
data = response.json()vf agent update --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"message": "<string>"
}Changes the agent that shapes every turn - its global prompt, its routing instructions, or its settings - in the environment named by the request.
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1/stable/agent \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"prompt": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": true,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": true,
"address": "<Markup>",
"messages": null,
"extension": "<Markup>",
"toolSound": null,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": true
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": true,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": null,
"toolSound": null,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": true,
"llm": {
"priorityProcessing": true,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": true,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": true,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/agent?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"prompt": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": true,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": true,
"address": "<Markup>",
"messages": null,
"extension": "<Markup>",
"toolSound": null,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": true
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": true,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": null,
"toolSound": null,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": true,
"llm": {
"priorityProcessing": true,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": true,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": true,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
}),
});
const data = await response.json();import requests
response = requests.patch(
'https://realtime-api.voiceflow.com/v1/stable/agent?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"prompt": "<string>",
"endTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>"
},
"cardTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"playbooks": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"playbookID": "<string>"
}
],
"workflows": [
{
"condition": "<ExpressionCondition>",
"description": "<string>",
"requiredVariables": [
"<CrewNodeDataRequiredVariable>"
],
"workflowID": "<string>"
}
],
"buttonTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"carouselTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"instructions": "<string>",
"skipTurnTool": {
"enabled": True,
"description": "<string>"
},
"pathToolOrder": [
"<string>"
],
"webSearchTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>",
"allowedDomains": [
"<string>"
],
"sourceUrlsCount": 0
},
"callForwardTool": {
"enabled": True,
"address": "<Markup>",
"messages": None,
"extension": "<Markup>",
"toolSound": None,
"description": "<string>",
"addressType": "<CallForwardAddressType>",
"callerIDPassthrough": True
},
"knowledgeBaseTool": {
"query": "<Markup>",
"enabled": True,
"filters": [
"<AgentKnowledgeBaseMetadataKeyFilter>"
],
"messages": None,
"toolSound": None,
"chunkLimit": 0,
"description": "<string>",
"queryMode": "<AgentKnowledgeBaseToolQueryMode>",
"sourceUrlsCount": 0
},
"includeGuidelines": True,
"llm": {
"priorityProcessing": True,
"defaults": {
"model": "<AIModel>",
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
}
},
"voice": {
"stt": "<STTSettings>",
"tts": "<VoiceSettings>",
"pronunciationDictionary": [
"<PronunciationDictionaryEntry>"
],
"failureMessage": "<string>",
"hasCallRecording": True,
"audioCue": 0,
"backgroundAudio": "<string>",
"backgroundAudioSettings": "<BackgroundAudioSettings>",
"audioSync": True,
"keypadInput": "<VoiceKeypadSettings>",
"silenceTimeoutMs": 0,
"maxDuration": "<VoiceMaxDurationSettings>"
}
},
)
data = response.json()vf agent update --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"message": "<string>"
}Authorizations
Query Parameters
Body
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Playbooks available for the agent to invoke. This list REPLACES the registry: send the complete list you want, or omit the field to leave routing untouched. An agent with no playbooks AND no workflows registered cannot run - the runtime fails the conversation - so never send an empty list unless workflows still holds at least one.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Workflows available for the agent to invoke. This list REPLACES the registry: send the complete list you want, or omit the field to leave routing untouched. An agent with no workflows AND no playbooks registered cannot run, so never send an empty list unless playbooks still holds at least one.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
Thanks for your feedback.