---
title: "Creates a new Node"
method: POST
path: "/api/v2/simulations/{simulationId}/nodes"
tags: ["NodeControllerV2"]
---

# Creates a new Node

`POST /api/v2/simulations/{simulationId}/nodes`

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

## Path parameters

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

## Request body

- CreateNodeDtoV2
  - `source` string, uuid, required: A valid GUID
  - `position` Position2dDto, required
    - `x` number, double, required
    - `y` number, double, required
  - `type` 'dialogue' | 'response' | 'poster' | 'event' | 'end' | 'open-response' | 'outcome' | 'no-match' | 'hotspot' | 'quiz' | 'page' | 'code', required
  - `nodeId` string, uuid, nullable: A valid GUID
  - `edgeId` string, uuid, nullable: A valid GUID
  - `label` string, nullable

## Response `200`

OK

- CreateNodeResultDto
  - `node` union, required
    - BaseNodeDto
      - `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
    - NodeDto
      - `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
              - …
            - `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
              - …
            - `scale` SingleSingleTuple, required
              - …
            - `rotation` number, float, required
            - `opacity` number, float, required
            - `mediaReferenceId` string, uuid, required: A valid GUID
            - `mediaReference` MediaReferenceDto
              - …
          - `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
              - …
            - `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
              - …
            - `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
      - `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
              - …
            - `folderId` string, uuid, nullable: A valid GUID
          - `transformation` ImageTransformationDto, required
            - `imageTranslation` Position2dDto, required
              - …
            - `imageScale` ImageScaleDto, required
              - …
            - `rotation` number, double, required
            - `maskDimensions` MaskDimensionsDto, required
              - …
        - `navigationTrigger` TriggerDto, required
          - `type` 'Button' | 'Click', required
          - `nodeContinueButton` NodeContinueButtonDto, required
            - `text` string, required
            - `buttonColor` ColorValue, required
              - …
            - `textColor` ColorValue, 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
              - …
            - `textToSpeechLipSyncData` AudioLipSyncDataDto
              - …
            - `voiceMimicLipSyncData` AudioLipSyncDataDto
              - …
            - `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
              - …
          - `columns` SectionColumnDto[], required
            - `id` string, required
            - `width` number, double, required
            - `padding` integer, required
            - `gap` integer, required
            - `blocks` PageBlockDto[], required
              - …
      - `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
    - PageNodeDto
      - `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
      - `sceneBackground` string, required
      - `pages` PageDto[], required
        - `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
              - …
          - `columns` SectionColumnDto[], required
            - `id` string, required
            - `width` number, double, required
            - `padding` integer, required
            - `gap` integer, required
            - `blocks` PageBlockDto[], required
              - …
    - CodeNodeDto
      - `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
      - `htmlUrl` string, nullable
      - `fileName` string, nullable
      - `images` CodeNodeImageDto[], required
        - `name` string, required
        - `url` string, required
        - `contentType` string, required
        - `sizeBytes` integer, required
        - `mediaReferenceId` string, nullable
      - `continueButton` NodeContinueButtonDto
        - `text` string, required
        - `buttonColor` ColorValue, required
          - `value` string, required
        - `textColor` ColorValue, required
          - `value` string, 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
  - `edge` 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

---

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