---
title: "POST /api/hyperion/courses/{courseId}/quiz-exercises/refine-question"
method: POST
path: "/api/hyperion/courses/{courseId}/quiz-exercises/refine-question"
tags: ["hyperion-quiz-question-generation"]
---

# POST /api/hyperion/courses/{courseId}/quiz-exercises/refine-question

`POST /api/hyperion/courses/{courseId}/quiz-exercises/refine-question`

## Path parameters

- `courseId` integer, required

## Request body

- QuizQuestionRefinementRequest — Request to refine an existing quiz question using a user prompt
  - `refinementPrompt` string, required — User instructions describing how the question should be changed

## Response `200`

OK

- union — Discriminated response for a single quiz question refinement, either a success with the refined question or a failure with an error message
  - object — Successful refinement result containing the refined question and an explanation of the changes
    - `reasoning` string, required — Brief explanation of what was changed during refinement
    - `type` 'success', required
  - object — Failed refinement result containing an error message
    - `error` string, required — Error message describing why the refinement failed
    - `type` 'failure', required

## Changes

- **2026-05-15** `322715dc6959` — 1 breaking, 1 warning
  - removed the required property `oneOf[#/components/schemas/QuizQuestionRefinementSuccess]/question` from the response with the `200` status
  - removed the request property `question`
- **2026-05-02** `039041cdc17b` — 4 breaking, 7 warning, 2 info
  - added `#/components/schemas/QuizQuestionRefinementSuccess, #/components/schemas/QuizQuestionRefinementFailure` to the response body `oneOf` list for the response status `200`
  - the response's body type changed from `object` to no type for status `200`
  - removed the required property `question` from the response with the `200` status
  - removed the required property `reasoning` from the response with the `200` status
  - …9 more
- **2026-04-29** `ac514a8944c6` — 1 info
  - added the required property `type` to the response with the `200` status
- **2026-04-14** `571f6620167a` — 1 info
  - endpoint added
- **2025-06-29** `afd4091eb170` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/ls1intum/apis/artemis-application-server-api/changes/api/hyperion/courses/:courseId/quiz-exercises/refine-question/post.md)

---

[API](https://skmtc.dev/ls1intum/apis/artemis-application-server-api.md) · [All operations](https://skmtc.dev/ls1intum/apis/artemis-application-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ls1intum/artemis-application-server-api/revisions/cecac5f6c8e5/schema)
