---
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}`

## Request

- Base URL: `https://three.arcprize.org`
- URL: `https://three.arcprize.org/api/scorecard/{card_id}/{game_id}`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/arcprize/apis/arc-agi-3-rest-api/docs/api/scorecard/:card_id/:game_id/get.ts> (a function with typed inputs; its response is checked against the schema)

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` number, float, required: Average of the best per-environment scores in this scorecard.
  - `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` number, float, required: Score achieved in this run.
      - `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_PLAYED' | 'NOT_FINISHED' | 'WIN' | 'GAME_OVER', required: Final state of the run: • **NOT_FINISHED** - run is active. • **NOT_PLAYED** - no game has been started. • **WIN** - run ended in victory. • **GAME_OVER** - run ended in defeat.
      - `completed` boolean, required: Whether the run reached the WIN state.
      - `level_scores` number[]: 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` number, float, required: Best run score for this environment.
    - `actions` integer, required: Total actions taken in this environment across all runs.
    - `levels_completed` integer, required: Highest completed-level count among this environment's runs.
    - `completed` boolean, required: Whether at least one run in this environment reached WIN.
    - `level_count` integer, required: Number of levels in this environment.
    - `resets` integer, required: Number of RESETs (level or full) in this environment.
  - `opaque` unknown
  - `tags_scores` TagScore[]: Per-tag aggregate statistics for runs that were tagged.
    - `id` string, required: Tag or run identifier.
    - `guid` string: Session id associated with this tag entry.
    - `score` number, float, 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: Resets for this tag.
    - `state` 'NOT_PLAYED' | 'NOT_FINISHED' | 'WIN' | 'GAME_OVER': Terminal state for this tag run, if applicable.
    - `completed` boolean: Whether this tag aggregate reached the WIN state.
    - `number_of_levels` integer, required: Number of levels.
    - `number_of_environments` integer, required: Number of environments.
  - `competition_mode` boolean, nullable: Whether competition restrictions apply to this scorecard.
  - `open_at` string, date-time: When the scorecard was opened.
  - `last_update` string, date-time: When the scorecard was last updated (e.g. last action or close).
  - `total_environments_completed` integer, required: Number of environments with at least one run that reached WIN.
  - `total_environments` integer, required: Total number of environments in this scorecard.
  - `total_levels_completed` integer, required: Sum of the highest completed-level count for each environment.
  - `total_levels` integer, required: Total number of levels across all environments.
  - `total_actions` integer, required: Number of actions taken across all recorded runs.

## 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`.

## Changes

- **2026-11-03** `25b583984ff7`: 12 breaking, 2 warning, 3 info
  - the response property `last_update` became optional for the status `200`
  - the response property `open_at` became optional for the status `200`
  - the response property `tags_scores/items/completed` became optional for the status `200`
  - the response property `tags_scores/items/guid` became optional for the status `200`
  - …13 more

[Operation history](https://skmtc.dev/arcprize/apis/arc-agi-3-rest-api/changes/api/scorecard/:card_id/:game_id/get.md)

---

[API](https://skmtc.dev/arcprize/apis/arc-agi-3-rest-api.md) - [All operations](https://skmtc.dev/arcprize/apis/arc-agi-3-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arcprize/apis/arc-agi-3-rest-api/revisions/25b583984ff7?raw)
