Voiceflow bearer token
curl --request GET \
--url https://realtime-api.voiceflow.com/v1/stable/widget \
--header 'Authorization: Bearer <token>'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/widget?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'GET',
headers: {
Authorization: 'Bearer <token>',
},
});
const data = await response.json();import requests
response = requests.get(
'https://realtime-api.voiceflow.com/v1/stable/widget?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
)
data = response.json()vf widget get --project-id <projectID> --environment-alias <environmentAlias>{
"widget": {
"type": "<WidgetSettingsWidgetType>",
"chat": "<WidgetSettingsChatSettings>",
"voice": "<WidgetSettingsVoiceSettings>",
"common": "<WidgetSettingsCommonSettings>",
"security": "<WidgetSettingsSecuritySettings>"
}
}Get widget
Returns the widget configuration stored on the environment’s draft version: which surface the embed runs and the settings of each surface. Visitors see the published version, so this can differ from the live site until the environment is published.
curl --request GET \
--url https://realtime-api.voiceflow.com/v1/stable/widget \
--header 'Authorization: Bearer <token>'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/widget?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'GET',
headers: {
Authorization: 'Bearer <token>',
},
});
const data = await response.json();import requests
response = requests.get(
'https://realtime-api.voiceflow.com/v1/stable/widget?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
)
data = response.json()vf widget get --project-id <projectID> --environment-alias <environmentAlias>{
"widget": {
"type": "<WidgetSettingsWidgetType>",
"chat": "<WidgetSettingsChatSettings>",
"voice": "<WidgetSettingsVoiceSettings>",
"common": "<WidgetSettingsCommonSettings>",
"security": "<WidgetSettingsSecuritySettings>"
}
}Authorizations
Query Parameters
Response
200 - application/jsonReturns the widget with its surface type and its chat, voice, common, and security blocks, as stored on the environment's draft version.
The widget configuration stored on the environment's draft version.
Show child attributes
The chat surface, applied when type is chat: how it renders on the page (floating widget, inline embed, or popover), its header and agent images, the opening banner, the input placeholder, the privacy and AI disclaimers, voice input and output, file upload, and the end-of-conversation CSAT survey.
Show child attributes
The voice surface, applied when type is voice: how the call screen renders, and the copy shown through a call — the call-to-action, the start and end button labels, and the listening and talking states.
Chrome shared by both surfaces: the launcher, the primary color and its palette, the font, the position and spacing on the page, the width, the Voiceflow footer link, and where the conversation is persisted between page loads.
Show child attributes
Approved-domain allowlisting and transcript controls. Absent on a project that has never configured it. Writing this block requires a plan entitlement.
Was this page helpful?
Thanks for your feedback.