PaginatedInsightsOutput

Unified paginated insights response with session summary

  • insights
    Type: array object[] · InsightOutput[]
    required

    Array of insight objects

    Unified insight information

    • durationInSeconds
      Type: integer
      required

      Duration of the insight in seconds

    • endedAtTime
      Type: string Format: date-time
      required

      Timestamp when the insight period ended

    • id
      Type: string Format: uuid
      required

      Unique identifier for the insight

    • insightGroup
      Type: string | null
      required

      Stable Insight Group slug for this insight's type; null when the type has no group (for example, Journal). The published set is served by GET /insights/1.0/insight-groups; it is not a fixed list.

    • insightType
      Type: string · InsightType
      required

      Insight type slug (data-driven, see GET /insights/1.0/types for available types)

    • reason
      Type: string
      required

      Detailed reason or description for the insight

    • startedAtTime
      Type: string Format: date-time
      required

      Timestamp when the insight period started

    • version
      Type: string · InsightVersion
      max length:  
      16
      required

      Version of the insight

    • messageVersion
      Type: integer | null

      Pinned catalog message bundle version; null for legacy insights

    • rolloutState
      Type: string | null enum

      Rollout stage recorded at detection for the student's school, not the school's current stage. Dashboard GETs (getUserInsights, getSessionInsights) omit SHADOW; getSessionNotifications may still return it. Null when no rollout policy governed the finding.

      values
      • SHADOW
      • NOTIFY
      • ENFORCE
  • limit
    Type: integer
    required

    Maximum number of items returned

  • offset
    Type: integer
    required

    Number of items skipped in the result set

  • session
    Type: object · SessionSummaryOutput
    required

    Session summary information

    • durationInSeconds
      Type: integer
      required

      Total duration of the session in seconds

    • endedAtTime
      Type: string Format: date-time
      required

      Timestamp when the session ended

    • isProctored
      Type: boolean | null
      required

      Whether the session was proctored. Populated only for a single owning session; null for aggregate summaries that span multiple sessions.

    • recordingS3Key
      Type: string | null
      required

      S3 key of the session recording, null if no recording exists

    • revokedAt
      Type: string | null Format: date-time
      required

      Timestamp when the session was quarantined (revoked), or null when it is not revoked. Downstream fail-closed consumers read this to distinguish a quarantined session from one that is not yet materialized.

    • startedAtTime
      Type: string Format: date-time
      required

      Timestamp when the session started

    • subject
      Type: string | null · SessionSubjectenum
      required

      Academic subject attributed to this learning session. Null means not yet decided (no vision-end upsert). Unknown is an explicit value meaning looked and could not say. Values: Reading, Language, Vocabulary, Social Studies, Writing, Science, FastMath, Math, Unknown.

      values
      • Reading
      • Language
      • Vocabulary
      • Social Studies
      • Writing
      • Science
      • FastMath
      • Math
      • Unknown
    • subjectSource
      Type: string | null · SessionSubjectSourceenum
      required

      How subject was decided: app (single-subject LTI application shortcut), journal (vision journal classification), or none (fallback Unknown). Null when subject is null.

      values
      • app
      • journal
      • none
    • wasteDurationInSeconds
      Type: integer
      required

      Total waste duration of the session in seconds

    • wastePercentage
      Type: integer
      required

      Percentage of session time that was waste (0-100)

    • metadata
      Type: object | null · InsightsSessionMetadata

      Opaque session metadata object

  • total
    Type: integer
    required

    Total number of items available