---
title: "List Annales Sujets"
method: GET
path: "/student-practice/annales-sujets"
tags: ["student_practice"]
---

# List Annales Sujets

`GET /student-practice/annales-sujets`

Full papers for the student's level, newest first.

``catalog=excellence`` returns our curated 2026-bac training papers (our own
exercises, from ``public_exercises``) instead of official annales — additive
and removable: omit it for the original behaviour, delete the branch to
retire the experiment.

## Query parameters

- `school_level` string, required — terminale | premiere
- `catalog` string — annales (default) | excellence — curated Excellence bac papers

## Response `200`

Successful Response

- AnnaleSujetOut[]
  - `source_annale` string, required
  - `title` string, nullable
  - `year` integer, nullable
  - `session` string, nullable
  - `school_level` string, nullable
  - `exercise_count` integer, required
  - `total_points` number, required
  - `topics` string[]
  - `exercises` AnnaleSujetExerciseOut[]
    - `id` string, required
    - `number` integer, nullable
    - `title` string, nullable
    - `points` number, nullable
    - `difficulty` string, nullable
    - `excerpt` string

## 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.dev/excellence-ai/apis/excellence-learning/revisions/2a0c1636fd3b?raw)
