Voiceflow bearer token
curl --request GET \
--url https://realtime-api.voiceflow.com/v1/stable/message/<messageID> \
--header 'Authorization: Bearer <token>'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/message/<messageID>?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/message/<messageID>?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
)
data = response.json()vf message get --message-id <messageID> --project-id <projectID> --environment-alias <environmentAlias>{
"message": {
"id": "<string>",
"variants": [
{
"id": "<string>",
"text": "<MarkdownLikeString>",
"delay": 0,
"condition": "<StableMessageVariantCondition>",
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z",
"updatedByID": 0
}
],
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z",
"createdByID": 0,
"updatedByID": 0
}
}Returns one message with all of its variants. A message is a set of alternative texts for one slot, and the runtime says one of them.
curl --request GET \
--url https://realtime-api.voiceflow.com/v1/stable/message/<messageID> \
--header 'Authorization: Bearer <token>'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/message/<messageID>?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/message/<messageID>?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
)
data = response.json()vf message get --message-id <messageID> --project-id <projectID> --environment-alias <environmentAlias>{
"message": {
"id": "<string>",
"variants": [
{
"id": "<string>",
"text": "<MarkdownLikeString>",
"delay": 0,
"condition": "<StableMessageVariantCondition>",
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z",
"updatedByID": 0
}
],
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z",
"createdByID": 0,
"updatedByID": 0
}
}Authorizations
Query Parameters
Response
200 - application/jsonReturns the message with its variants, each carrying its text, delay in milliseconds, condition, timestamps, and user IDs.
Show child attributes
Every variant, in stored order. Variants are alternatives: the runtime says one of them each time. The first variant cannot be given a condition.
Show child attributes
Message text shown to the end user. Limited markdown: bold, _italic_, <u>underline</u>, ~~strikethrough~~, [label](url). {variable_name} inserts a variable or entity, {variable_name.path} a field of a variable. Escape a literal { or \ with a backslash. A name matching neither is stored as literal text and reported in unresolvedReferences; secrets are not available here.
Was this page helpful?
Thanks for your feedback.