Usage detail for one event name

GET/v1/events/{name}/usage

Secret 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

  • daysinteger

    Rolling window, in days (1–365) counting back from now. Mutually exclusive with `from`/`to`. Omit for all time.

  • fromdate-time

    Start of an explicit window (ISO 8601). May be sent without `to` for an open-ended range.

  • todate-time

    End of an explicit window (ISO 8601), inclusive — `to` on a date includes that whole day rather than stopping at its start.

Response

Usage detail.

  • namestring
  • countinteger
  • contactCountinteger

    Distinct contacts that triggered this event.

  • firstSeeninteger | null
  • lastSeeninteger | 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