Analytics events

Send play and impression events from your players and partners.

Send playback events from your players and partners. Each event lands in the raw event stream, and the title's daily figures, the numbers Ingenee's analytics show, are recomputed from it. Ingenee only counts what you send: it never estimates or fills in figures.

You need a key with the analytics:write scope, and the Analytics ingest feature must be on for your organisation.

Send a batch

Send up to 5,000 events per call. Replaying the same batch is safe, because the daily figures are recomputed from the raw events each time.

curl -X POST https://dev.app.ingenee.ai/api/v1/analytics/events \
  -H "Authorization: Bearer $INGENEE_API_KEY" -H "content-type: application/json" \
  -d '{
    "events": [
      {
        "assetId": "1b478b6a-7721-4a94-aade-55c5658f259c",
        "eventType": "complete",
        "sessionId": "sess-8812",
        "source": "vod",
        "sourceId": "shelf-friday-thrillers",
        "watchTimeSeconds": 5520,
        "completionPct": 97,
        "country": "US",
        "device": "tv",
        "eventAt": "2026-10-30T21:14:03Z"
      }
    ]
  }'

Event fields

FieldRequiredNotes
eventTypeyesplay, pause, complete, click, impression or next_up
eventAtyesISO-8601 with an offset
assetId—The Ingenee title id
sessionId—Your playback session id, up to 200 characters
source / sourceId—Where it happened (for example vod + a shelf id, or fast + a channel id)
watchTimeSeconds—0 to 86,400
completionPct—0 to 100
country—ISO 3166-1 alpha-2
device—tv, mobile or web
metadata—Any extra JSON you want kept with the event

Endpoints

OperationMethod + pathScope
Send play eventsPOST /v1/analytics/eventsanalytics:write

On this page