# Get a leaderboard entry

```http
GET /api/public/v1/competitions/modular-arithmetic-challenge/leaderboard/entries/{entryId}
```

**Scope**: `competition.read`.

Returns the full public evaluation detail for one completed, ranking-eligible entry from a published Modular Arithmetic official evaluation batch. The response includes all eleven T0–T10 tier results, the immutable evaluated model revision, runtime evidence, and batch proof.

An entry remains addressable after a newer batch is published. The competition and leaderboard must still be publicly visible; an unknown, ineligible, incomplete, or non-public entry returns the same `404 NOT_FOUND` response.

## Path parameters

| Parameter | Type | Required | Description |
| :--- | :--- | :---: | :--- |
| `entryId` | string | Yes | Opaque, immutable ID returned in `bestEntries[]` by [Get leaderboard](./get-leaderboard.md) or [Get my standing](./get-my-standing.md). |

## Resource behavior

This resource is an immutable official evaluation record, not the team's current formal-submission slot. Replacing or deleting that slot does not change the entry, and the recorded `repository` and `commitSha` remain part of the result even if the external Hugging Face revision later becomes unavailable.

The entry ID identifies its original published batch. Publishing a newer batch does not redirect it to a newer result or invalidate it. If organizers need to withdraw a batch, that must be represented as an explicit loss of public visibility rather than by treating every non-latest batch as unpublished.

## Response fields

### Entry and evaluated artifact

| Field | Type | Always present | Description |
| :--- | :--- | :---: | :--- |
| `id` | string | Yes | Same immutable official entry ID supplied in the path. |
| `batchId` | string | Yes | Immutable official evaluation batch that contains this entry. |
| `formalSubmissionId` | string | Yes | Formal submission captured for evaluation. It is not a pointer to the team's current slot state. |
| `teamId` | string | Yes | Opaque Competition Team ID captured for the entry. |
| `slot` | integer | Yes | One-based formal slot captured by the batch. |
| `repository` | string | Yes | Evaluated Hugging Face repository in `owner/name` form. |
| `commitSha` | string | Yes | Exact immutable commit evaluated by the batch. |
| `formalSubmittedAt` | string | Yes | ISO 8601 UTC time of the captured formal submission. |

### Publication invariants

This endpoint serves only entries that passed every publication prerequisite, so the following fields have fixed values:

| Field | Type | Always present | Description |
| :--- | :--- | :---: | :--- |
| `artifactStatus` | `valid` | Yes | The evaluated artifact passed availability and integrity checks. |
| `officialCheckStatus` | `passed` | Yes | The official pre-evaluation check passed. |
| `evaluationStatus` | `completed` | Yes | The authoritative official evaluation produced a completed result. |
| `reviewStatus` | `compliant` | Yes | The final organizer decision marked the entry compliant. |
| `rankingEligibility` | `eligible` | Yes | The entry is eligible for its published leaderboard batch. |
| `deterministic` | `true` | Yes | Determinism was verified before the entry became eligible. |
| `preprocessIsolated` | `true` | Yes | Preprocessing isolation was verified before eligibility. |

### Score and runtime evidence

