---
title: "Update Exercise Title"
method: PATCH
path: "/admin/public-exercises/{exercise_id}/title"
tags: ["Admin Public Exercises"]
---

# Update Exercise Title

`PATCH /admin/public-exercises/{exercise_id}/title`

Set or clear the short human-readable title on a single exercise.

Mirrors `/type` as a one-click curation action. Empty / None clears
the field by writing `null`.

## Path parameters

- `exercise_id` string, required

## Request body

- ExerciseTitleUpdate — Patch the short human-readable title on an exercise. `None` or empty string clears the title (unsets the field). Length is intentionally unbounded here — the generation prompt keeps titles to 3-8 words; admin manual edits don't have a hard cap.
  - `title` string, nullable

## Response `200`

Successful Response

- PublicExerciseDetail — Full detail used by the edit panel.
  - `id` string, required
  - `category_path` string[], required
  - `difficulty` string, nullable
  - `content` string, required
  - `solution` string, required
  - `figure_content` string[], nullable
  - `figure_solution` string[], nullable
  - `themes` string[]
  - `updated_at` string, nullable
  - `library` 'excellence' | 'cpge' | 'remediation'
  - `type` 'exercice' | 'automatisme' | 'application_du_cours'
  - `cpge` RoutersAdminPublicExercisesCpgeMetadata
    - `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)
