Skip to content

Live campaign counters (polled at 5s; carries an ETag)

GET
/v1/campaigns/{campaign_id}/stats
curl --request GET \
--url https://api.vocapable.com/v1/campaigns/example/stats \
--header 'Authorization: Bearer <token>'
campaign_id
required
Campaign Id
string

Successful Response

Media typeapplication/json
CampaignStats

The 5-second monitor payload (docs/04-api.md §2 step 7).

Counted from the attempt ledger and the billing ledger rather than from the campaign’s denormalized counters, so a stat is never stale relative to the rows behind it.

object
dials
required
Dials
integer
connects
required
Connects
integer
connect_rate
required
Connect Rate
number
live_calls_now
required
Live Calls Now
integer
goal_completions
required
Goal Completions
integer
dispositions
Dispositions
object
key
additional properties
integer
sub_codes
Sub Codes
object
key
additional properties
integer
avg_call_duration_ms
Any of:
integer
spend_to_date
required
Money
object
amount_minor
required
Amount Minor
integer
currency
required
Currency
string
Examplegenerated
{
"dials": 1,
"connects": 1,
"connect_rate": 1,
"live_calls_now": 1,
"goal_completions": 1,
"dispositions": {
"additionalProperty": 1
},
"sub_codes": {
"additionalProperty": 1
},
"avg_call_duration_ms": 1,
"spend_to_date": {
"amount_minor": 1,
"currency": "example"
}
}

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": {}
}
]
}