---
title: "POST /api/admin/reading-metrics"
method: POST
path: "/api/admin/reading-metrics"
tags: ["Admin"]
---

# POST /api/admin/reading-metrics

`POST /api/admin/reading-metrics`

## Request body

- object
  - `days` union
    - unknown
    - unknown
    - unknown

## Response `200`

OK

- object
  - `runtimeEnvironment` 'dev' | 'prod', required
  - `generatedAt` string, required
  - `windowDays` integer, required
  - `totals` object, required
    - `sessionsStarted` integer, required
    - `sessionsWithProgress` integer, required
    - `sessionsCompleted` integer, required
    - `completionRate` number, required
    - `medianSessionDurationMs` number, nullable, required
    - `p75SessionDurationMs` number, nullable, required
    - `medianCompletedDurationMs` number, nullable, required
    - `medianPageDwellMs` number, nullable, required
    - `skimmedPageRate` number, required
    - `lingeredPageRate` number, required
    - `reachedFollowUpsRate` number, required
    - `medianPctReadAtCompletion` number, nullable, required
    - `medianPctReadAtCompletionByPages` number, nullable, required
    - `medianPctReadAtExit` number, nullable, required
    - `medianPctReadAtExitByPages` number, nullable, required
    - `avgPageSwipesPerSession` number, required
    - `turnsPickedRate` number, required
    - `linesSavedRate` number, required
  - `readSurvival` object[], required
    - `pctRead` integer, required
    - `survivalRate` number, required
    - `sessions` integer, required
  - `readSurvivalByPages` object[], required
    - `pctRead` integer, required
    - `survivalRate` number, required
    - `sessions` integer, required
  - `conditionalCompletion` object[], required
    - `pctRead` integer, required
    - `reached` integer, required
    - `completed` integer, required
    - `conditionalCompletionRate` number, required
  - `conditionalCompletionByPages` object[], required
    - `pctRead` integer, required
    - `reached` integer, required
    - `completed` integer, required
    - `conditionalCompletionRate` number, required
  - `exitDepth` object[], required
    - `label` string, required
    - `count` integer, required
    - `share` number, required
  - `exitDepthByPages` object[], required
    - `label` string, required
    - `count` integer, required
    - `share` number, required
  - `completionDepth` object[], required
    - `label` string, required
    - `count` integer, required
    - `share` number, required
  - `completionDepthByPages` object[], required
    - `label` string, required
    - `count` integer, required
    - `share` number, required
  - `dailySessions` object[], required
    - `date` string, required
    - `value` number, required
  - `dailyCompletions` object[], required
    - `date` string, required
    - `value` number, required
  - `topStoryDropoff` object[], required
    - `unitId` string, required
    - `title` string, nullable, required
    - `totalSegments` integer, required
    - `sessions` integer, required
    - `completedSessions` integer, required
    - `completionRate` number, required
    - `points` object[], required
      - `segmentIndex` integer, required
      - `reached` integer, required
      - `exited` integer, required
      - `survivalRate` number, required

---

[API](https://skmtc.dev/fromolive/apis/olive-api.md) · [All operations](https://skmtc.dev/fromolive/apis/olive-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fromolive/olive-api/revisions/01f6261481a3/schema)
