Skip to content

Get Derived Metrics#

Returns derived analytics metrics used for click-through denominator and audience overlap analysis.

Endpoint#

GET /api/app/analytics/derivedMetrics

Query Parameters#

Parameter Type Required Description
startDate string (ISO 8601) Yes Range start timestamp
endDate string (ISO 8601) Yes Range end timestamp (exclusive)

Authentication#

This endpoint requires:

  • bearer authentication (Authorization: Bearer <token>)
  • an analytics-enabled CMS role (editor, admin, developer, superadmin, or systemadmin)
  • tenant context (for example x-storyteller-api-key: <tenant-guid>)

See Authentication for details.

Request#

Example Request#

GET /api/app/analytics/derivedMetrics?startDate=2026-01-01T00:00:00Z&endDate=2026-02-01T00:00:00Z
Host: cmsapi.localhost
Authorization: Bearer <jwt>
x-storyteller-api-key: 11111111-2222-3333-4444-555555555555

Response#

Success Response#

Status Code: 200 OK

{
  "kind": "analytics.derived-metrics",
  "version": "1",
  "env": "Production",
  "tenant": "11111111-2222-3333-4444-555555555555",
  "range": {
    "startUtc": "2026-01-01T00:00:00Z",
    "endUtcExclusive": "2026-02-01T00:00:00Z"
  },
  "definitions": {
    "definitionVersion": "1"
  },
  "metrics": {
    "storyViewsWithActionsPresent": 12345,
    "clipViewsWithActionsPresent": 6789,
    "bothViewers": 4321
  }
}

Error Responses#

Status Code: 400 Bad Request

Common cases:

  • missing tenant context
  • startDate is not earlier than endDate
  • range is larger than the maximum supported window (120 days)

Metric Definitions#

  • storyViewsWithActionsPresent: story view events where actions are present.
  • clipViewsWithActionsPresent: clip view/loop events where clip actions are present.
  • bothViewers: unique viewers (ExternalId) who viewed both stories and clips in the requested range.

All metrics exclude events marked with ExcludeFromAnalytics.