---
title: "Get Exercise Previews"
method: GET
path: "/student-practice/exercise-previews"
tags: ["student_practice"]
---

# Get Exercise Previews

`GET /student-practice/exercise-previews`

Student-safe batch previews of library exercises.

Used by the chat's training-session card to hydrate `<exercise_ref>`
items before the student accepts the session (and by the teacher chat's
add-exercises card). Ids may belong to `public_exercises` (library gate
applies) or `annales_exercises` (review-flagged rows excluded). The
projection NEVER includes the solution; inaccessible or unknown ids are
silently dropped (the card degrades gracefully). Results come back in
the requested order.

## Query parameters

- `ids` string[], required
- `subject` 'maths' | 'physique-chimie', nullable — Optional matière scope; omitted → any matière.

## Response `200`

Successful Response

- ExercisePreviewOut[]
  - `id` string, required
  - `title` string, nullable
  - `content` string, required
  - `category_path` string[]
  - `difficulty` string, nullable

## 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)
