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

# Regenerate Exercise Title

`POST /admin/public-exercises/{exercise_id}/regenerate-title`

Regenerate a title for a single exercise using the same Portkey
wrapper + prompt as migration 024 (batch size 1).

Used by the admin curation drawer "Régénérer" button. Keeps the LLM
call synchronous (gpt-4o-mini, temperature 0.2). On success the new
title is persisted + returned inside the detail payload.

## Path parameters

- `exercise_id` string, required

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