---
title: "Retrieve scorecard (one game)"
method: GET
path: "/api/scorecard/{card_id}/{game_id}"
tags: ["Scorecards"]
---

# Retrieve scorecard (one game)

`GET /api/scorecard/{card_id}/{game_id}`

Returns the scorecard statistics **limited to a single environment**.
Only the entry matching `game_id` is present in `environments`; all
top-level counters are recomputed for that environment alone.

Useful for dashboards that present per-game progress without
fetching the full scorecard payload.

## Path parameters

- `card_id` string, required
- `game_id` string, required

## Response `200`

scorecard found; statistics for the requested game.

- ScorecardSummary — Aggregate results for an entire scorecard run. Returned when closing a scorecard or when retrieving a scorecard (open or closed). Includes cumulative totals, optional metadata echoed from the open request (e.g. `source_url`, `tags`, `opaque`), user identity (`user_name`, `user_id`), timestamps (`open_at`, `last_update`, `published_at`), and a per-environment breakdown in `environments`. The `tags_scores` array provides per-tag aggregates for runs that were tagged.
  - `card_id` string, required — The scorecard ID returned by **OpenScorecardResponse**.
  - `score` integer, required — Aggregate score for this scorecard (sum of per-level scores).
  - `source_url` string, uri — Link originally supplied in the **OpenScorecardRequest**.
  - `tags` string[] — Arbitrary labels echoed back from the open request.
  - `user_name` string — Display name of the user who opened/ran this scorecard.
  - `user_id` string — Stable identifier of the user (e.g. provider subject id).
  - `published_at` string, date-time — When the scorecard was closed/published (absent if still open).
  - `environments` EnvironmentSummary[], required — Per-environment breakdown; each entry is one game/environment with its runs.
    - `id` string, required — Environment/game identifier (e.g. `am92-80effacb`).
    - `runs` RunSummary[], required — One entry per run (RESET) in this environment.
      - `id` string, required — Environment id this run belongs to.
      - `guid` string, required — Server-generated session id for this run.
      - `score` integer, required — Score achieved in this run (0–254).
      - `levels_completed` integer, required — Number of levels completed in this run.
      - `actions` integer, required — Number of actions taken in this run.
      - `resets` integer, required — Number of resets (level or full) in this run.
      - `state` 'NOT_FINISHED' | 'NOT_STARTED' | 'WIN' | 'GAME_OVER', required — Final state of the run: • **NOT_FINISHED** - run is active. • **NOT_STARTED** - run has ended and would need RESET to continue. • **WIN** - run ended in victory. • **GAME_OVER** - run ended in defeat.
      - `completed` boolean, required — Whether the run reached a terminal state (WIN or GAME_OVER).
      - `level_scores` integer[] — Score achieved at each level (positional).
      - `level_actions` integer[] — Actions taken at each level (positional).
      - `level_baseline_actions` integer[] — Baseline (e.g. par) actions per level, when defined (positional).
      - `number_of_levels` integer — Number of levels in this environment (may be 0 if not applicable).
      - `number_of_environments` integer — Number of environments (may be 0 if not applicable).
    - `score` integer, required — Aggregate score for this environment.
    - `actions` integer, required — Total actions taken in this environment across all runs.
    - `levels_completed` integer, required — Levels completed in this environment.
    - `completed` boolean, required — Whether this environment reached a terminal state (WIN or GAME_OVER).
    - `level_count` integer, required — Number of levels in this environment.
    - `resets` integer, required — Number of RESETs (level or full) in this environment.
  - `opaque` object — Free-form JSON blob (≤ 16 KB) exactly as provided when the scorecard was opened. Absent if none was supplied.
  - `tags_scores` TagScore[] — Per-tag aggregate statistics for runs that were tagged.
    - `id` string, required — Tag or run identifier.
    - `guid` string, required — Session id associated with this tag entry.
    - `score` integer, required — Aggregate score for this tag.
    - `levels_completed` integer, required — Levels completed for this tag.
    - `actions` integer, required — Total actions for this tag.
    - `resets` integer, required — Resets for this tag.
    - `state` 'NOT_FINISHED' | 'NOT_STARTED' | 'WIN' | 'GAME_OVER', required — Terminal state for this tag run, if applicable.
    - `completed` boolean, required — Whether this tag run reached a terminal state.
    - `number_of_levels` integer, required — Number of levels.
    - `number_of_environments` integer, required — Number of environments.
  - `open_at` string, date-time, required — When the scorecard was opened.
  - `last_update` string, date-time, required — When the scorecard was last updated (e.g. last action or close).
  - `total_environments_completed` integer, required — Number of environments that reached a terminal state (WIN or GAME_OVER).
  - `total_environments` integer, required — Total number of environments in this scorecard.
  - `total_levels_completed` integer, required — Cumulative levels completed across all runs.
  - `total_levels` integer, required — Total number of levels across all environments.
  - `total_actions` integer, required — Cumulative number of actions taken across all plays.

## Other responses

- `401` — Missing or invalid **X-API-Key** header.
- `404` — Either the supplied `card_id` does not exist, or the scorecard contains no entry for the specified `game_id`.

---

[API](https://skmtc.net/arcprize/apis/arc-agi-3-rest-api.md) · [All operations](https://skmtc.net/arcprize/apis/arc-agi-3-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arcprize/arc-agi-3-rest-api/versions/195a67c94d38/schema)
