curl --request POST \
--url https://api.cloud.corbado.io/v1/observe/funnel/metricSeries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schemaVersion": "funnel-metric-v1",
"fromDate": "<string>",
"toDate": "<string>",
"metrics": [],
"output": "buckets",
"selections": [
{
"prefix": [
{
"decisionID": "<string>",
"flowType": "<string>",
"specType": "<string>"
}
]
}
],
"discovery": {
"maxExtra": 200,
"minFlows": 1000,
"maxDepth": 2
},
"filters": {
"applicationIDs": [
"app-12345678910"
],
"osNames": [
"<string>"
],
"browserNames": [
"<string>"
],
"osVersions": [
"<string>"
],
"touchpoints": [
"<string>"
],
"customTags": {},
"outcomes": [],
"attemptNumbers": []
},
"breakdowns": [
{
"omitEmpty": false,
"minWeeklyObservations": 1,
"values": [
"<string>"
]
}
]
}
'import requests
url = "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries"
payload = {
"schemaVersion": "funnel-metric-v1",
"fromDate": "<string>",
"toDate": "<string>",
"metrics": [],
"output": "buckets",
"selections": [{ "prefix": [
{
"decisionID": "<string>",
"flowType": "<string>",
"specType": "<string>"
}
] }],
"discovery": {
"maxExtra": 200,
"minFlows": 1000,
"maxDepth": 2
},
"filters": {
"applicationIDs": ["app-12345678910"],
"osNames": ["<string>"],
"browserNames": ["<string>"],
"osVersions": ["<string>"],
"touchpoints": ["<string>"],
"customTags": {},
"outcomes": [],
"attemptNumbers": []
},
"breakdowns": [
{
"omitEmpty": False,
"minWeeklyObservations": 1,
"values": ["<string>"]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schemaVersion: 'funnel-metric-v1',
fromDate: '<string>',
toDate: '<string>',
metrics: [],
output: 'buckets',
selections: [
{prefix: [{decisionID: '<string>', flowType: '<string>', specType: '<string>'}]}
],
discovery: {maxExtra: 200, minFlows: 1000, maxDepth: 2},
filters: {
applicationIDs: ['app-12345678910'],
osNames: ['<string>'],
browserNames: ['<string>'],
osVersions: ['<string>'],
touchpoints: ['<string>'],
customTags: {},
outcomes: [],
attemptNumbers: []
},
breakdowns: [{omitEmpty: false, minWeeklyObservations: 1, values: ['<string>']}]
})
};
fetch('https://api.cloud.corbado.io/v1/observe/funnel/metricSeries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'schemaVersion' => 'funnel-metric-v1',
'fromDate' => '<string>',
'toDate' => '<string>',
'metrics' => [
],
'output' => 'buckets',
'selections' => [
[
'prefix' => [
[
'decisionID' => '<string>',
'flowType' => '<string>',
'specType' => '<string>'
]
]
]
],
'discovery' => [
'maxExtra' => 200,
'minFlows' => 1000,
'maxDepth' => 2
],
'filters' => [
'applicationIDs' => [
'app-12345678910'
],
'osNames' => [
'<string>'
],
'browserNames' => [
'<string>'
],
'osVersions' => [
'<string>'
],
'touchpoints' => [
'<string>'
],
'customTags' => [
],
'outcomes' => [
],
'attemptNumbers' => [
]
],
'breakdowns' => [
[
'omitEmpty' => false,
'minWeeklyObservations' => 1,
'values' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries"
payload := strings.NewReader("{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cloud.corbado.io/v1/observe/funnel/metricSeries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloud.corbado.io/v1/observe/funnel/metricSeries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"schemaVersion": "<string>",
"projectID": "<string>",
"name": "<string>",
"timeZone": "<string>",
"timeBasis": "flow-start",
"selection": {
"kind": "node",
"scope": "prefix",
"prefix": [
{
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
],
"destination": {
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
},
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"buckets": [
{
"time": "2023-11-07T05:31:56Z",
"counts": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"unparsedRows": 123,
"unparsedWeight": 123,
"values": {}
}
],
"coverage": {
"firstBucket": "2023-11-07T05:31:56Z",
"endExclusive": "2023-11-07T05:31:56Z",
"snapshotDate": "2023-12-25",
"completeWindow": true,
"notes": [
"<string>"
]
},
"nodes": "<array>",
"root": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"likeForLike": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"excludedFlows": {
"baseline": 123,
"current": 123
}
}
},
"positions": [
{
"selection": {
"kind": "node",
"scope": "prefix",
"prefix": [
{
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
],
"destination": {
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
},
"requested": true,
"trafficStatus": "comparable",
"coverage": {
"baseline": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
},
"current": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
}
},
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"unavailableMetrics": {},
"availableCounters": [
"<string>"
]
}
],
"extrasTruncated": 123,
"comparison": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {}
},
"breakdowns": [
{
"dimension": "<string>",
"groups": [
{
"value": "<string>",
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"buckets": [
{
"time": "2023-11-07T05:31:56Z",
"counts": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"unparsedRows": 123,
"unparsedWeight": 123,
"values": {}
}
],
"comparison": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {}
},
"trafficStatus": "comparable",
"coverage": {
"baseline": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
},
"current": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
}
}
}
]
}
],
"unavailableMetrics": {},
"diagnostics": {
"rowsScanned": 123,
"rowsMatched": 123,
"rowsUnparsed": 123,
"weightUnparsed": 123
}
}Calculate historical metrics for an exact journey position
Required API key permission: observe:timeSeries:read.
curl --request POST \
--url https://api.cloud.corbado.io/v1/observe/funnel/metricSeries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schemaVersion": "funnel-metric-v1",
"fromDate": "<string>",
"toDate": "<string>",
"metrics": [],
"output": "buckets",
"selections": [
{
"prefix": [
{
"decisionID": "<string>",
"flowType": "<string>",
"specType": "<string>"
}
]
}
],
"discovery": {
"maxExtra": 200,
"minFlows": 1000,
"maxDepth": 2
},
"filters": {
"applicationIDs": [
"app-12345678910"
],
"osNames": [
"<string>"
],
"browserNames": [
"<string>"
],
"osVersions": [
"<string>"
],
"touchpoints": [
"<string>"
],
"customTags": {},
"outcomes": [],
"attemptNumbers": []
},
"breakdowns": [
{
"omitEmpty": false,
"minWeeklyObservations": 1,
"values": [
"<string>"
]
}
]
}
'import requests
url = "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries"
payload = {
"schemaVersion": "funnel-metric-v1",
"fromDate": "<string>",
"toDate": "<string>",
"metrics": [],
"output": "buckets",
"selections": [{ "prefix": [
{
"decisionID": "<string>",
"flowType": "<string>",
"specType": "<string>"
}
] }],
"discovery": {
"maxExtra": 200,
"minFlows": 1000,
"maxDepth": 2
},
"filters": {
"applicationIDs": ["app-12345678910"],
"osNames": ["<string>"],
"browserNames": ["<string>"],
"osVersions": ["<string>"],
"touchpoints": ["<string>"],
"customTags": {},
"outcomes": [],
"attemptNumbers": []
},
"breakdowns": [
{
"omitEmpty": False,
"minWeeklyObservations": 1,
"values": ["<string>"]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schemaVersion: 'funnel-metric-v1',
fromDate: '<string>',
toDate: '<string>',
metrics: [],
output: 'buckets',
selections: [
{prefix: [{decisionID: '<string>', flowType: '<string>', specType: '<string>'}]}
],
discovery: {maxExtra: 200, minFlows: 1000, maxDepth: 2},
filters: {
applicationIDs: ['app-12345678910'],
osNames: ['<string>'],
browserNames: ['<string>'],
osVersions: ['<string>'],
touchpoints: ['<string>'],
customTags: {},
outcomes: [],
attemptNumbers: []
},
breakdowns: [{omitEmpty: false, minWeeklyObservations: 1, values: ['<string>']}]
})
};
fetch('https://api.cloud.corbado.io/v1/observe/funnel/metricSeries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'schemaVersion' => 'funnel-metric-v1',
'fromDate' => '<string>',
'toDate' => '<string>',
'metrics' => [
],
'output' => 'buckets',
'selections' => [
[
'prefix' => [
[
'decisionID' => '<string>',
'flowType' => '<string>',
'specType' => '<string>'
]
]
]
],
'discovery' => [
'maxExtra' => 200,
'minFlows' => 1000,
'maxDepth' => 2
],
'filters' => [
'applicationIDs' => [
'app-12345678910'
],
'osNames' => [
'<string>'
],
'browserNames' => [
'<string>'
],
'osVersions' => [
'<string>'
],
'touchpoints' => [
'<string>'
],
'customTags' => [
],
'outcomes' => [
],
'attemptNumbers' => [
]
],
'breakdowns' => [
[
'omitEmpty' => false,
'minWeeklyObservations' => 1,
'values' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloud.corbado.io/v1/observe/funnel/metricSeries"
payload := strings.NewReader("{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cloud.corbado.io/v1/observe/funnel/metricSeries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloud.corbado.io/v1/observe/funnel/metricSeries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schemaVersion\": \"funnel-metric-v1\",\n \"fromDate\": \"<string>\",\n \"toDate\": \"<string>\",\n \"metrics\": [],\n \"output\": \"buckets\",\n \"selections\": [\n {\n \"prefix\": [\n {\n \"decisionID\": \"<string>\",\n \"flowType\": \"<string>\",\n \"specType\": \"<string>\"\n }\n ]\n }\n ],\n \"discovery\": {\n \"maxExtra\": 200,\n \"minFlows\": 1000,\n \"maxDepth\": 2\n },\n \"filters\": {\n \"applicationIDs\": [\n \"app-12345678910\"\n ],\n \"osNames\": [\n \"<string>\"\n ],\n \"browserNames\": [\n \"<string>\"\n ],\n \"osVersions\": [\n \"<string>\"\n ],\n \"touchpoints\": [\n \"<string>\"\n ],\n \"customTags\": {},\n \"outcomes\": [],\n \"attemptNumbers\": []\n },\n \"breakdowns\": [\n {\n \"omitEmpty\": false,\n \"minWeeklyObservations\": 1,\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"schemaVersion": "<string>",
"projectID": "<string>",
"name": "<string>",
"timeZone": "<string>",
"timeBasis": "flow-start",
"selection": {
"kind": "node",
"scope": "prefix",
"prefix": [
{
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
],
"destination": {
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
},
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"buckets": [
{
"time": "2023-11-07T05:31:56Z",
"counts": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"unparsedRows": 123,
"unparsedWeight": 123,
"values": {}
}
],
"coverage": {
"firstBucket": "2023-11-07T05:31:56Z",
"endExclusive": "2023-11-07T05:31:56Z",
"snapshotDate": "2023-12-25",
"completeWindow": true,
"notes": [
"<string>"
]
},
"nodes": "<array>",
"root": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"likeForLike": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"excludedFlows": {
"baseline": 123,
"current": 123
}
}
},
"positions": [
{
"selection": {
"kind": "node",
"scope": "prefix",
"prefix": [
{
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
],
"destination": {
"kind": "decision",
"decisionID": "<string>",
"subflowType": "provideIdentifier",
"flowType": "<string>",
"specType": "<string>",
"terminalType": "decision-unresolved"
}
},
"requested": true,
"trafficStatus": "comparable",
"coverage": {
"baseline": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
},
"current": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
}
},
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {},
"unavailableMetrics": {},
"availableCounters": [
"<string>"
]
}
],
"extrasTruncated": 123,
"comparison": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {}
},
"breakdowns": [
{
"dimension": "<string>",
"groups": [
{
"value": "<string>",
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"buckets": [
{
"time": "2023-11-07T05:31:56Z",
"counts": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"unparsedRows": 123,
"unparsedWeight": 123,
"values": {}
}
],
"comparison": {
"baseline": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"current": {
"fromDate": "<string>",
"toDate": "<string>",
"completeToDate": "<string>",
"provisional": true,
"totals": {
"flowsReached": 123,
"attemptsReached": 123,
"completedFlows": 123,
"flowsWithErrors": 123,
"sourceAttempts": 123,
"skippedFlows": 123,
"droppedFlows": 123,
"completedAttempts": 123,
"occurrences": 123,
"subflowOccurrences": 123,
"completedSubflowOccurrences": 123,
"completedHere": 123,
"droppedHere": 123,
"retriedHere": 123,
"continued": 123,
"otherEndings": 123,
"flowsWithRetries": 123,
"repeatedFlows": 123,
"embeddedErrorOccurrences": 123,
"completionDurationBuckets": [
123
],
"completedHereDurationBuckets": [
123
]
},
"summary": {},
"unparsedRows": 123
},
"differences": {}
},
"trafficStatus": "comparable",
"coverage": {
"baseline": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
},
"current": {
"days": 123,
"activeDays": 123,
"materialDays": 123,
"volume": 123,
"firstDay": "2023-12-25",
"lastDay": "2023-12-25"
}
}
}
]
}
],
"unavailableMetrics": {},
"diagnostics": {
"rowsScanned": 123,
"rowsMatched": 123,
"rowsUnparsed": 123,
"weightUnparsed": 123
}
}Authorizations
Use an Observe API key from the management console. The key selects the project and must grant the permission listed on the operation. Keep this key on your server.
Body
funnel-metric-v1 login-flow-v1, signup-flow-v1, recovery-flow-v1, security-enrollment-flow-v1 Inclusive UTC-naive datetime, YYYY-MM-DDTHH:mm:ss; aligned to project bucket boundaries
Exclusive end of the requested range, in UTC without a timezone suffix. Must be later than fromDate. History without a comparison can cover at most 180 project-local calendar days. With a comparison, each period can cover at most 90 calendar days and the full range can cover at most 181 days, including any gap. The extra day allows two 90-day periods to keep matching weekdays when the baseline starts 91 days earlier.
daily, hourly 1 - 19 elementsflowsReached, attemptsReached, occurrences, eventualCompletionRate, attemptCompletionRate, flowErrorRate, retriedFlowRate, eventualCompletionTime, subflowCompletionRate, completedHereRate, dropoffRate, retryHereRate, continueRate, completedHereTime, stepErrorRate, edgeShare, eventualSkipRate, eventualDropoffRate, skippedHereRate Required for single-position bucket history. Mutually exclusive with selections. Omission requires selections with output totals, or output positions (selections optional there).
Show child attributes
Show child attributes
Use buckets to follow one selected position over time, with optional cohort breakdowns and period comparison. Use totals to get counts and rates for several selected positions without time buckets, comparisons or breakdowns. Use positions to compare two periods across selected positions and find additional routes whose traffic increased, decreased or began or ended partway through a period. Positions requires daily intervals and two comparison periods, accepts no breakdowns and returns the overall funnel comparison in root and individual results in positions.
buckets, totals, positions Positions to compare or total together. Use with totals or positions output, without selection. With totals, non-root results appear in nodes and the root remains the top-level result. With positions, requested results appear in positions alongside any additional discovered routes. Requested positions are included even when they have no traffic.
1 - 1000 elementsShow child attributes
Show child attributes
Optional daily comparison. Both periods must be nonempty, contained within the request range, and baseline must end no later than current starts. Unequal lengths are supported. Periods do not change the daily chart or full-range totals.
Show child attributes
Show child attributes
With positions output, include additional routes whose traffic changed, even when they are absent from the current funnel view.
Show child attributes
Show child attributes
Values within a dimension are ORed; dimensions are ANDed. Omitted filters mean all. Null includes rows where a supported dimension is absent or empty.
Show child attributes
Show child attributes
Compare cohorts at the selected position, such as browsers or applications. Each dimension is a separate breakdown of the same filtered traffic and may appear only once. Omit values to include the groups observed in the requested range. Results from different dimensions can overlap and should not be added together. The total number of group values across dimensions, multiplied by the number of time buckets, must not exceed 100000.
1 - 30 elementsShow child attributes
Show child attributes
Response
Daily or hourly metrics, including empty buckets
flow-start Show child attributes
Show child attributes
Show child attributes
Show child attributes
Full-period metrics calculated from merged counts/histograms. All values are null when candidate paths could not be interpreted. Counts and totals then cover decoded records only.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Present only for batched totals. Explicitly requested non-root node/edge positions in deterministic semantic-prefix order, each with empty buckets and no nested nodes. The top-level result is the root. Unparseable source rows conservatively invalidate all position metrics. No silent truncation.
Show child attributes
Show child attributes
Output positions only. Requested selections first (request order), then discovered non-stable positions by volume. Counts and summaries equal output totals for the same period and selection.
Show child attributes
Show child attributes
Output positions only. Discovered non-stable positions beyond discovery.maxExtra
Show child attributes
Show child attributes
Independent results for a breakdowns request, in request order. An empty groups array means no values passed the requested support screen. Omit breakdowns for baseline metrics only.
30Show child attributes
Show child attributes
Reasons for unavailable or inapplicable metrics; corresponding values are null
Show child attributes
Show child attributes
Calculation timings and processed-cell counts. Shard timings overlap and must not be added as end-to-end latency.
Show child attributes
Show child attributes
Was this page helpful?