> ## Documentation Index
> Fetch the complete documentation index at: https://developer.hooper.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# List a session's highlights

> Every clip the pipeline cut for the session. The first 100 are embedded on the session object; use this endpoint to page the rest.



## OpenAPI

````yaml /openapi.json get /v1/sessions/{id}/highlights
openapi: 3.1.0
info:
  title: Hooper API
  version: 1.0.0
  description: >-
    Submit basketball game video and receive highlights, shots and per-player
    box scores.


    All endpoints require `Authorization: Bearer hk_prod_…`. Money fields are
    integer **cents**. Timestamps are Unix seconds. Every list — top-level or
    embedded — is `{ object: "list", data, has_more, total_count }`.
servers:
  - url: https://api.hooper.gg
    description: Production (accepts hk_prod_ keys)
security:
  - apiKey: []
tags:
  - name: Uploads
    description: Resumable video uploads to Hooper storage.
  - name: Sessions
    description: >-
      A session is one submitted game and everything the pipeline produced for
      it.
  - name: Billing
    description: Prepaid credits, metered per second of video.
  - name: Webhooks
    description: Signed HTTP callbacks when a session finishes.
  - name: Events
    description: The log of every event Hooper has emitted for your organization.
paths:
  /v1/sessions/{id}/highlights:
    get:
      tags:
        - Sessions
      summary: List a session's highlights
      description: >-
        Every clip the pipeline cut for the session. The first 100 are embedded
        on the session object; use this endpoint to page the rest.
      operationId: listSessionHighlights
      parameters:
        - $ref: '#/components/parameters/SessionId'
        - $ref: '#/components/parameters/SubLimit'
        - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HighlightList'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    SessionId:
      name: id
      in: path
      required: true
      schema:
        type: string
        example: sess_18234
    SubLimit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 250
        default: 100
    Offset:
      name: offset
      in: query
      schema:
        type: integer
        minimum: 0
        default: 0
  schemas:
    HighlightList:
      allOf:
        - $ref: '#/components/schemas/ListEnvelope'
        - type: object
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/Highlight'
    ListEnvelope:
      type: object
      required:
        - object
        - data
        - has_more
        - total_count
      properties:
        object:
          type: string
          const: list
        has_more:
          type: boolean
        total_count:
          type: integer
        url:
          type: string
          description: 'Embedded lists only: the endpoint that pages the full set.'
          example: /v1/sessions/sess_18234/highlights
    Highlight:
      type: object
      description: A clip cut around one shot, in several renditions.
      properties:
        id:
          type: string
          example: hl_9f2c…
        object:
          type: string
          const: highlight
        shot:
          type: string
          description: The shot this clip is for.
          example: shot_a1b2…
        shot_index:
          type: integer
          nullable: true
        length_seconds:
          type: number
          example: 8.5
        is_lowlight:
          type: boolean
        is_manual:
          type: boolean
        player:
          type: string
          nullable: true
          description: The scorer, as a `plr_` id from the session's `players`.
          example: plr_5
        video:
          type: object
          properties:
            default:
              type: string
              nullable: true
            horizontal:
              type: string
              nullable: true
            1080p:
              type: string
              nullable: true
            720p:
              type: string
              nullable: true
            480p:
              type: string
              nullable: true
            360p:
              type: string
              nullable: true
            240p:
              type: string
              nullable: true
            144p:
              type: string
              nullable: true
        preview:
          type: object
          properties:
            default:
              type: string
              nullable: true
            horizontal:
              type: string
              nullable: true
        created:
          type: integer
          nullable: true
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - insufficient_credits
                - rate_limit_error
                - api_error
            code:
              type: string
              example: parameter_invalid
            message:
              type: string
            param:
              type: string
              description: The request field the error refers to, when there is one.
              example: source.url
  responses:
    NotFound:
      description: No such object for this organization
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: hk_prod_… / hk_stg_…
      description: >-
        API key issued by Hooper for your organization. Keys are
        environment-tagged: `hk_prod_` keys work against production, `hk_stg_`
        keys against staging.

````