Skip to main content
POST
Calculate historical metrics for an exact journey position

Authorizations

Authorization
string
header
required

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

application/json
schemaVersion
enum<string>
required
Available options:
funnel-metric-v1
name
enum<string>
required
Available options:
login-flow-v1,
signup-flow-v1,
recovery-flow-v1,
security-enrollment-flow-v1
fromDate
string
required

Inclusive UTC-naive datetime, YYYY-MM-DDTHH:mm:ss; aligned to project bucket boundaries

toDate
string
required

Exclusive UTC-naive datetime; later than fromDate; maximum 366 days

interval
enum<string>
required
Available options:
daily,
hourly
metrics
enum<string>[]
required
Required array length: 1 - 19 elements
Available options:
flowsReached,
attemptsReached,
occurrences,
eventualCompletionRate,
attemptCompletionRate,
flowErrorRate,
retriedFlowRate,
eventualCompletionTime,
subflowCompletionRate,
completedHereRate,
dropoffRate,
retryHereRate,
continueRate,
completedHereTime,
stepErrorRate,
edgeShare,
eventualSkipRate,
eventualDropoffRate,
skippedHereRate
selection
object

Required for single-position bucket history. Mutually exclusive with selections. Omission requires selections with output totals; no position discovery is supported.

output
enum<string>
default:buckets

Single selection supports buckets only (the default). Plural selections requires totals, returning no buckets and accepting no comparison or breakdowns. Interval still selects the existing daily/hourly source data.

Available options:
buckets,
totals
selections
object[]

Explicit node/edge prefixes to calculate together with output totals. Mutually exclusive with selection. Non-root positions are returned in nodes, including zero-volume positions. Root remains the top-level result.

Required array length: 1 - 1000 elements
comparison
object

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.

filters
object

Values within a dimension are ORed; dimensions are ANDed. Omitted filters mean all. Null includes rows where a supported dimension is absent or empty.

breakdowns
object[]

Independent first-order groupings calculated together in one pass over stored aggregates. Each dimension occurs once. Omit a dimension's values to discover its observed groups in that same pass. The sum of explicit and discovered values across all dimensions multiplied by the number of buckets must not exceed 100000. The baseline is returned once at the top level.

Required array length: 1 - 16 elements

Response

Daily or hourly metrics, including empty buckets

schemaVersion
string
required
projectID
string
required
name
string
required
timeZone
string
required
timeBasis
enum<string>
required
Available options:
flow-start
selection
object
required
totals
object
required
summary
object
required

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.

buckets
object[]
required
coverage
object
required
nodes
array

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.

comparison
object
breakdowns
object[]

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.

Maximum array length: 16
unavailableMetrics
object

Reasons for unavailable or inapplicable metrics; corresponding values are null

diagnostics
object

Calculation timings and processed-cell counts. Shard timings overlap and must not be added as end-to-end latency.