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
| Field | Required | Notes |
|---|---|---|
eventType | yes | play, pause, complete, click, impression or next_up |
eventAt | yes | ISO-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
| Operation | Method + path | Scope |
|---|---|---|
| Send play events | POST /v1/analytics/events | analytics:write |