Analyze an unsaved funnel
POST
The report of the funnel in the body without saving it: the same answer as a saved funnel's report.
Requires funnels:read on the site (an API key, or a signed-in member's role). Share links: 401.
header
x-api-key<token>An organization API key (ak_…), with the permissions and the sites it was created with. For servers and scripts: no cookie and no Origin check. Also accepted as Authorization: Bearer ak_… (apiKeyBearer). A request carries one credential: a key sent with a share token or a live session cookie is 400 (details.reason: ambiguous_credentials).
Scope: funnels:read
siteId*stringstart?stringend?stringlast?stringall?"true"Value in
"true"tz?stringbucket?stringValue in
"minute""5m""15m""hour""day""week""month""year"filters?stringLength
length <= 64000segment?stringMatch
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Format
uuidapplication/json- body
steps*array<||>Items
2 <= items <= 10windowSeconds?|nullOK
application/json- response
data*meta*curl -X POST 'https://pilotfox.app/api/v1/sites/string/funnels/analyze' \ -H 'Content-Type: application/json' \ -d '{ "steps": [ { "kind": "page", "path": "string" }, { "kind": "page", "path": "string" } ]}'Example Response200
{ "data": { "unit": "sessions", "windowSeconds": 0, "steps": [ { "step": 0, "label": "string", "condition": { "kind": "page", "path": "string", "hostname": "string", "props": [ { "key": "string", "op": "eq", "value": "string" } ] }, "count": 0, "conversion": 0, "dropoff": 0, "median_seconds": 0 } ] }, "meta": { "window": { "from": "string", "to": "string", "tz": "string", "bucket": "minute" }, "compare": { "from": "string", "to": "string" }, "totalCount": -9007199254740991, "nextCursor": "string", "truncated": true, "cache": "hit" }}