---
title: "POST /api/analytics/reading-session"
method: POST
path: "/api/analytics/reading-session"
tags: ["Analytics"]
---

# POST /api/analytics/reading-session

`POST /api/analytics/reading-session`

## Request body

- object
  - `sessionId` string, required
  - `unitKind` 'story' | 'card_detail'
  - `storyId` string
  - `cardId` string
  - `cardHeadline` string
  - `startedAt` string, required
  - `endedAt` string, required
  - `durationMs` integer, required
  - `activeMs` integer, required
  - `maxScrollFraction` number, required
  - `endReason` string, required
  - `segmentCount` integer, required
  - `contentHeightPx` number, required
  - `viewportHeightPx` number, required
  - `samples` object[]
    - `t` integer, required
    - `frac` number, required
  - `interactions` object[]
    - `t` integer, required
    - `type` string, required
  - `geometry` object
    - `scrollableDistancePx` number
    - `screenWidthPt` number
    - `contentWidthPt` number
    - `topInsetPt` number
    - `bottomInsetPt` number
    - `dynamicTypeScale` number
    - `segmentLayout` object[]
      - `index` integer, required
      - `topPx` number, required
      - `heightPx` number, required

## Response `200`

OK

- object
  - `ok` unknown, required
  - `dropped` boolean

---

[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)
