---
title: "POST /api/stories/{simulationId}/cast/{characterId}/add"
method: POST
path: "/api/stories/{simulationId}/cast/{characterId}/add"
tags: ["Cast"]
---

# POST /api/stories/{simulationId}/cast/{characterId}/add

`POST /api/stories/{simulationId}/cast/{characterId}/add`

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

## Path parameters

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

## Request body

- AddCastCharacterDto
  - `name` string, required
  - `selectedVoiceName` string, required
  - `actsLike` string, required

## Response `200`

OK

- AddCharacterToCastResultDto[]
  - `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
  - `newTimelines` 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

---

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