---
title: "List Exercise History"
method: GET
path: "/teacher-exercise-history"
tags: ["teacher-exercise-history"]
---

# List Exercise History

`GET /teacher-exercise-history`

List distinct library exercises the current teacher already gave.

Draft assignments are excluded — only actually-given work counts.
All Mongo lookups are batched (one query per collection), so the cost
stays flat regardless of assignment count.

## Response `200`

Successful Response

- TeacherExerciseHistoryEntry[]
  - `exercise_id` string, required
  - `library` 'excellence' | 'calcul' | 'annales', required
  - `title` string, nullable
  - `content_preview` string, nullable
  - `category_path` string[]
  - `type` string, nullable
  - `difficulty` string, nullable
  - `last_given_at` string, date-time, nullable
  - `times_given` integer
  - `assignment_titles` string[]

---

[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.dev/excellence-ai/apis/excellence-learning/revisions/a5af9b3b34f7?raw)
