---
title: "Get Public Exercise"
method: GET
path: "/public-exercises/{exercise_id}"
tags: ["public_exercises"]
---

# Get Public Exercise

`GET /public-exercises/{exercise_id}`

## Path parameters

- `exercise_id` string, required

## Response `200`

Successful Response

- PublicExerciseOut
  - `id` string, required
  - `themes` string[], required
  - `content` string, required
  - `solution` string, required
  - `figure_content` string, nullable
  - `figure_solution` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `sequence_number` integer, nullable
  - `difficulty` string, nullable
  - `category_path` string[]
  - `subject` 'maths' | 'physique-chimie'
  - `diagnostic_info` DiagnosticInfoOut
    - `explanation` string, required
  - `library` 'excellence' | 'cpge' | 'remediation'
  - `type` 'exercice' | 'automatisme' | 'application_du_cours'
  - `cpge` RoutersPublicExercisesCpgeMetadata — CPGE-specific fields, present only when `library == "cpge"`. Grouped into a subdoc so that readers of a regular public exercise don't have to reason about hints / banque at all — those are genuinely prepa-only concerns.
    - `hints` string[]
    - `banque` string, nullable
  - `likes_count` integer
  - `savoirs_faire_ids` string[]
  - `title` 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)