| Field | Type | Always present | Description |
| :--- | :--- | :---: | :--- |
| `highestTierAbove90` | integer | Yes | Highest completed T1–T10 tier with at least 90% accuracy, or `-1` when none reached the threshold. |
| `overallAccuracy` | number | Yes | Mean accuracy across T1–T10 in the `[0, 1]` range. An incomplete tier contributes `0`. |
| `timedOut` | boolean | Yes | Whether the authoritative result was marked as timed out. A published timeout result still passed the official evidence checks. |
| `inferenceTimeMs` | integer \| null | Yes | Recorded inference duration in milliseconds, or `null` when none was recorded. |
| `terminalErrorClass` | string \| null | Yes | Stable machine-classified terminal condition, or `null` when none was recorded. Raw terminal error text is never returned. |
| `tiers` | [`ModularArithmeticTierResult[]`](#modulararithmetictierresult) | Yes | Exactly eleven tier results ordered by `tierId` from `0` through `10`. |
| `runnerVersion` | string \| null | Yes | Recorded runner version, or `null` for an eligible attested timeout result without this field. |
| `runnerBuildId` | string \| null | Yes | Recorded runner build ID, or `null` when unavailable. |
| `imageDigest` | string \| null | Yes | Recorded execution-image digest or immutable image reference, or `null` when unavailable. |

### Official batch proof

| Field | Type | Always present | Description |
| :--- | :--- | :---: | :--- |
| `problemSetId` | string | Yes | Official problem set ID. |
| `problemSetLabel` | string | Yes | Human-readable label for the official problem set. |
| `problemSetSha256` | string | Yes | SHA-256 digest of the canonical official problem set. |
| `specCommit` | string | Yes | Evaluation specification commit frozen by the batch. |
| `scoringVersion` | string | Yes | Scoring contract version frozen by the batch. |
| `publishedAt` | string | Yes | ISO 8601 time at which this official batch was published. |

This `publishedAt` belongs to the immutable official batch. It may differ from `meta.publishedAt` on [Get leaderboard](./get-leaderboard.md), which records when the Competition leaderboard was made public.

### `ModularArithmeticTierResult`

| Field | Type | Always present | Description |
| :--- | :--- | :---: | :--- |
| `tierId` | integer | Yes | Tier number from `0` through `10`. T0 is diagnostic and excluded from both ranking metrics. |
| `total` | integer | Yes | Number of official cases configured for the tier. |
| `correct` | integer | Yes | Number of cases answered correctly before the tier ended. |
| `accuracy` | number | Yes | `correct / total` when `completed` is `true`; otherwise `0`. |
| `completed` | boolean | Yes | Whether the tier ran to completion. An incomplete T1–T10 tier contributes `0` to `overallAccuracy` and cannot set `highestTierAbove90`. |

## Privacy and evidence boundary

Use the aggregate tier counts and reproducibility identifiers to interpret the published result. Official evaluation cases and answers remain private. Team-specific organizer feedback is available through [Get my standing](./get-my-standing.md).

Repository and image strings are evidence identifiers, not download URLs and not a guarantee that an external artifact is still available when the response is read.

## Example request

```bash
curl "https://api.sair.foundation/api/public/v1/competitions/modular-arithmetic-challenge/leaderboard/entries/mce_3f7a52b902c54f0d9eb416a99d0992ce" \
  -H "Authorization: Bearer $SAIR_API_KEY"
```

## Example response

```json
{
  "ok": true,
  "data": {
    "id": "mce_3f7a52b902c54f0d9eb416a99d0992ce",
    "batchId": "mcb_3c0a9d2f1e8b4a6f9d7c2b5e8a1d4f6c",
    "formalSubmissionId": "sub_7b91f430fe2e48b9bb2b6dfc65bce386",
    "teamId": "teamv2_0e52064c5e864ffd9f4e7532f4de63d0",
    "slot": 1,
    "repository": "example-team/modular-model",
    "commitSha": "abcdef0123456789abcdef0123456789abcdef01",
    "formalSubmittedAt": "2026-07-20T12:34:56Z",
    "artifactStatus": "valid",
    "officialCheckStatus": "passed",
    "evaluationStatus": "completed",
    "reviewStatus": "compliant",
    "rankingEligibility": "eligible",
    "highestTierAbove90": 7,
    "overallAccuracy": 0.91,
    "timedOut": false,
    "inferenceTimeMs": 1240,
    "terminalErrorClass": null,
    "tiers": [
      { "tierId": 0, "total": 100, "correct": 100, "accuracy": 1.0, "completed": true },
      { "tierId": 1, "total": 100, "correct": 99, "accuracy": 0.99, "completed": true },
      { "tierId": 2, "total": 100, "correct": 98, "accuracy": 0.98, "completed": true },
      { "tierId": 3, "total": 100, "correct": 97, "accuracy": 0.97, "completed": true },
      { "tierId": 4, "total": 100, "correct": 96, "accuracy": 0.96, "completed": true },
      { "tierId": 5, "total": 100, "correct": 95, "accuracy": 0.95, "completed": true },
      { "tierId": 6, "total": 100, "correct": 94, "accuracy": 0.94, "completed": true },
      { "tierId": 7, "total": 100, "correct": 91, "accuracy": 0.91, "completed": true },
      { "tierId": 8, "total": 100, "correct": 85, "accuracy": 0.85, "completed": true },
      { "tierId": 9, "total": 100, "correct": 80, "accuracy": 0.8, "completed": true },
      { "tierId": 10, "total": 100, "correct": 75, "accuracy": 0.75, "completed": true }
    ],
    "deterministic": true,
    "preprocessIsolated": true,
    "runnerVersion": "1.2.3",
    "runnerBuildId": "build-abc123",
    "imageDigest": "registry.example/sandbox@sha256:db3ff2e1800a8581e2c48a27c3995339d47bdf046da21c7627accd3d51053a93",
    "problemSetId": "candidate-a-review",
    "problemSetLabel": "A",
    "problemSetSha256": "762a9ee2fb0f40ff205ebcca02526751d7cfcd9df856d1dae74add1768d75334",
    "specCommit": "99cac6ef5c2f82e53105ec0ddcbb9b8d37bf6fca",
    "scoringVersion": "mac-score-v1",
    "publishedAt": "2026-08-14T02:00:00Z"
  }
}
```

## Errors

| Status | Code | When |
| :---: | :--- | :--- |
| `404` | `NOT_FOUND` | The competition or leaderboard is not publicly visible, or the entry is unknown, incomplete, ineligible, or belongs to a batch that is not public. |

These cases intentionally share one response so callers cannot probe unpublished or ineligible results by ID. See [Errors](../../../errors.md) for authentication, scope, rate-limit, and standard error-envelope behavior.
