Skip to content
IForevents Docs
IForevents Docs
InicioPanelGitHubPrivacidadTérminosSeguridadIntroducción
Referencia de la API
Query events with optional property filters POSTEvent names and the property keys seen on them GETDistinct values for one property GETExport events as CSV GETExport tracked users as CSV GETPaths after or before one event POSTOrdered step conversion POSTThe users behind one funnel step POSTEvery dashboard panel in one call POSTServer-sent events stream of the dashboard payload POSTA bucketed metric over a window, optionally broken down by a property POSTThe events or users behind one insights point POSTFormulas over named Insights queries POSTHeadline counters GETTraffic KPIs GETProjects owned by the caller's organization GETCustom property keys for the explorer filter and breakdown pickers GETDistinct values of one property, most frequent first GETCohort retention: daily, weekly or monthly, with optional entry and return events and an entry-event breakdown POSTBreak one event down by a property value POSTUsers and events per day GETMost frequent events GETPaginated tracked users GET
Soporte y SLA
API ReferenceEndpointsAnalytics

The users behind one funnel step

POST
/v1/analytics/funnel/drilldown

Takes the funnel's own request plus step (1-based), status (converted: reached the step; dropped: reached it, window over, never reached the next step), key and other (the breakdown series, as the funnel names them), limit (1 to 100, default 50) and offset (at most 10000). Same project scope, rules, cohort and exclusions as the funnel; excluded units are never listed. total_users and total_units reconcile with the funnel: converted is the step's users, dropped the step's mature_users minus the next step's. Users are ordered by their earliest such entry, then user; step_times is that entry's path.

Authorization

AuthorizationBearer <token>

Session token issued by the accounts service (or the legacy /v1/auth routes).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/analytics/funnel/drilldown" \  -H "Content-Type: application/json" \  -d '{    "end": "2026-09-13T12:30:45Z",    "limit": 50,    "start": "2026-08-14T00:00:00Z",    "status": "dropped",    "step": 1,    "steps": [      "signup",      "project_created"    ],    "window_hours": 168  }'
{  "counting": "unique_users",  "has_more": true,  "limit": 50,  "offset": 0,  "status": "dropped",  "step": 1,  "total_units": 324,  "total_users": 324,  "users": [    {      "entry": "2026-08-14T09:12:00Z",      "step_times": [        "2026-08-14T09:12:00Z"      ],      "units": 1,      "user_uuid": "6f1c2d3e-0000-4000-8000-000000000001"    }  ]}

Ordered step conversion POST

Previous Page

Every dashboard panel in one call POST

Next Page

breakdown?

Split by a property: event scope reads the user's entry (step 1) event, the smallest value on a same-second tie; user scope reads the current profile. A missing value is the key "".

breakdown_limit?integer

Keys listed before the rest are summed into one Other series (key $other); 1 to 25, default 10. Keys rank by entrants, then key.

cohort_uuid?string

Count only the members of this saved cohort.

Formatuuid
counting?string
end?string
Formatdate-time
exclusions?array<>

At most 5. A user who did a matching event strictly after their from_step and strictly before their to_step (or, if they never reached it, before their window ends) is removed from the whole funnel.

key?string
limit?integer
offset?integer
other?boolean
start?string
Formatdate-time
status*string
step*integer
steps*array<>

2 to 10 ordered steps. Each is an event name or an object {event, filters, match}; a step matches only events of its name that pass its filters (event or user scope, at most 10). A user converts a step only after the previous one.

window_hours?integer

Conversion window; defaults to 168 (7 days).