Usage detail for one event name
/v1/events/{name}/usageSecret key — sk_… or sk_test_… · Base URL https://api.volanea.com
One event name's totals: how many times it fired, how many distinct contacts triggered it, and when it was first and last seen.
contactCount counts only events that were attributed to a contact — events tracked without a resolvable address raise count without raising it, so the two legitimately disagree.
An unknown name answers 200 with zeros rather than 404, so this endpoint cannot tell you "never fired" from "you misspelled it". When a trigger looks dead, check GET /v1/events/names for what you are actually sending.
Takes the same optional window as GET /v1/events/stats, so drilling from a ranged list into one name keeps the range and the two agree. With no range this covers all time, as it always has.
Path parameters
namestringrequired
Query parameters
daysintegerRolling window, in days (1–365) counting back from now. Mutually exclusive with `from`/`to`. Omit for all time.
fromdate-timeStart of an explicit window (ISO 8601). May be sent without `to` for an open-ended range.
todate-timeEnd of an explicit window (ISO 8601), inclusive — `to` on a date includes that whole day rather than stopping at its start.
Response
Usage detail.
namestringcountintegercontactCountintegerDistinct contacts that triggered this event.
firstSeeninteger | nulllastSeeninteger | null
Errors
Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.
401Missing or invalid API key.422Request validation failed (code `validation_error`, 422).
Request
curl https://api.volanea.com/v1/events/Welcome/usage?days=value&from=value \
-H "Authorization: Bearer sk_..."Response
200 · application/json
{
"success": true,
"data": {
"name": "Welcome",
"count": 1,
"contactCount": 1,
"firstSeen": 1,
"lastSeen": 1
}
}92 endpoints · OpenAPI document