Live campaign counters (polled at 5s; carries an ETag)
GET
/v1/campaigns/{campaign_id}/stats
const url = 'https://api.vocapable.com/v1/campaigns/example/stats';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.vocapable.com/v1/campaigns/example/stats \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”campaign_id
required
Campaign Id
string
Responses
Section titled “Responses”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
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>
ValidationErrorobject
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": {} } ]}