Skip to main content
GET
Get App Analytics

Authorizations

Authorization
string
header
required

A floo_ API key.

Headers

X-Floo-Org-Id
string<uuid>

Organization to act in; defaults to the one joined most recently.

Path Parameters

app_id
string<uuid>
required

Query Parameters

period
string
default:30d
Pattern: ^(7d|30d|90d)$

Response

Successful Response

Response for per-app analytics.

app_id
string<uuid>
required
period
string
required
summary
AppAnalyticsSummary · object
required

Summary statistics for a single app.

The auth-count fields are tier-gated (mirroring unique_users) and additionally tri-state by aggregator availability:

  • 0 — the aggregator measured zero authenticated requests for this period, OR the period contains no summary data at all (no traffic). Use total_requests == 0 as the secondary signal to disambiguate "no data" from "measured zero" if the distinction matters.
  • positive int — the aggregator measured it for this period.
  • None — either the org's plan does not surface this field (restricted analytics tier), or the period contains at least one summary row that predates the field's introduction. Raw logs are gone for those rows, so the aggregator cannot retroactively populate them; NULL is contagious in the rollup to avoid emitting a falsely-confident integer.

Consumers MUST treat None as "unknown", not "zero". A 0 value with total_requests > 0 carries real signal — for accounts-mode apps it's the asymmetric pattern this field exists to disambiguate from "no auth flow completed".

time_series
TimeSeriesPoint · object[]
required
top_users
TopUser · object[] | null
required