Skip to content

Dial → connect → conversation → outcome, with stage rates

GET
/v1/analytics/funnel
curl --request GET \
--url https://api.vocapable.com/v1/analytics/funnel \
--header 'Authorization: Bearer <token>'
start
Any of:
string format: date-time

Inclusive lower bound, ISO-8601. The attempt and turn ledgers are month-partitioned, so a report must name both sides of its window and may span at most 93 days.

end
Any of:
string format: date-time

Exclusive upper bound, ISO-8601.

group_by
Any of:
Array<string>
Allowed values: campaign agent_version day

Repeatable. Omit for a single total across the window.

campaign_id
Any of:
string

Narrow to one campaign.

agent_version_id
Any of:
string

Narrow to one published agent version.

Successful Response

Media typeapplication/json
FunnelReport
object
window
required
ReportWindow

The half-open window the report was actually computed over.

object
start
required
Start
string format: date-time
end
required
End
string format: date-time
group_by
Group By
Array<string>
Allowed values: campaign agent_version day
buckets
Buckets
Array<object>
FunnelBucketOut

One group of the dial → connect → conversation → outcome funnel.

object
campaign_id
Any of:
string
agent_version_id
Any of:
string
day
Any of:
string format: date
attempts
required
Attempts
integer
dials
required
Dials
integer
connects
required
Connects
integer
conversations
required
Conversations
integer
outcomes
required
Outcomes
integer
goal_completions
required
Goal Completions
integer
connect_rate
Any of:
number
conversation_rate
Any of:
number
outcome_rate
Any of:
number
goal_rate
Any of:
number
Example
{
"group_by": [
"campaign"
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}