---
title: "Get whole-School exam analytics"
method: GET
path: "/Exams/Results/School/Summary"
tags: ["Exams"]
---

# Get whole-School exam analytics

`GET /Exams/Results/School/Summary`

**Requires permission:** *ExamAdmin*

Headline attainment, grade distribution and subject comparison for one exam year, plus a per-level trend across every year. Release dates in EX_Settings are applied unless BypassLockdown is set by a caller holding ExamAdmin.

## Query parameters

- `year` integer, nullable
- `bypassLockdown` boolean, required
- `page` integer, required
- `pageSize` integer, required
- `includes` string[], nullable
- `sort` string, nullable
- `filter` string, nullable

## Response `200`

Success - Success

- GetSchoolExamResultsSummaryResponse
  - `year` integer, nullable
  - `availableYears` integer[]
  - `gradeDistribution` ExamGradeCountView[]
    - `level` string, nullable
    - `grade` string, nullable
    - `count` integer
    - `percent` number, double
    - `cumulativePercent` number, double
    - `order` integer
  - `levelSummaries` ExamLevelSummaryView[]
    - `level` string, nullable
    - `entries` integer
    - `candidates` integer
    - `unclassified` integer
    - `topGradeCount` integer
    - `topGradePercent` number, double
    - `highGradeCount` integer
    - `highGradePercent` number, double
    - `passCount` integer
    - `passPercent` number, double
    - `averagePoints` number, double
    - `topGradeLabel` string, nullable
    - `highGradeLabel` string, nullable
    - `passLabel` string, nullable
  - `subjectSummaries` ExamSubjectSummaryView[]
    - `level` string, nullable
    - `subject` string, nullable
    - `entries` integer
    - `topGradeCount` integer
    - `topGradePercent` number, double
    - `passCount` integer
    - `passPercent` number, double
    - `averagePoints` number, double
  - `candidateSummaries` ExamCandidateSummaryView[]
    - `level` string, nullable
    - `candidates` integer
    - `averageEntries` number, double
    - `averagePointsPerCandidate` number, double
    - `averagePointsPerEntry` number, double
    - `cleanSweepCandidates` integer
    - `cleanSweepPercent` number, double
    - `noTopGradeCandidates` integer
    - `topGradeSpread` ExamCandidateBandView[]
      - `topGrades` integer
      - `candidates` integer
  - `houseSummaries` ExamHouseSummaryView[]
    - `level` string, nullable
    - `house` string, nullable
    - `entries` integer
    - `candidates` integer
    - `topGradeCount` integer
    - `topGradePercent` number, double
    - `passCount` integer
    - `passPercent` number, double
    - `averagePoints` number, double
  - `yearTrend` ExamYearTrendView[]
    - `year` integer
    - `level` string, nullable
    - `entries` integer
    - `topGradePercent` number, double
    - `passPercent` number, double
    - `averagePoints` number, double
  - `examSettings` ExamSetting[]
    - `id` integer
    - `examType` string, nullable
    - `visibleToStudents` string, date-time, nullable
    - `visibleToStaff` string, date-time, nullable
    - `visibleToParents` string, date-time, nullable
    - `dateToDisplay` string, date-time
    - `saving` boolean
    - `currentlyVisible` boolean
  - `lockdownBypassed` boolean
  - `hiddenLevels` string[]
  - `currentDateTime` string, date-time, nullable
  - `currentDateTimeUtc` string, date-time, nullable
  - `meta` Meta
    - `page` integer
    - `pageSize` integer
    - `total` integer

## Other responses

- `400` — An Error Occurred - Explain Error
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/tonbridge/apis/tonbridge-app-api.md) · [All operations](https://skmtc.net/tonbridge/apis/tonbridge-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tonbridge/tonbridge-app-api/revisions/5aa4178ca29b/schema)
