Content report
GET /v1/reports/content
summary supports 1–365 inclusive UTC days. full and its deprecated
details alias support 1–90 days. Comparison supports at most 30 days
in either mode. Responses are never truncated: if the serialized proxy
response would exceed 5 MiB, the request returns HTTP 422 with
REPORT_RESPONSE_TOO_LARGE and consumes zero metered units. Detailed
exports beyond 90 days are not provided synchronously by this endpoint.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Header Parameters
Section intitulée « Header Parameters »Optional idempotency/request correlation identifier.
Query Parameters
Section intitulée « Query Parameters »Stable tenant identifier. Use this for tenant-scoped analytics and
tenant-scoped access control. site_id identifies the shared product,
tenant_id identifies one tenant.
Inclusive UTC start date (YYYY-MM-DD). Defaults to last 7 days.
Inclusive UTC end date (YYYY-MM-DD). Defaults to today.
Compare current range against the previous equivalent period.
Traffic segment to include.
Content response depth. summary returns totals and one global UTC
pageview point per day; limit has no effect. full returns the
detailed Content report. details is a deprecated alias for full.
When omitted, ranges up to 90 days use full; ranges from 91 through
365 days use summary.
Number of rows returned by top lists for report endpoints.
Responses
Section intitulée « Responses »OK
Discriminated response union selected by current.include. Current and
compare always use the same Content mode.
object
object
object
Dense, strictly increasing UTC daily series. It contains exactly
one point per requested day, including zero-valued empty days, and
its pageview sum equals totals.pageviews.
object
object
object
Dense, strictly increasing UTC daily series. It contains exactly
one point per requested day, including zero-valued empty days, and
its pageview sum equals totals.pageviews.
object
object
Availability contract for profile-aware reads.
For mixed routes, HTTP 200 means the strict-safe base slice was
returned successfully. readModel tells you which slices belong to
the strict-safe baseline and which belong to Extended.
Section-level locks or partial compatibility for enriched sub-slices
are reported in sections.
object
Backend route-family identifier echoed in availability.route.
Public /v1/reports/* responses currently use overview, content,
acquisition, actions, and goals.
audience_* values are reserved for dashboard/internal query families
and do not imply standalone /v1/reports/audience* public endpoints.
Route-level availability for the current range. On mixed routes,
status=available means the strict-safe base slice is readable;
inspect sections for enriched sub-slices that remain locked or
partial.
object
object
Section-level availability for mixed routes. Each entry describes
an enriched sub-slice that may remain locked or partially
compatible while the enclosing route still returns HTTP 200.
Section-level availability for mixed routes. A mixed route can return
HTTP 200 while one or more enriched sections remain locked or only
partially compatible for the requested period.
object
Section identifier for mixed-route sub-slices.
Current meanings:
overview_regions: region list inside the overview audience sliceoverview_cities: city list inside the overview audience sliceacquisition_attribution: source/medium/campaign slices on acquisition routesactions_advanced: advanced action families outside bounded simple actionsaudience_top_campaigns: optionaltop_campaignslist on the internalaudience_summaryfamilytechnology_regions,technology_cities: geo detail slices on technology routes
overview_acquisition is kept as a legacy compatibility identifier but
is not emitted by the current lot2 overview contract because
acquisition-lite now lives in the route-level mixed envelope itself.
object
object
object
Example
{ "route": "acquisition", "classification": "mixed", "currentProfile": "strict", "collectionProfileEffectiveAt": null, "current": { "status": "available", "reason": null, "requestedStart": "2026-04-01T00:00:00.000Z", "requestedEnd": "2026-04-30T23:59:59.999Z", "compatibleStart": "2026-04-01T00:00:00.000Z", "compatibleEnd": "2026-04-30T23:59:59.999Z" }, "compare": null, "readModel": { "strictSafe": [ "acquisition_lite" ], "extended": [ "acquisition_attribution" ] }, "sections": [ { "id": "acquisition_attribution", "classification": "extended_only", "current": { "status": "locked_by_profile", "reason": "extended_data_required", "requestedStart": "2026-04-01T00:00:00.000Z", "requestedEnd": "2026-04-30T23:59:59.999Z", "compatibleStart": null, "compatibleEnd": null }, "compare": null } ]}object
object
Additive launch-readiness metadata for reports and metrics.
object
Freshness metadata for a report or metrics surface.
object
Compare window metadata for report and metrics surfaces.
object
Export availability for the returned surface and selected plan.
object
Discriminated response union selected by current.include. Current and
compare always use the same Content mode.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Availability contract for profile-aware reads.
For mixed routes, HTTP 200 means the strict-safe base slice was
returned successfully. readModel tells you which slices belong to
the strict-safe baseline and which belong to Extended.
Section-level locks or partial compatibility for enriched sub-slices
are reported in sections.
object
Backend route-family identifier echoed in availability.route.
Public /v1/reports/* responses currently use overview, content,
acquisition, actions, and goals.
audience_* values are reserved for dashboard/internal query families
and do not imply standalone /v1/reports/audience* public endpoints.
Route-level availability for the current range. On mixed routes,
status=available means the strict-safe base slice is readable;
inspect sections for enriched sub-slices that remain locked or
partial.
object
object
Section-level availability for mixed routes. Each entry describes
an enriched sub-slice that may remain locked or partially
compatible while the enclosing route still returns HTTP 200.
Section-level availability for mixed routes. A mixed route can return
HTTP 200 while one or more enriched sections remain locked or only
partially compatible for the requested period.
object
Section identifier for mixed-route sub-slices.
Current meanings:
overview_regions: region list inside the overview audience sliceoverview_cities: city list inside the overview audience sliceacquisition_attribution: source/medium/campaign slices on acquisition routesactions_advanced: advanced action families outside bounded simple actionsaudience_top_campaigns: optionaltop_campaignslist on the internalaudience_summaryfamilytechnology_regions,technology_cities: geo detail slices on technology routes
overview_acquisition is kept as a legacy compatibility identifier but
is not emitted by the current lot2 overview contract because
acquisition-lite now lives in the route-level mixed envelope itself.
object
object
object
Example
{ "route": "acquisition", "classification": "mixed", "currentProfile": "strict", "collectionProfileEffectiveAt": null, "current": { "status": "available", "reason": null, "requestedStart": "2026-04-01T00:00:00.000Z", "requestedEnd": "2026-04-30T23:59:59.999Z", "compatibleStart": "2026-04-01T00:00:00.000Z", "compatibleEnd": "2026-04-30T23:59:59.999Z" }, "compare": null, "readModel": { "strictSafe": [ "acquisition_lite" ], "extended": [ "acquisition_attribution" ] }, "sections": [ { "id": "acquisition_attribution", "classification": "extended_only", "current": { "status": "locked_by_profile", "reason": "extended_data_required", "requestedStart": "2026-04-01T00:00:00.000Z", "requestedEnd": "2026-04-30T23:59:59.999Z", "compatibleStart": null, "compatibleEnd": null }, "compare": null } ]}object
object
Additive launch-readiness metadata for reports and metrics.
object
Freshness metadata for a report or metrics surface.
object
Compare window metadata for report and metrics surfaces.
object
Export availability for the returned surface and selected plan.
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Maximum requests allowed during current short window.
Remaining requests in current short window.
Unix timestamp when short window resets.
Invalid or revoked API token.
object
object
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Billing hard cap reached for current month.
object
object
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Token scope/site/plan does not allow this request.
object
object
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Request parameters are invalid.
object
object
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Request was throttled.
object
object
object
Headers
Section intitulée « Headers »Request identifier for troubleshooting.
Maximum requests allowed during current short window.
Remaining requests in current short window.
Unix timestamp when short window resets.