Voiceflow bearer token
Update playbook
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID> \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"skipTurnTool": {
"enabled": true,
"description": "<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
}
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID>?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"skipTurnTool": {
"enabled": true,
"description": "<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
}
}),
});
const data = await response.json();import requests
response = requests.patch(
'https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID>?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>"
},
"cardTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"buttonTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"carouselTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"skipTurnTool": {
"enabled": True,
"description": "<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
}
},
)
data = response.json()vf playbook update --playbook-id <playbookID> --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"message": "<string>"
}Changes an existing playbook in place. The response carries only a confirmation message, so refetch the playbook to read its new values.
PATCH
/v1/stable/playbook/{playbookID}
Update playbook
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID> \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"skipTurnTool": {
"enabled": true,
"description": "<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
}
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID>?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": true,
"messages": null,
"toolSound": null,
"description": "<string>"
},
"cardTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"buttonTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"carouselTool": {
"enabled": true,
"messages": null,
"description": "<string>"
},
"skipTurnTool": {
"enabled": true,
"description": "<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
}
}),
});
const data = await response.json();import requests
response = requests.patch(
'https://realtime-api.voiceflow.com/v1/stable/playbook/<playbookID>?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"settings": {
"model": "<AIModel>",
"realtime": {
"voice": "<string>",
"eagerness": "<string>"
},
"maxTokens": 0,
"temperature": 0,
"reasoningEffort": "<AIReasoningEffort>"
},
"description": "<string>",
"instructions": "<string>",
"endTool": {
"enabled": True,
"messages": None,
"toolSound": None,
"description": "<string>"
},
"cardTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"buttonTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"carouselTool": {
"enabled": True,
"messages": None,
"description": "<string>"
},
"skipTurnTool": {
"enabled": True,
"description": "<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
}
},
)
data = response.json()vf playbook update --playbook-id <playbookID> --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
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Option 1
string
Option 2 · MarkupSpan
Show child attributes
Option 3 · MarkupToolReference
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
Thanks for your feedback.