---
title: "Read a complete organization analytics report"
method: GET
path: "/api/analytics/organizations/{ident}"
tags: ["Analytics"]
---

# Read a complete organization analytics report

`GET /api/analytics/organizations/{ident}`

## Request

- Base URL: `https://sbox.watch`
- URL: `https://sbox.watch/api/analytics/organizations/{ident}`
- Auth: none declared

Returns portfolio totals, bounded combined and per-game player histories, hourly activity, and available insight data.

## Path parameters

- `ident` string, required

## Response `200`

Complete organization analytics report.

- OrganizationAnalyticsReport
  - `generation` union, required
    - string
    - number
  - `generatedAt` string, date-time, required
  - `contentNotice` string, required
  - `canonicalUrl` string, uri, required
  - `markdownUrl` string, uri, required
  - `apiUrl` string, uri, required
  - `type` 'organization', required
  - `organization` OrganizationIdentity, required
    - `ident` string, required
    - `title` string, required
    - `thumb` string, nullable, required
  - `analytics` OrganizationAnalytics, required
    - `playerHistory` PlayerHistory, required
      - `activeRange` string, required
      - `metric` string
      - `ranges` object[], required
        - `id` string, required
        - `label` string, required
      - `series` object, required
    - `ranges` object, required
      - `all` RangeStats
        - `samples` integer, required
        - `activeSamples` integer
        - `activePercent` number
        - `trackedHours` number
        - `playerHours` number
        - `averagePlayers` number, required
        - `peak` number, required
        - `peakAt` string, date-time, nullable
        - `partialCoverage` boolean
      - `day` RangeStats
        - `samples` integer, required
        - `activeSamples` integer
        - `activePercent` number
        - `trackedHours` number
        - `playerHours` number
        - `averagePlayers` number, required
        - `peak` number, required
        - `peakAt` string, date-time, nullable
        - `partialCoverage` boolean
      - `week` RangeStats
        - `samples` integer, required
        - `activeSamples` integer
        - `activePercent` number
        - `trackedHours` number
        - `playerHours` number
        - `averagePlayers` number, required
        - `peak` number, required
        - `peakAt` string, date-time, nullable
        - `partialCoverage` boolean
      - `prevDay` RangeStats
        - `samples` integer, required
        - `activeSamples` integer
        - `activePercent` number
        - `trackedHours` number
        - `playerHours` number
        - `averagePlayers` number, required
        - `peak` number, required
        - `peakAt` string, date-time, nullable
        - `partialCoverage` boolean
      - `prevWeek` RangeStats
        - `samples` integer, required
        - `activeSamples` integer
        - `activePercent` number
        - `trackedHours` number
        - `playerHours` number
        - `averagePlayers` number, required
        - `peak` number, required
        - `peakAt` string, date-time, nullable
        - `partialCoverage` boolean
    - `hourly` HourlyActivity[], required
      - `hour` integer, required
      - `samples` number, required
      - `total` number, required
      - `average` number, required
      - `pct` number, required
    - `currentPlayers` number
    - `gameHistories` object[]
      - `ident` string
      - `title` string
      - `playersNow` number
      - `history` PlayerHistory
        - `activeRange` string, required
        - `metric` string
        - `ranges` object[], required
          - `id` string, required
          - `label` string, required
        - `series` object, required
    - `totals` object
      - `games` number, nullable
      - `activeGames` number, nullable
      - `users` number, nullable
      - `sessions` number, nullable
      - `seconds` number, nullable
      - `favorites` number, nullable
      - `upvotes` number, nullable
      - `downvotes` number, nullable
      - `approval` number, nullable
      - `averageSessionSeconds` number, nullable
      - `momentum` number, nullable
      - `firstRelease` string, date-time, nullable
      - `lastUpdated` string, date-time, nullable
    - `games` DirectoryPackage[]
      - `ident` string, required
      - `title` string, required
      - `org` string
      - `orgIdent` string
      - `packageIdent` string
      - `sboxIdent` string
      - `url` string
      - `thumb` string
      - `orgThumb` string
      - `summary` string
      - `versionChanges` string
      - `kind` 'game' | 'library' | 'map', required
      - `weeklyPlaytimeBaselineAt` string, date-time, nullable
      - `score` number, nullable
      - `playersNow` number, nullable
      - `playersPeak24h` number, nullable
      - `favorites` number, nullable
      - `upvotes` number, nullable
      - `downvotes` number, nullable
      - `fileSize` number, nullable
      - `totalUsers` number, nullable
      - `totalSessions` number, nullable
      - `totalSeconds` number, nullable
      - `weeklyPlaytimeSeconds` number, nullable
      - `versionFileCount` number, nullable
      - `rank` number, nullable
      - `created` string, date-time, nullable
      - `updated` string, date-time, nullable
      - `supportsVr` boolean
      - `supportsController` boolean
      - `serverStats` object, nullable
        - `available` boolean
        - `serversRunning` number
        - `playersOnline` number
      - `tags` string[]
      - `jams` GameJam[]
        - `ident` string, required
        - `title` string, required
        - `url` string, uri, required
        - `deadline` string, date-time, nullable
      - `change24h` Momentum
        - `favorites` number
        - `upvotes` number
        - `total` number
      - `usage24h` object
        - `users` number, nullable
        - `previousUsers` number, nullable
      - `updateMarkers` PackageUpdate[]
        - `createdAt` string, date-time, nullable
        - `title` string
        - `version` string, nullable
        - `summary` string
        - `changeCount` integer
      - `trophies` object[]
        - `ident` string
        - `title` string
        - `label` string
        - `url` string
  - `insights` OrganizationInsights
    - `days` InsightDay[]
      - `date` string, date, required
      - `time` integer, required
      - `players` number, nullable, required
      - `averageSessionMinutes` number, nullable
      - `newPlayers` number, nullable
      - `returningPlayers` number, nullable
      - `sessionStatistic` 'average' | 'median' | 'mixed': Statistic supplied by sbox.game for averageSessionMinutes. Median values use the existing field for compatibility.
      - `complete` boolean, required
    - `sessionStatistic` 'average' | 'median' | 'mixed'
    - `hasPlayerSplit` boolean
    - `hasSessionLength` boolean
    - `latestPartial` boolean
    - `gamesIncluded` integer
    - `gamesTotal` integer

## Other responses

- `400`: The path or query parameters are invalid.
- `404`: The requested entity was not found in the current public data.

---

[API](https://skmtc.dev/sbox/apis/s-box-watch-public-data-api.md) · [All operations](https://skmtc.dev/sbox/apis/s-box-watch-public-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sbox/apis/s-box-watch-public-data-api/revisions/18f0b935bb5f?raw)
