---
title: "POST /api/quiz/courses/{courseId}/training-questions"
method: POST
path: "/api/quiz/courses/{courseId}/training-questions"
tags: ["quiz-training"]
---

# POST /api/quiz/courses/{courseId}/training-questions

`POST /api/quiz/courses/{courseId}/training-questions`

## Path parameters

- `courseId` integer, required

## Query parameters

- `page` integer
- `size` integer
- `sort` string[]
- `isNewSession` boolean, required

## Request body

- integer[]

## Response `200`

OK

- QuizQuestionTraining[]
  - `quizQuestionWithSolutionDTO` union, required
    - object
      - `id` integer
      - `title` string
      - `text` string
      - `hint` string
      - `points` number, double
      - `scoringType` 'ALL_OR_NOTHING' | 'PROPORTIONAL_WITH_PENALTY' | 'PROPORTIONAL_WITHOUT_PENALTY'
      - `randomizeOrder` boolean
      - `invalid` boolean
      - `type` string
      - `explanation` string
      - `answerOptions` AnswerOptionWithSolution[]
        - `id` integer
        - `text` string
        - `hint` string
        - `invalid` boolean
        - `explanation` string
        - `isCorrect` boolean
      - `singleChoice` boolean
      - `backgroundFilePath` string
      - `dropLocations` DropLocation[]
        - `id` integer
        - `posX` number, double
        - `posY` number, double
        - `width` number, double
        - `height` number, double
        - `invalid` boolean
      - `dragItems` DragItem[]
        - `id` integer
        - `pictureFilePath` string
        - `text` string
        - `invalid` boolean
      - `correctMappings` ShortAnswerMapping[]
        - `id` integer
        - `shortAnswerSpotIndex` integer
        - `shortAnswerSolutionIndex` integer
        - `invalid` boolean
        - `solution` ShortAnswerSolution
          - `id` integer
          - `text` string
          - `invalid` boolean
        - `spot` ShortAnswerSpot
          - `id` integer
          - `spotNr` integer
          - `width` integer
          - `invalid` boolean
      - `spots` ShortAnswerSpot[]
        - `id` integer
        - `spotNr` integer
        - `width` integer
        - `invalid` boolean
      - `solutions` ShortAnswerSolution[]
        - `id` integer
        - `text` string
        - `invalid` boolean
      - `similarityValue` integer
      - `matchLetterCase` boolean
    - object
      - `id` integer
      - `title` string
      - `text` string
      - `hint` string
      - `points` number, double
      - `scoringType` 'ALL_OR_NOTHING' | 'PROPORTIONAL_WITH_PENALTY' | 'PROPORTIONAL_WITHOUT_PENALTY'
      - `randomizeOrder` boolean
      - `invalid` boolean
      - `type` string
      - `explanation` string
      - `backgroundFilePath` string
      - `dropLocations` DropLocation[]
        - `id` integer
        - `posX` number, double
        - `posY` number, double
        - `width` number, double
        - `height` number, double
        - `invalid` boolean
      - `dragItems` DragItem[]
        - `id` integer
        - `pictureFilePath` string
        - `text` string
        - `invalid` boolean
      - `correctMappings` object[]
        - `id` integer
        - `dragItemIndex` integer
        - `dropLocationIndex` integer
        - `invalid` boolean
        - `dragItem` DragItem
          - `id` integer
          - `pictureFilePath` string
          - `text` string
          - `invalid` boolean
        - `dropLocation` DropLocation
          - `id` integer
          - `posX` number, double
          - `posY` number, double
          - `width` number, double
          - `height` number, double
          - `invalid` boolean
        - `shortAnswerSpotIndex` integer
        - `shortAnswerSolutionIndex` integer
        - `solution` ShortAnswerSolution
          - `id` integer
          - `text` string
          - `invalid` boolean
        - `spot` ShortAnswerSpot
          - `id` integer
          - `spotNr` integer
          - `width` integer
          - `invalid` boolean
      - `answerOptions` AnswerOptionWithSolution[]
        - `id` integer
        - `text` string
        - `hint` string
        - `invalid` boolean
        - `explanation` string
        - `isCorrect` boolean
      - `singleChoice` boolean
      - `spots` ShortAnswerSpot[]
        - `id` integer
        - `spotNr` integer
        - `width` integer
        - `invalid` boolean
      - `solutions` ShortAnswerSolution[]
        - `id` integer
        - `text` string
        - `invalid` boolean
      - `similarityValue` integer
      - `matchLetterCase` boolean
    - object
      - `id` integer
      - `title` string
      - `text` string
      - `hint` string
      - `points` number, double
      - `scoringType` 'ALL_OR_NOTHING' | 'PROPORTIONAL_WITH_PENALTY' | 'PROPORTIONAL_WITHOUT_PENALTY'
      - `randomizeOrder` boolean
      - `invalid` boolean
      - `type` string
      - `explanation` string
      - `spots` ShortAnswerSpot[]
        - `id` integer
        - `spotNr` integer
        - `width` integer
        - `invalid` boolean
      - `solutions` ShortAnswerSolution[]
        - `id` integer
        - `text` string
        - `invalid` boolean
      - `similarityValue` integer
      - `matchLetterCase` boolean
      - `correctMappings` ShortAnswerMapping[]
        - `id` integer
        - `shortAnswerSpotIndex` integer
        - `shortAnswerSolutionIndex` integer
        - `invalid` boolean
        - `solution` ShortAnswerSolution
          - `id` integer
          - `text` string
          - `invalid` boolean
        - `spot` ShortAnswerSpot
          - `id` integer
          - `spotNr` integer
          - `width` integer
          - `invalid` boolean
      - `answerOptions` AnswerOptionWithSolution[]
        - `id` integer
        - `text` string
        - `hint` string
        - `invalid` boolean
        - `explanation` string
        - `isCorrect` boolean
      - `singleChoice` boolean
      - `backgroundFilePath` string
      - `dropLocations` DropLocation[]
        - `id` integer
        - `posX` number, double
        - `posY` number, double
        - `width` number, double
        - `height` number, double
        - `invalid` boolean
      - `dragItems` DragItem[]
        - `id` integer
        - `pictureFilePath` string
        - `text` string
        - `invalid` boolean
  - `isRated` boolean
  - `questionIds` integer[]
  - `isNewSession` boolean
  - `id` integer

## Changes

- **2026-06-23** `06ee3cbeb1f2` — 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/quiz/courses/:courseId/training-questions/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)
