---
title: "Get game details page"
method: GET
path: "/v1/games/{game_id}/details"
tags: ["Games"]
---

# Get game details page

`GET /v1/games/{game_id}/details`

## Request

- Base URL: `https://api.hify.club`
- URL: `https://api.hify.club/v1/games/{game_id}/details`
- Auth: API key in header `X-User-Token`

Returns everything the game details page renders: the game card, the current user's participation standing (selfie owed, whether they may leave), the content_state of the recording and, when content is available, the clips / photos / highlights / replays sections. When content is not yet available, sections is empty and empty_state carries the copy to show.
content_delayed is only returned to clients whose X-App-Version / X-OTA-Datetime headers mark them as able to render it; older clients receive no_recording instead.
A game still backing up from an on-demand arena is reported as content_available with partial true.
The response is cached per game and user.

## Response `200`

Game details page

- GameDetails
  - `game_card` GameDetailsCard, required: The game as shown on timeline cards, with per-content-type counts.
    - `id` integer
    - `start_time` string, date-time
    - `end_time` string, date-time
    - `code` string
    - `tournament_id` string, nullable
    - `sport` Sport
      - `id` string
      - `name` string
    - `arena` Arena
      - `id` integer
      - `name` string
      - `game_creation_window_hours` integer: How far back, in hours, a game on this arena may start: 72 when any device on the arena is on-demand, else 336 (14 days).
    - `game_participants` GameParticipant[]: Current user first, then players before viewers, newest first.
      - `id` integer
      - `user` User
        - `id` integer
      - `verification` string
    - `duration` number: Seconds between start_time and end_time.
    - `players_count` integer
    - `preview` GamePreview, nullable: Best arena preview for the game. Null when the game has no preview or the previews CDN is not configured.
      - `playlist_url` string: HLS playlist URL.
      - `thumbnail_url` string
      - `duration_seconds` integer, nullable
    - `thumbnail_url` string, nullable
    - `arena_video_available` boolean
    - `verification_status` string, nullable: The current user's participant verification, or null when they are not a participant.
    - `shorts` GameContentStats
      - `total` string: Zero-padded count, e.g. "03".
      - `status` 'processing' | 'locked' | 'unlocked'
    - `highlights` GameContentStats
      - `total` string: Zero-padded count, e.g. "03".
      - `status` 'processing' | 'locked' | 'unlocked'
    - `replays` GameContentStats
      - `total` string: Zero-padded count, e.g. "03".
      - `status` 'processing' | 'locked' | 'unlocked'
    - `photos` GameContentStats
      - `total` string: Zero-padded count, e.g. "03".
      - `status` 'processing' | 'locked' | 'unlocked'
  - `needs_selfie` boolean, required: True when the current user still owes a selfie for this game.
  - `can_exit` boolean, required: True when the current user may leave the game.
  - `exit` GameParticipantDecision, required
    - `allowed` boolean
    - `reason` 'purchased' | 'not_participating' | 'null', nullable: Why the action is blocked; null when allowed.
  - `content_state` 'scheduled' | 'recording' | 'content_available' | 'content_delayed' | 'no_recording', required
  - `partial` boolean, required: True while an on-demand arena is still backing up this game's footage. content_state is then content_available, and sections fill in as segments land.
  - `empty_state` GameDetailsEmptyState, required
    - `title` string
    - `message` string
    - `icon_url` string
    - `eta` object: Only present for content_delayed, and only when an estimate is available.
      - `display_value` string
      - `eta_seconds` integer
  - `sections` GameDetailsSection[], required: Empty unless content_state is content_available. Ordered clips, photos, highlights, replays.
    - `key` 'clips' | 'photos' | 'highlights' | 'replays', required
    - `clips` GameDetailsTimeline
      - `data` object[]: Carousel items for the section. Item shape depends on the section and its state (content, sample, sell CTA, view-all cards).
      - `pagination` object
        - `current_page` integer
        - `per_page` integer
        - `total_pages` integer
        - `total_count` integer
      - `title` string, nullable
      - `order_status` 'locked' | 'processing' | 'complete' | 'free' | 'expired': Only on the clips section.
    - `photos` GameDetailsTimeline
      - `data` object[]: Carousel items for the section. Item shape depends on the section and its state (content, sample, sell CTA, view-all cards).
      - `pagination` object
        - `current_page` integer
        - `per_page` integer
        - `total_pages` integer
        - `total_count` integer
      - `title` string, nullable
      - `order_status` 'locked' | 'processing' | 'complete' | 'free' | 'expired': Only on the clips section.
    - `highlights` GameDetailsTimeline
      - `data` object[]: Carousel items for the section. Item shape depends on the section and its state (content, sample, sell CTA, view-all cards).
      - `pagination` object
        - `current_page` integer
        - `per_page` integer
        - `total_pages` integer
        - `total_count` integer
      - `title` string, nullable
      - `order_status` 'locked' | 'processing' | 'complete' | 'free' | 'expired': Only on the clips section.
    - `replays` GameDetailsTimeline
      - `data` object[]: Carousel items for the section. Item shape depends on the section and its state (content, sample, sell CTA, view-all cards).
      - `pagination` object
        - `current_page` integer
        - `per_page` integer
        - `total_pages` integer
        - `total_count` integer
      - `title` string, nullable
      - `order_status` 'locked' | 'processing' | 'complete' | 'free' | 'expired': Only on the clips section.

## Other responses

- `401`: Unauthorized
- `404`: Game not found

---

[API](https://skmtc.dev/hify/apis/hify-apis.md) - [All operations](https://skmtc.dev/hify/apis/hify-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/hify/apis/hify-apis/revisions/b5920403538d?raw)
