Voiceflow bearer token
Query objective metrics
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID> \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID>',
headers={'Authorization': 'Bearer <token>'},
json={
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
},
)
data = response.json()vf analytics query objective-metrics --project-id <projectID> \
< body.json{
"conversion": {
"rate": 0,
"matchedSessions": 0,
"evaluatedSessions": 0,
"interval": "hour",
"buckets": [
{
"date": "2026-09-10T00:00:00.000Z",
"matchedSessions": 0,
"evaluatedSessions": 0
}
]
},
"resolution": {
"rate": 0,
"matchedSessions": 0,
"evaluatedSessions": 0,
"interval": "hour",
"buckets": [
{
"date": "2026-09-10T00:00:00.000Z",
"matchedSessions": 0,
"evaluatedSessions": 0
}
]
}
}Query objective metrics
Reports how sessions performed against the agent’s configured objective, conversion or resolution, for one project over a date range. The request body takes `startDate` and `endDate`, with optional timezone, channel and environment filters.
POST
/v1/stable/analytics/query/objective-metrics/project/{projectID}
Query objective metrics
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID> \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/analytics/query/objective-metrics/project/<projectID>',
headers={'Authorization': 'Bearer <token>'},
json={
"endDate": "<string>",
"startDate": "<string>",
"timezone": "<string>",
"interfaces": [
"phone"
],
"environmentAlias": "<string>"
},
)
data = response.json()vf analytics query objective-metrics --project-id <projectID> \
< body.json{
"conversion": {
"rate": 0,
"matchedSessions": 0,
"evaluatedSessions": 0,
"interval": "hour",
"buckets": [
{
"date": "2026-09-10T00:00:00.000Z",
"matchedSessions": 0,
"evaluatedSessions": 0
}
]
},
"resolution": {
"rate": 0,
"matchedSessions": 0,
"evaluatedSessions": 0,
"interval": "hour",
"buckets": [
{
"date": "2026-09-10T00:00:00.000Z",
"matchedSessions": 0,
"evaluatedSessions": 0
}
]
}
}Authorizations
Body
Response
200 - application/jsonReturns the objective's rate, its matched and evaluated session counts and a time series of buckets, under conversion or resolution depending on which objective the agent is configured with.
Returned only when the assistant's objective is conversion.
Show child attributes
Returned only when the assistant's objective is resolution.
Show child attributes
Was this page helpful?
Thanks for your feedback.