---
title: "Get Classes Summary"
method: GET
path: "/teacher/analytics/classes-summary"
tags: ["teacher_analytics"]
---

# Get Classes Summary

`GET /teacher/analytics/classes-summary`

Summary statistics for every class of this teacher: students, exercises
completed, active students.

The numbers are the CLASS's, not its students': a devoir counts for the
class it was given to, work done on the student's own initiative counts
for the class they were in at that moment, and everything is bounded by
the class's school year. So a class created today starts at zero even if
its students have been working all year elsewhere, and a past class keeps
the numbers of its year. See `domain/class_activity.py`.

`period` / `school_year` are still accepted and echoed back: they are what
the client labels the numbers with.

## Query parameters

- `period` string, nullable
- `school_year` string, nullable

## Response `200`

Successful Response

- ClassesSummaryResponse
  - `classes` ClassSummaryItem[], required
    - `id` string, required
    - `name` string, required
    - `student_count` integer, required
    - `exercises_completed` integer, required
    - `active_students` integer, required
  - `period` string, required
  - `school_year` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/excellence-ai/excellence-learning/revisions/c407f3b5a05b/schema)
