---
title: "POST /api/simulations/{simulationId}/nodes/{nodeId}/quiz/questions"
method: POST
path: "/api/simulations/{simulationId}/nodes/{nodeId}/quiz/questions"
tags: ["QuizNode"]
---

# POST /api/simulations/{simulationId}/nodes/{nodeId}/quiz/questions

`POST /api/simulations/{simulationId}/nodes/{nodeId}/quiz/questions`

## Request

- Base URL: `https://api.wearelearning.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.wearelearning.io/api/simulations/{simulationId}/nodes/{nodeId}/quiz/questions`
- Auth: OAuth 2
  - Implicit: `https://login.wearelearning.io/authorize?audience=https://api.wearelearning.io`

## Path parameters

- `simulationId` string, uuid, required: A valid GUID
- `nodeId` string, uuid, required: A valid GUID

## Request body

- AddQuestionDto
  - `questionId` string, uuid, required: A valid GUID
  - `type` 'Select' | 'Sort' | 'Matching', required

## Response `200`

OK

- QuizQuestionDto
  - `type` 'Select' | 'Sort' | 'Matching', required
  - `id` string, uuid, required: A valid GUID
  - `displayOrder` integer, required
  - `questionText` RichTextDto, required
    - `textPlain` string, required
    - `textHtml` string, required
    - `textJson` string, required
  - `randomizeOrder` boolean, required
  - `imageAnswer` boolean, required
  - `hidden` boolean, required
  - `image` MediaReferenceDto
    - `id` string, required
    - `fileName` string, required
    - `extension` string, required
    - `contentType` string, required
    - `url` string, required
    - `publicUrl` string, required
    - `thumbnailUrl` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `metadata` MetadataDto, required
      - `type` 'Image' | 'ImageVersion' | 'Video' | 'Audio' | 'Document', required
      - `size` integer, nullable
    - `folderId` string, uuid, nullable: A valid GUID
  - `imageTransformation` ImageTransformationDto
    - `imageTranslation` Position2dDto, required
      - `x` number, double, required
      - `y` number, double, required
    - `imageScale` ImageScaleDto, required
      - `x` number, double, required
      - `y` number, double, required
    - `rotation` number, double, required
    - `maskDimensions` MaskDimensionsDto, required
      - `width` number, double, required
      - `height` number, double, required
  - `allowLearnMore` boolean, required
  - `feedbackContext` string, nullable
  - `customFeedbackEnabled` boolean, required
  - `customFeedbackIncorrect` string, nullable
  - `customFeedbackCorrect` string, nullable
  - `questionAudio` NodeAudioDto
    - `type` 'None' | 'Recording' | 'TextToSpeech' | 'Upload', required
    - `uploadedAudioGuid` string, uuid, nullable: A valid GUID
    - `voiceMimicAudioGuid` string, uuid, nullable: A valid GUID
    - `uploadedAudioUrl` string, nullable
    - `textToSpeechAudioUrl` string, nullable
    - `voiceMimicAudioUrl` string, nullable
    - `isVoiceMimicEnabled` boolean, required
    - `volume` number, float, nullable
    - `ambienceVolume` number, float, required
    - `metadata` NodeAudioMetadataDto
      - `uploadedLipSyncData` AudioLipSyncDataDto
        - `fileName` string, required
        - `durationInSeconds` number, double, required
        - `timedPhonemes` TimedPhonemeDto[], nullable
          - `startTime` number, double, required
          - `durationInSeconds` number, double, required
          - `phoneme` string, required
        - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
          - `item1` number, double, required
          - `item2` string, nullable
        - `artifactUrl` string, nullable
      - `textToSpeechLipSyncData` AudioLipSyncDataDto
        - `fileName` string, required
        - `durationInSeconds` number, double, required
        - `timedPhonemes` TimedPhonemeDto[], nullable
          - `startTime` number, double, required
          - `durationInSeconds` number, double, required
          - `phoneme` string, required
        - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
          - `item1` number, double, required
          - `item2` string, nullable
        - `artifactUrl` string, nullable
      - `voiceMimicLipSyncData` AudioLipSyncDataDto
        - `fileName` string, required
        - `durationInSeconds` number, double, required
        - `timedPhonemes` TimedPhonemeDto[], nullable
          - `startTime` number, double, required
          - `durationInSeconds` number, double, required
          - `phoneme` string, required
        - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
          - `item1` number, double, required
          - `item2` string, nullable
        - `artifactUrl` string, nullable
      - `uploadedAudioDuration` number, float, nullable
      - `textToSpeechAudioDuration` number, float, nullable
      - `voiceMimicAudioDuration` number, float, nullable

---

[API](https://skmtc.dev/wearelearning/apis/we-are-learning-api.md) - [All operations](https://skmtc.dev/wearelearning/apis/we-are-learning-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wearelearning/apis/we-are-learning-api/revisions/e2ca5265db77?raw)
