---
title: "GET /api/public/simulations/{simulationPublicId}"
method: GET
path: "/api/public/simulations/{simulationPublicId}"
tags: ["Public"]
---

# GET /api/public/simulations/{simulationPublicId}

`GET /api/public/simulations/{simulationPublicId}`

## 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/public/simulations/{simulationPublicId}`
- Auth: OAuth 2
  - Implicit: `https://login.wearelearning.io/authorize?audience=https://api.wearelearning.io`

## Path parameters

- `simulationPublicId` string, required

## Response `200`

OK

- SimulationDto
  - `id` string, required
  - `title` string, required
  - `languageCode` string, required
  - `sceneId` string, required
  - `characterIds` string[], required
  - `description` string, required
  - `status` string, required
  - `tenantId` string, required
  - `nodes` NodeDto[], required
    - `nodeType` 'dialogue' | 'response' | 'poster' | 'event' | 'end' | 'open-response' | 'outcome' | 'no-match' | 'hotspot' | 'quiz' | 'page' | 'code', required
    - `id` string, required
    - `simulationId` string, required
    - `position` Position2dDto, required
      - `x` number, double, required
      - `y` number, double, required
    - `label` string, required
    - `text` string, required
    - `displayText` string, nullable
    - `color` string, required
    - `eventId` string, nullable
    - `speakerIndex` string, required
    - `speakerId` string, nullable
    - `timelineDuration` number, float, required
    - `audioTimelineStartTime` number, double, required
    - `audioType` 'None' | 'Recording' | 'TextToSpeech' | 'Upload', required
    - `audioGuid` string, required
    - `sceneBackground` string, required
    - `shouldDoAiRephrase` boolean, required
    - `selectedSceneId` string, nullable
    - `consequences` ConsequenceDto[], required
      - `skillId` string, uuid, required: A valid GUID
      - `enabled` boolean, required
      - `value` integer, required
      - `showEffect` boolean, required
      - `index` string, required
    - `voiceoverEnabled` boolean, required
    - `randomResponseOrder` boolean, required
    - `ambienceVolume` number, float, nullable
    - `isSuccess` boolean, nullable
    - `displayPosterIcon` boolean, nullable
    - `camera` CameraDto, required
      - `zoom` number, double, required
      - `panX` number, double, required
      - `panY` number, double, required
    - `references` string[], nullable
    - `sequence` EventSequenceItemDto[], nullable
      - `action` 'AddCharacter' | 'RemoveCharacter' | 'EditLocation', required
      - `relationship` 'With' | 'After', required
      - `order` integer, required
      - `showDelay` integer, required
      - `location` string, nullable
      - `character` EventSequenceCharacterDto
        - `id` string, required
        - `name` string, required
      - `transition` EventSequenceTransitionDto
        - `type` 'FadeIn' | 'WalkIn' | 'WalkOut', required
        - `direction` 'Left' | 'Right'
        - `duration` integer, required
    - `characters` NodeCharacterDto[], nullable
      - `id` string, required
      - `position` ThreeDimensionalPositionDto, required
        - `x` number, double, required
        - `y` number, double, required
        - `z` number, double, required
      - `rotation` number, float, required
      - `pose` 'Standing' | 'Sitting' | 'Desk', required
      - `dialogueNodeOverrides` DialogueNodeCharacterOverridesDto
        - `positionOverride` boolean, required
        - `rotationOverride` boolean, required
        - `hidden` boolean, required
    - `location` string, nullable
    - `timeOfDay` number, float, nullable
    - `indoorLighting` ColorDto
      - `r` number, float, nullable
      - `g` number, float, nullable
      - `b` number, float, nullable
      - `brightness` number, float, nullable
    - `audioVolume` number, float, required
    - `speakingStyles` CharacterSpeakingStyleDto[], nullable
      - `characterId` string, required
      - `style` string, required
      - `pitch` integer, required
      - `rate` integer, required
    - `posterNodeParameters` PosterNodeParametersDto, required
      - `selectedTemplate` 'TextOnly' | 'ImageText' | 'TextImage' | 'IconTextVertical' | 'IconText' | 'Image', required
      - `displayPosterIcon` boolean, required
      - `color` string, required
      - `showFullscreen` boolean, required
      - `images` PosterImageDto[], required
        - `url` string, required
        - `thumbnailImageUrl` string, nullable
        - `desktopImageUrl` string, nullable
        - `mobileImageUrl` string, nullable
        - `position` Position2dDto, required
          - `x` number, double, required
          - `y` number, double, required
        - `scale` SingleSingleTuple, required
          - `item1` number, float, required
          - `item2` number, float, required
        - `rotation` number, float, required
        - `opacity` number, float, required
        - `mediaReferenceId` string, uuid, required: A valid GUID
        - `mediaReference` 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
      - `button` PosterNodeButtonDto, required
        - `text` string, required
        - `textColor` string, required
        - `backgroundColor` string, required
      - `background` PosterBackgroundDto, required
        - `type` 'Hex' | 'Image' | 'Gradient', required
        - `value` string, nullable
        - `backgroundImage` PosterImageDto
          - `url` string, required
          - `thumbnailImageUrl` string, nullable
          - `desktopImageUrl` string, nullable
          - `mobileImageUrl` string, nullable
          - `position` Position2dDto, required
            - `x` number, double, required
            - `y` number, double, required
          - `scale` SingleSingleTuple, required
            - `item1` number, float, required
            - `item2` number, float, required
          - `rotation` number, float, required
          - `opacity` number, float, required
          - `mediaReferenceId` string, uuid, required: A valid GUID
          - `mediaReference` 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
              - …
            - `folderId` string, uuid, nullable: A valid GUID
        - `fromHex` string, nullable
        - `toHex` string, nullable
      - `text` string, required
      - `textJson` string, required
      - `icon` PosterNodeIconDto
        - `url` string, required
        - `color` string, required
        - `absoluteUrl` string, nullable
      - `selectedMediaType` 'Image' | 'Video', required
      - `video` PosterVideoDto, required
        - `mediaReference` 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
        - `externalVideoUrl` string, uri, nullable
        - `videoType` 'None' | 'Embed' | 'Upload', required
        - `mandatoryPlaythrough` boolean, required
        - `autoplay` boolean, required
        - `autoContinueOnEnd` boolean, required
    - `mediaClips` MediaClipDto[], nullable
      - `id` string, required
      - `startTime` number, float, required
      - `endTime` number, float, required
      - `url` string, required
      - `fileName` string, required
      - `position` ThreeDimensionalPositionDtoWithOptionalZValue, required
        - `x` integer, required
        - `y` integer, required
        - `z` integer, nullable
      - `size` integer, required
      - `opacity` integer, nullable
      - `rotation` integer, nullable
      - `transition` 'Fade' | 'Instant' | 'Move' | 'Pop' | 'Drop'
      - `animations` MediaAnimation[], nullable
        - `type` 'Start' | 'End', required
        - `transition` 'Fade' | 'Instant' | 'Move' | 'Pop' | 'Drop', required
        - `direction` 'Top' | 'Right' | 'Bottom' | 'Left'
      - `positionDepth` 'Back' | 'Front'
      - `sceneBackgroundDimness` integer, required
    - `mediaTracks` MediaTrackDto[], nullable
      - `id` string, required
      - `mediaClipIds` string[], required
    - `mediaReferences` MediaReferenceDto[], nullable
      - `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
    - `dialogueNodeOverrides` DialogueNodeOverridesDto
      - `cameraZoomOverride` boolean, required
      - `ambienceVolumeOverride` boolean, required
    - `audio` 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
    - `vector` number[], required
    - `spots` SpotDto[], nullable
      - `id` string, uuid, required: A valid GUID
      - `position` Position2dDto, required
        - `x` number, double, required
        - `y` number, double, required
      - `visualSettings` SpotVisualSettingsDto, required
        - `type` 'Basic' | 'Icon' | 'Custom', required
        - `width` number, float, required
        - `height` number, float, required
        - `rotation` number, float, required
      - `label` string, required
      - `contentText` SpotContentTextDto, required
        - `textHtml` string, required
        - `textPlain` string, nullable
        - `enabled` boolean, required
      - `shapeText` SpotShapeTextDto
        - `textHtml` string, required
        - `textPlain` string, nullable
      - `backgroundColor` ColorValue, required
        - `value` string, required
      - `image` SpotImageDto
        - `enabled` boolean, required
        - `mediaReference` 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
        - `transformation` ImageTransformationDto, required
          - `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
      - `navigationTrigger` TriggerDto, required
        - `type` 'Button' | 'Click', required
        - `nodeContinueButton` NodeContinueButtonDto, required
          - `text` string, required
          - `buttonColor` ColorValue, required
            - `value` string, required
          - `textColor` ColorValue, required
            - `value` string, required
        - `url` string, nullable
        - `enabled` boolean, required
        - `openInNewTab` boolean, required
        - `navigationType` 'Url' | 'Node', required
        - `targetNodeId` string, uuid, nullable: A valid GUID
      - `hideAfterClick` boolean, required
      - `disableHoverEffect` boolean, required
      - `disablePointerCursor` boolean, required
      - `readTextAloud` boolean, required
      - `readAloudAudio` SpotReadAloudAudioDto
        - `url` string, required
        - `duration` number, float, nullable
      - `readAloudVoice` SpotReadAloudVoiceDto
        - `voiceShortName` string, required
        - `locale` string, required
      - `autoplayVideo` boolean, required
      - `confettiOnClick` boolean, required
      - `confettiStyle` 'Confetti' | 'Fireworks', required
      - `popupPlacementOverride` 'Relative' | 'Center'
      - `popupAnimationOverride` 'Scale' | 'None' | 'Fade' | 'Pop' | 'Slide' | 'Bounce' | 'Flip'
      - `popupAnimationDirectionOverride` 'Up' | 'Down' | 'Left' | 'Right'
      - `popupAnimationSpeedOverride` 'Normal' | 'Fast' | 'Slow'
    - `showHotspots` boolean, required
    - `mandatoryCompletion` boolean, required
    - `showVisitedHotspots` boolean, required
    - `showFullscreen` boolean, required
    - `sequenceMode` boolean, required
    - `autoContinue` boolean, required
    - `popupPlacement` 'Relative' | 'Center', required
    - `popupAnimation` 'Scale' | 'None' | 'Fade' | 'Pop' | 'Slide' | 'Bounce' | 'Flip', required
    - `popupAnimationDirection` 'Up' | 'Down' | 'Left' | 'Right', required
    - `popupAnimationSpeed` 'Normal' | 'Fast' | 'Slow', required
    - `checkmarkSize` 'Small' | 'Medium' | 'Large', required
    - `backgroundImage` 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
    - `trigger` TriggerDto
      - `type` 'Button' | 'Click', required
      - `nodeContinueButton` NodeContinueButtonDto, required
        - `text` string, required
        - `buttonColor` ColorValue, required
          - `value` string, required
        - `textColor` ColorValue, required
          - `value` string, required
      - `url` string, nullable
      - `enabled` boolean, required
      - `openInNewTab` boolean, required
      - `navigationType` 'Url' | 'Node', required
      - `targetNodeId` string, uuid, nullable: A valid GUID
    - `hint` HotspotHintDto
      - `enabled` boolean, required
      - `hint` string, required
      - `openOnLoad` boolean, required
    - `actsLike` string, nullable
    - `visualHint` VisualIntentHintDto
      - `hint` string, required
      - `backgroundColor` string, required: A valid hex color string (e.g., #FFF, #FFFFFF, #FFFFFFFF)
      - `textColor` string, required: A valid hex color string (e.g., #FFF, #FFFFFF, #FFFFFFFF)
      - `openOnLoad` boolean, nullable
    - `minimumMatchThreshold` integer, nullable
    - `retryCount` integer, required
    - `background` QuizBackgroundDto
      - `type` 'Hex' | 'Image' | 'Gradient', required
      - `value` string, nullable
      - `imageId` string, uuid, nullable: A valid GUID
      - `imageReference` 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
      - `fromHex` string, nullable
      - `toHex` string, nullable
    - `questions` QuizQuestionDto[], required
      - `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
              - …
            - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
              - …
            - `artifactUrl` string, nullable
          - `textToSpeechLipSyncData` AudioLipSyncDataDto
            - `fileName` string, required
            - `durationInSeconds` number, double, required
            - `timedPhonemes` TimedPhonemeDto[], nullable
              - …
            - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
              - …
            - `artifactUrl` string, nullable
          - `voiceMimicLipSyncData` AudioLipSyncDataDto
            - `fileName` string, required
            - `durationInSeconds` number, double, required
            - `timedPhonemes` TimedPhonemeDto[], nullable
              - …
            - `timedPhonemeTuples` DoubleStringValueTuple[], nullable
              - …
            - `artifactUrl` string, nullable
          - `uploadedAudioDuration` number, float, nullable
          - `textToSpeechAudioDuration` number, float, nullable
          - `voiceMimicAudioDuration` number, float, nullable
    - `randomizeOrder` boolean, required
    - `showResultsAfterAnswer` boolean, required
    - `results` QuizResultsDto, required
      - `hasPassLimit` boolean, required
      - `passLimit` number, float, required
      - `displayResultToPlayer` boolean, required
    - `darkTheme` boolean, required
    - `questionTextColor` ColorValue, required
      - `value` string, required
    - `subsetQuestionCount` integer, nullable
    - `characterPresenter` QuizCharacterPresenterDto, required
      - `enabled` boolean, required
      - `characterId` string, uuid, nullable: A valid GUID
      - `energyLevel` integer, required
      - `voiceoverOnly` boolean, required
    - `themeOverride` NodeThemeOverrideDto
      - `themeId` string, uuid, nullable: A valid GUID
    - `pages` PageDto[], nullable
      - `id` string, uuid, required: A valid GUID
      - `name` string, required
      - `themeId` string, uuid, nullable: A valid GUID
      - `sections` PageSectionDto[], required
        - `id` string, uuid, required: A valid GUID
        - `padding` integer, required
        - `columnGap` integer, required
        - `blockAlignment` string, required
        - `background` SectionBackgroundDto, required
          - `type` string, required
          - `color` string, nullable
          - `fromHex` string, nullable
          - `toHex` string, nullable
          - `angle` integer, nullable
          - `attachment` string, nullable
          - `mediaReferenceId` string, nullable
          - `imageReference` 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
              - …
            - `folderId` string, uuid, nullable: A valid GUID
        - `columns` SectionColumnDto[], required
          - `id` string, required
          - `width` number, double, required
          - `padding` integer, required
          - `gap` integer, required
          - `blocks` PageBlockDto[], required
            - `id` string, required
            - `type` string, required
            - `data` union
              - …
    - `htmlUrl` string, nullable
    - `fileName` string, nullable
    - `continueButton` NodeContinueButtonDto
      - `text` string, required
      - `buttonColor` ColorValue, required
        - `value` string, required
      - `textColor` ColorValue, required
        - `value` string, required
    - `images` CodeNodeImageDto[], nullable
      - `name` string, required
      - `url` string, required
      - `contentType` string, required
      - `sizeBytes` integer, required
      - `mediaReferenceId` string, nullable
  - `timelines` TimelineDto[], required
    - `id` string, required
    - `simulationId` string, required
    - `nodeId` string, required
    - `characterId` string, required
    - `gestures` GestureDto[], required
      - `id` string, nullable
      - `animationId` string, required
      - `startTime` number, double, required
      - `endTime` number, double, required
      - `energyLevel` integer, required
      - `animationSpeed` integer, nullable
      - `lookDirectionId` string, nullable
      - `lookDirectionAmount` number, double, required
      - `lookDirectionCharacterId` string, nullable
      - `lookDirection` LookDirectionDto
        - `id` string, nullable
        - `amount` number, double, nullable
        - `horizontal` number, double, nullable
        - `vertical` number, double, nullable
        - `characterId` string, nullable
      - `emotionId` string, nullable
      - `propSettings` PropSettingsDto
        - `id` string, uuid, required: A valid GUID
        - `colors` IdentifiableColorDto[], required
          - `id` string, uuid, required: A valid GUID
          - `color` string, required: A valid hex color string (e.g., #FFF, #FFFFFF, #FFFFFFFF)
        - `blendShapes` BlendShapeDto[], required
          - `path` string, nullable
          - `property` string, required
          - `value` number, float, required
    - `idles` IdleDto[], required
      - `id` string, nullable
      - `animationId` string, required
      - `startTime` number, double, required
      - `endTime` number, double, required
      - `startPhase01` number, double, nullable
      - `lookDirectionId` string, nullable
      - `lookDirectionAmount` number, double, required
      - `lookDirectionCharacterId` string, nullable
      - `lookDirection` LookDirectionDto
        - `id` string, nullable
        - `amount` number, double, nullable
        - `horizontal` number, double, nullable
        - `vertical` number, double, nullable
        - `characterId` string, nullable
      - `emotionId` string, nullable
      - `propSettings` PropSettingsDto
        - `id` string, uuid, required: A valid GUID
        - `colors` IdentifiableColorDto[], required
          - `id` string, uuid, required: A valid GUID
          - `color` string, required: A valid hex color string (e.g., #FFF, #FFFFFF, #FFFFFFFF)
        - `blendShapes` BlendShapeDto[], required
          - `path` string, nullable
          - `property` string, required
          - `value` number, float, required
  - `edges` EdgeDto[], required
    - `id` string, required
    - `simulationId` string, required
    - `source` string, required
    - `target` string, required
    - `sourceHandle` 'default' | 'pass' | 'fail'
    - `transition` EdgeTransitionDto
      - `type` 'smooth' | 'instant', required
      - `duration` integer, required
  - `publicId` string, required
  - `skillExplorerEnabled` boolean, required
  - `skills` SkillDto[], required
    - `id` string, uuid, nullable: A valid GUID
    - `name` string, required
    - `showEffect` boolean, required
    - `feedbacks` FeedbackDto[], required
      - `index` string, required
      - `value` string, required
      - `range` RangeDto, required
        - `minValue` integer, required
        - `maxValue` integer, required
  - `createdBy` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `gradient` string, required
  - `characters` SimulationCharacterDto[], required
    - `id` string, required
    - `selectedVoiceName` string, required
    - `characterSpot` integer, nullable
    - `name` string, required
    - `image` string, required
    - `icon` string, required
    - `role` string, required
    - `desiredOutcomeFromConversation` string, nullable
    - `actsLike` string, nullable
    - `isPlayer` boolean, nullable
    - `isChild` boolean, required
    - `gender` 'Female' | 'Male', required
    - `availableSpeakingStyles` SpeakingStyleDto[], required
      - `value` string, required
      - `displayName` string, required
      - `iconUrl` string, required
    - `voiceInfo` VoiceDto, required
      - `displayName` string, required
      - `shortName` string, required
      - `locale` string, required
      - `gender` 'Female' | 'Male', required
      - `sampleAudioUrl` string, required
      - `wordsPerMinute` integer, required
      - `speakingStyles` SpeakingStyle[], required
        - `value` string, required
        - `displayName` string, required
        - `iconUrl` string, required
      - `provider` 'AzureCognitiveServices' | 'ElevenLabs', required
      - `supportsAudioTags` boolean, required
      - `fileFormat` 'Wav' | 'Aac' | 'Mp3', required
    - `character` CharacterDto, required
      - `id` string, required
      - `name` string, required
      - `image` string, required
      - `icon` string, required
      - `gender` 'Female' | 'Male', required
      - `isChild` boolean, required
      - `eyeColor` ColorDto, required
        - `r` number, float, nullable
        - `g` number, float, nullable
        - `b` number, float, nullable
        - `brightness` number, float, nullable
      - `skinColor` ColorDto, required
        - `r` number, float, nullable
        - `g` number, float, nullable
        - `b` number, float, nullable
        - `brightness` number, float, nullable
      - `customSkinTexture` string, uuid, nullable: A valid GUID
      - `blendShape` BlendShapeDto[], required
        - `path` string, nullable
        - `property` string, required
        - `value` number, float, required
      - `clothing` ClothingDto[], required
        - `guid` string, required
        - `materials` MaterialDto[], required
          - `texture` integer, required
          - `color` ColorDto, required
            - `r` number, float, nullable
            - `g` number, float, nullable
            - `b` number, float, nullable
            - `brightness` number, float, nullable
          - `customTextureGuid` string, uuid, nullable: A valid GUID
          - `textureGuid` string, uuid, nullable: A valid GUID
          - `materialPath` string, nullable
          - `customTextureUV` integer, nullable
        - `variant` integer, required
        - `materialOverrides` MaterialOverrideDto[], required
          - `id` string, uuid, required: A valid GUID
          - `renderer` string, required
          - `materialIndex` string, required
        - `serializedMaterials` SerializedMaterialDto[], required
          - `id` string, uuid, required: A valid GUID
          - `materialName` string, required
          - `shaderName` string, required
          - `renderQueue` integer, nullable
          - `keywords` string[], nullable
          - `properties` PropertyDto[], nullable
            - `key` string, required
            - `value` PropertyValueDto, required
              - …
      - `skinTexture` integer, nullable
      - `isGlobal` boolean, required
      - `skinTextureGuid` string, uuid, nullable: A valid GUID
      - `browDescriptor` BrowDescriptorDto
        - `browColor` ColorDto
          - `r` number, float, nullable
          - `g` number, float, nullable
          - `b` number, float, nullable
          - `brightness` number, float, nullable
        - `browTextureGuid` string, uuid, nullable: A valid GUID
      - `folderPath` string, nullable
      - `isOneModel` boolean, required
      - `materialOverrides` MaterialOverrideDto[], required
        - `id` string, uuid, required: A valid GUID
        - `renderer` string, required
        - `materialIndex` string, required
      - `serializedMaterials` SerializedMaterialDto[], required
        - `id` string, uuid, required: A valid GUID
        - `materialName` string, required
        - `shaderName` string, required
        - `renderQueue` integer, nullable
        - `keywords` string[], nullable
        - `properties` PropertyDto[], nullable
          - `key` string, required
          - `value` PropertyValueDto, required
            - `type` 'Int' | 'Float' | 'Bool' | 'Range' | 'Color' | 'Vector4' | 'Vector3' | 'Vector2' | 'Texture', required
      - `definitionId` string, uuid, nullable: A valid GUID
  - `scenes` SceneDto[], required
    - `id` string, required
    - `guid` string, required
    - `name` string, required
    - `timeOfDay` number, float, required
    - `indoorLighting` ColorDto, required
      - `r` number, float, nullable
      - `g` number, float, nullable
      - `b` number, float, nullable
      - `brightness` number, float, nullable
    - `ambientSound` string, required
    - `ambienceVolume` number, float, required
    - `background` BackgroundDto, required
      - `originalImageUrl` string, required
      - `thumbnailImageUrl` string, nullable
      - `desktopImageUrl` string, nullable
      - `mobileImageUrl` string, nullable
      - `mediaReference` MediaReferenceDto, required
        - `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
      - `margin` MarginDto, required
        - `top` number, float, nullable
        - `right` number, float, nullable
        - `bottom` number, float, nullable
        - `left` number, float, nullable
    - `image` string, required
    - `sceneBackground` string, required
    - `sceneCrop` MarginDto, required
      - `top` number, float, nullable
      - `right` number, float, nullable
      - `bottom` number, float, nullable
      - `left` number, float, nullable
    - `title` string, required
    - `characters` SceneCharacterDto[], required
      - `placeholder` string, required
      - `position` Position2dDto, required
        - `x` number, double, required
        - `y` number, double, required
      - `voice` string, required
    - `characterSpots` integer, required
    - `tags` string[], required
    - `hidden` boolean, nullable
    - `isDeleted` boolean, nullable
    - `locked` boolean, nullable
    - `global` boolean, nullable
  - `locations` LocationDto[], required
    - `id` string, required
    - `guid` string, required
    - `name` string, required
    - `timeOfDay` number, float, required
    - `indoorLighting` ColorDto, required
      - `r` number, float, nullable
      - `g` number, float, nullable
      - `b` number, float, nullable
      - `brightness` number, float, nullable
    - `ambientSound` string, required
    - `ambienceVolume` number, float, required
    - `background` BackgroundDto, required
      - `originalImageUrl` string, required
      - `thumbnailImageUrl` string, nullable
      - `desktopImageUrl` string, nullable
      - `mobileImageUrl` string, nullable
      - `mediaReference` MediaReferenceDto, required
        - `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
      - `margin` MarginDto, required
        - `top` number, float, nullable
        - `right` number, float, nullable
        - `bottom` number, float, nullable
        - `left` number, float, nullable
    - `image` string, required
    - `sceneBackground` string, required
    - `sceneCrop` MarginDto, required
      - `top` number, float, nullable
      - `right` number, float, nullable
      - `bottom` number, float, nullable
      - `left` number, float, nullable
    - `title` string, required
    - `tags` string[], required
    - `hidden` boolean, nullable
    - `isDeleted` boolean, nullable
    - `locked` boolean, nullable
    - `global` boolean, nullable
  - `startNodeId` string, required
  - `selectedVoiceName` string, required
  - `voiceover` VoiceOverDto, required
    - `enabled` boolean, required
    - `selectedVoiceName` string, required
    - `gender` 'Female' | 'Male', required
    - `voiceInfo` VoiceDto
      - `displayName` string, required
      - `shortName` string, required
      - `locale` string, required
      - `gender` 'Female' | 'Male', required
      - `sampleAudioUrl` string, required
      - `wordsPerMinute` integer, required
      - `speakingStyles` SpeakingStyle[], required
        - `value` string, required
        - `displayName` string, required
        - `iconUrl` string, required
      - `provider` 'AzureCognitiveServices' | 'ElevenLabs', required
      - `supportsAudioTags` boolean, required
      - `fileFormat` 'Wav' | 'Aac' | 'Mp3', required
  - `plays` integer, required
  - `completions` integer, required
  - `sharedViaIntegration` 'None' | 'Motimate' | 'CustomExperienceApi' | 'LearningCenter', required
  - `protection` SimulationProtectionDto
    - `domains` string[], nullable
    - `password` string, nullable
    - `type` 'None' | 'Domain' | 'Password'
  - `storyType` string, nullable
  - `storyDescription` string, nullable
  - `folderId` string, required
  - `muteAmbienceSounds` boolean, required
  - `lockInfo` SimulationLockDto
    - `locked` boolean, required
    - `lockedBy` string, nullable
    - `reason` LockReasonDto
      - `reason` 'Editing' | 'InTranslation'
      - `description` string, nullable
  - `folderLockInfo` FolderLockDto
    - `locked` boolean, required
    - `inherited` boolean, required
    - `lockedBy` string, required
    - `lockedFolderId` string, uuid, required: A valid GUID
    - `lockedFolderName` string, required
    - `canBypass` boolean, required
  - `playSettings` SimulationPlaySettingsDto
    - `playMobileInBrowser` boolean, required
    - `hideCaptions` boolean, required
    - `allowNavigation` boolean, required
    - `allowForwardNavigationSkip` boolean, required
    - `defaultInputMode` 'Speaking' | 'Typing', required
  - `themeId` string, nullable
  - `menuPoints` MenuPointDto[], required
    - `id` string, uuid, required: A valid GUID
    - `nodeId` string, uuid, required: A valid GUID
    - `label` string, required
    - `index` integer, required
    - `locked` boolean, required

---

[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)
