Bluejay Digital Humans API

The Digital Humans API from Bluejay — 8 operation(s) for digital humans.

OpenAPI Specification

bluejay-digital-humans-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bluejay Agents Digital Humans API
  description: Bluejay API
  version: 0.1.0
servers:
- url: https://api.getbluejay.ai
  description: Production server
security:
- apiKeyAuth: []
tags:
- name: Digital Humans
paths:
  /v1/create-digital-human:
    post:
      tags:
      - Digital Humans
      summary: Create Digital Human
      description: Create a new digital human.
      operationId: create_digital_human_v1_create_digital_human_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDigitalHumanRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__models__digital_humans__digital_human_response__DigitalHumanResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/digital-human/{digital_human_id}:
    get:
      tags:
      - Digital Humans
      summary: Get Digital Human
      description: Get a digital human by ID.
      operationId: get_digital_human_v1_digital_human__digital_human_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: digital_human_id
        in: path
        required: true
        schema:
          type: integer
          title: Digital Human Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__models__digital_humans__digital_human_response__DigitalHumanResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Digital Humans
      summary: Delete Digital Human
      description: Delete a digital human by ID.
      operationId: delete_digital_human_v1_digital_human__digital_human_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: digital_human_id
        in: path
        required: true
        schema:
          type: integer
          title: Digital Human Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalHumanResponseData'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/digital-humans-by-simulation/{simulation_id}:
    get:
      tags:
      - Digital Humans
      summary: Get Digital Humans By Simulation
      description: Get digital humans by simulation ID.
      operationId: get_digital_humans_by_simulation_v1_digital_humans_by_simulation__simulation_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: simulation_id
        in: path
        required: true
        schema:
          type: integer
          title: Simulation Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalHumansListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/update-digital-human/{digital_human_id}:
    put:
      tags:
      - Digital Humans
      summary: Update Digital Human
      description: Update a digital human by ID.
      operationId: update_digital_human_v1_update_digital_human__digital_human_id__put
      security:
      - HTTPBearer: []
      parameters:
      - name: digital_human_id
        in: path
        required: true
        schema:
          type: integer
          title: Digital Human Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDigitalHumanRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__models__digital_humans__digital_human_response__DigitalHumanResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/generate-objectives:
    post:
      tags:
      - Digital Humans
      summary: Generate Objectives Endpoint
      description: Generate objectives for a test case from its intent.
      operationId: generate_objectives_endpoint_v1_generate_objectives_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateObjectivesRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateObjectivesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/generate-intent-summary:
    post:
      tags:
      - Digital Humans
      summary: Generate Intent Summary Endpoint
      description: Generate intent summary for a test case (only if intent exceeds character limit).
      operationId: generate_intent_summary_endpoint_v1_generate_intent_summary_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateIntentSummaryRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateIntentSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/generate-prompt-summary:
    post:
      tags:
      - Digital Humans
      summary: Generate Prompt Summary Endpoint
      description: Generate prompt summary for a prompt (only if prompt exceeds character limit).
      operationId: generate_prompt_summary_endpoint_v1_generate_prompt_summary_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratePromptSummaryRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneratePromptSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/generate-formatted-transcript:
    post:
      tags:
      - Digital Humans
      summary: Generate Formatted Transcript Endpoint
      description: Take a raw transcript and return the structured transcript, derived utterances, and speaks_first.
      operationId: generate_formatted_transcript_endpoint_v1_generate_formatted_transcript_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateFormattedTranscriptRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateFormattedTranscriptResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    VoiceSpeedType:
      type: string
      enum:
      - slowest
      - slow
      - normal
      - fast
      - fastest
      title: VoiceSpeedType
      description: Enum for voice speed options.
    GenderType:
      type: string
      enum:
      - male
      - female
      title: GenderType
      description: Enum for gender options.
    src__models__digital_humans__digital_human_response__DigitalHumanResponse:
      properties:
        digital_human:
          $ref: '#/components/schemas/DigitalHumanResponseData'
          description: The digital human data
        simulation_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Simulation Ids
          description: List of simulation IDs associated with this digital human
        simulation_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Simulation Id
          description: ID of the associated simulation. Use simulation_ids instead.
          deprecated: true
      type: object
      required:
      - digital_human
      title: DigitalHumanResponse
      description: Response model for digital human operations with clear separation of digital human data and simulation context.
    DigitalHumanResponseData:
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Id
          description: Unique identifier for the digital human
        intent:
          type: string
          title: Intent
          description: Description of the digital human
        success_criteria:
          type: string
          title: Success Criteria
          description: Success criteria for the digital human
        tag:
          anyOf:
          - type: string
          - type: 'null'
          title: Tag
          description: Tag for categorizing the digital human
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Name of the digital human
        language:
          anyOf:
          - $ref: '#/components/schemas/LanguageType'
          - type: 'null'
          description: Language of the digital human
        accent:
          anyOf:
          - $ref: '#/components/schemas/AccentType'
          - type: 'null'
          description: Accent of the digital human
        gender:
          anyOf:
          - $ref: '#/components/schemas/GenderType'
          - type: 'null'
          description: Gender of the digital human
        background_noise:
          anyOf:
          - type: string
          - type: 'null'
          title: Background Noise
          description: Type of background noise
        voice_speed:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Speed
          description: Speed of the digital human's voice
        audio_quality:
          anyOf:
          - type: string
          - type: 'null'
          title: Audio Quality
          description: Audio quality of the digital human's voice
        fluency:
          anyOf:
          - type: string
          - type: 'null'
          title: Fluency
          description: Fluency level of the digital human's speech
        verbosity:
          anyOf:
          - type: string
          - type: 'null'
          title: Verbosity
          description: Verbosity level of the digital human's responses
        phone_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Phone Number
          description: Phone number for the digital human
        outbound_text_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Outbound Text Number
          description: Outbound text number
        websocket_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Websocket Url
          description: WebSocket URL for real-time communication
        background_noise_volume:
          anyOf:
          - type: number
          - type: 'null'
          title: Background Noise Volume
          description: Volume of background noise
        expected_tool_calls:
          anyOf:
          - items:
              $ref: '#/components/schemas/ExpectedToolCall'
            type: array
          - type: 'null'
          title: Expected Tool Calls
          description: Expected tool calls
        allow_end_call_tool:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Allow End Call Tool
          description: Allow the digital human to end the tool call
          default: true
        endpointing_delay:
          anyOf:
          - type: number
          - type: 'null'
          title: Endpointing Delay
          description: Delay for endpointing
        creativity:
          anyOf:
          - type: number
          - type: 'null'
          title: Creativity
          description: Temperature setting
        hangup_phrases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Hangup Phrases
          description: Phrases that trigger hangup
        hangup_instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Hangup Instructions
          description: Freeform instructions for how/when to hang up
        allow_silence_tool:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Allow Silence Tool
          description: Allow the digital human to use the silence tool
          default: false
        silence_tool_instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Silence Tool Instructions
          description: Tool instructions; "default" for built-in behavior or a custom string.
          default: default
        silence_timeout:
          anyOf:
          - type: integer
          - type: 'null'
          title: Silence Timeout
          description: Silence timeout in seconds
        role_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Role Description
          description: Description of the role for the digital human
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
          description: When this digital human was created
        traits:
          anyOf:
          - items:
              $ref: '#/components/schemas/Trait'
            type: array
          - type: 'null'
          title: Traits
          description: List of traits associated with this digital human
        interruptions:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Interruptions
          description: Interruption configuration for the digital human
        scripted_responses:
          anyOf:
          - items:
              $ref: '#/components/schemas/ScriptedResponse'
            type: array
          - type: 'null'
          title: Scripted Responses
          description: List of scripted responses for the digital human
        speaks_first_config:
          anyOf:
          - $ref: '#/components/schemas/SpeaksFirstConfig'
          - type: 'null'
          description: 'Speaks first config: speaks_first, mode (custom|ai_generated), message (when custom)'
        original_transcript:
          anyOf:
          - type: string
          - type: 'null'
          title: Original Transcript
          description: The original transcript text attached to this digital human
        formatted_transcript:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          title: Formatted Transcript
          description: 'Structured transcript as [{"role": "USER"|"AGENT", "utterance": "..."}]'
        enriched_playback:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Enriched Playback
          description: 'Optional enriched playback stored as JSONB: a list of turn objects'
        livekit_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Livekit Metadata
          description: LiveKit-specific configuration and metadata for this digital human
      type: object
      required:
      - intent
      - success_criteria
      title: DigitalHumanResponseData
      description: Response model for digital human data.
    DigitalHumanRequestData:
      properties:
        intent:
          type: string
          title: Intent
          description: Description of the digital human. Leave empty when enriched_playback is set; the agent uses playback instead.
          default: ''
        success_criteria:
          type: string
          title: Success Criteria
          description: Success criteria. Leave empty when enriched_playback is set; the agent uses playback instead.
          default: ''
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Name of the digital human
        tag:
          anyOf:
          - type: string
          - type: 'null'
          title: Tag
          description: Tag for categorizing the digital human
        language:
          anyOf:
          - $ref: '#/components/schemas/LanguageType'
          - type: 'null'
          description: Language the digital human speaks
          default: en
        accent:
          anyOf:
          - $ref: '#/components/schemas/AccentType'
          - type: 'null'
          description: Accent of the digital human
        gender:
          anyOf:
          - $ref: '#/components/schemas/GenderType'
          - type: 'null'
          description: Gender of the digital human
        background_noise:
          anyOf:
          - $ref: '#/components/schemas/BackgroundNoiseType'
          - type: 'null'
          description: Type of background noise
          default: none
        voice_speed:
          anyOf:
          - $ref: '#/components/schemas/VoiceSpeedType'
          - type: 'null'
          description: Speed of the digital human's voice
          default: normal
        audio_quality:
          anyOf:
          - $ref: '#/components/schemas/AudioQualityType'
          - type: 'null'
          description: Audio quality of the digital human's voice
          default: high
        fluency:
          anyOf:
          - $ref: '#/components/schemas/FluencyType'
          - type: 'null'
          description: Fluency level of the digital human's speech
          default: native
        verbosity:
          anyOf:
          - $ref: '#/components/schemas/VerbosityType'
          - type: 'null'
          description: Verbosity level of the digital human's responses
          default: medium
        phone_number:
          type: string
          title: Phone Number
          description: Phone number for the digital human
        outbound_text_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Outbound Text Number
          description: Outbound text number
        background_noise_volume:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Background Noise Volume
          description: Volume of background noise
          default: 0.8
        expected_tool_calls:
          anyOf:
          - items:
              $ref: '#/components/schemas/ExpectedToolCall'
            type: array
          - type: 'null'
          title: Expected Tool Calls
          description: Expected tool call outputs
        allow_end_call_tool:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Allow End Call Tool
          description: Allow the digital human to end the tool call
          default: true
        endpointing_delay:
          anyOf:
          - type: number
          - type: 'null'
          title: Endpointing Delay
          description: Delay for endpointing
          default: 1.5
        creativity:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: 0.0
          - type: 'null'
          title: Creativity
          description: How creative the digital human is (Model temperature)
          default: 0.7
        hangup_phrases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Hangup Phrases
          description: Phrases that trigger hangup
        hangup_instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Hangup Instructions
          description: Freeform instructions for how/when to hang up
        allow_silence_tool:
          type: boolean
          title: Allow Silence Tool
          description: Allow the digital human to use the silence tool
          default: false
        silence_tool_instructions:
          type: string
          title: Silence Tool Instructions
          description: Tool instructions; use "default" for built-in behavior or custom text
          default: default
        silence_timeout:
          anyOf:
          - type: integer
            minimum: 15.0
          - type: 'null'
          title: Silence Timeout
          description: Silence timeout in seconds
        role_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Role Description
          description: Description of the role for the digital human
        traits:
          anyOf:
          - items:
              $ref: '#/components/schemas/Trait'
            type: array
          - type: 'null'
          title: Traits
          description: List of traits associated with this digital human
        interruptions:
          anyOf:
          - $ref: '#/components/schemas/SimpleInterruptionConfig'
          - $ref: '#/components/schemas/KeywordsInterruptionConfig'
          - $ref: '#/components/schemas/ContextualInterruptionConfig'
          - type: 'null'
          title: Interruptions
          description: Interruption configuration for the digital human
        scripted_responses:
          anyOf:
          - items:
              $ref: '#/components/schemas/ScriptedResponse'
            type: array
          - type: 'null'
          title: Scripted Responses
          description: List of scripted responses for the digital human
        speaks_first_config:
          anyOf:
          - $ref: '#/components/schemas/SpeaksFirstConfig'
          - type: 'null'
          description: Speaks first configuration for the digital human
        original_transcript:
          anyOf:
          - type: string
          - type: 'null'
          title: Original Transcript
          description: Original transcript text to replay. When provided (and formatted_transcript not provided), utterances are extracted via LLM and used as the intent.
        formatted_transcript:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          title: Formatted Transcript
          description: Pre-computed structured transcript as [{role, utterance}]. When provided, skips the format-transcript LLM call.
        enriched_playback:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Enriched Playback
          description: 'Optional enriched playback stored as JSONB: a list of turn objects'
        always_on_mode:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Always On Mode
          description: Whether always-on mode is enabled
          default: false
        always_on_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Always On Active
          description: When true, this DH actively receives calls on phone_number. Defaults to True when phone_number is set.
        num_runs:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Num Runs
          description: Number of times this digital human is run per simulation run (run count).
          default: 1
        livekit_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Livekit Metadata
          description: LiveKit-specific configuration and metadata for this digital human
      type: object
      required:
      - phone_number
      title: DigitalHumanRequestData
      description: Digital human data model for requests (without id and created_at).
    DigitalHumansListResponse:
      properties:
        digital_humans:
          items:
            $ref: '#/components/schemas/DigitalHumanResponseData'
          type: array
          title: Digital Humans
          description: List of digital humans
        total:
          type: integer
          title: Total
          description: Total number of digital humans
        simulation_id:
          type: integer
          title: Simulation Id
          description: ID of the simulation
      type: object
      required:
      - digital_humans
      - total
      - simulation_id
      title: DigitalHumansListResponse
      description: Response model for listing digital humans by simulation.
    OccurrenceMode:
      type: string
      enum:
      - always
      - first_n
      title: OccurrenceMode
      description: Enum for scripted response occurrence modes.
    KeywordResponse:
      properties:
        keyword:
          type: string
          title: Keyword
          description: The keyword to listen for and interrupt on
        response:
          type: string
          title: Response
          description: Response to say when keyword is detected
        probability:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Probability
          description: Probability of responding (0.0-1.0) - defaults to 1.0
          default: 1.0
      type: object
      required:
      - keyword
      - response
      title: KeywordResponse
      description: Model for a keyword response configuration.
    GenerateIntentSummaryRequest:
      properties:
        test_case_id:
          type: integer
          title: Test Case Id
          description: ID of the test case
      type: object
      required:
      - test_case_id
      title: GenerateIntentSummaryRequest
      description: Request model for generating intent summary.
    TraitDataType:
      type: string
      enum:
      - BOOLEAN
      - STRING
      - DATE
      - NUMBER
      title: TraitDataType
      description: Enum for trait data types.
    SpeaksFirstConfig:
      properties:
        speaks_first:
          type: boolean
          title: Speaks First
          description: Whether the digital human speaks first in the call
        mode:
          anyOf:
          - type: string
            enum:
            - custom
            - ai_generated
          - type: 'null'
          title: Mode
          description: 'When speaks_first is true: ''custom'' (user-provided message) or ''ai_generated'' (no message)'
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
          description: When mode is 'custom', the message the digital human says first
      type: object
      required:
      - speaks_first
      title: SpeaksFirstConfig
      description: 'Configuration for whether the digital human speaks first and how.

        Stored as JSONB in Supabase (speaks_first_config).'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    LanguageType:
      type: string
      enum:
      - en
      - es
      - pt
      - ja
      - tr
      - hi
      - ar
      - ru
      - zh
      - ml
      - fr
      - yue
      - vi
      - de
      title: LanguageType
      description: Enum for supported language types.
    GeneratePromptSummaryRequest:
      properties:
        prompt_id:
          type: string
          title: Prompt Id
          description: ID of the prompt (UUID)
      type: object
      required:
      - prompt_id
      title: GeneratePromptSummaryRequest
      description: Request model for generating prompt summary.
    VerbosityType:
      type: string
      enum:
      - low
      - medium
      - high
      title: VerbosityType
      description: Enum for verbosity level options.
    ScriptedResponse:
      properties:
        match_type:
          $ref: '#/components/schemas/MatchType'
          description: 'Type of match: ''exact'' or ''context'''
        match_phrase:
          type: string
          title: Match Phrase
          description: The phrase to match against
        response_type:
          $ref: '#/components/schemas/src__models__digital_humans__enums__ResponseType'
          description: 'Type of response: ''phrase'', ''silence'', or ''dtmf'''
        response_value:
          anyOf:
          - type: string
          - type: 'null'
          title: Response Value
          description: The response text (required if response_type is 'phrase' or 'dtmf', optional for 'silence')
        occurrence_mode:
          $ref: '#/components/schemas/OccurrenceMode'
          description: 'When to apply: ''always'' or ''first_n'''
        occurrence_n:
          anyOf:
          - type: integer
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Occurrence N
          description: Number of times to apply (required if occurrence_mode is 'first_n', must be > 0)
        silence_duration:
          anyOf:
          - type: integer
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Silence Duration
          description: Duration in seconds for silence period (only used when response_type is

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bluejay/refs/heads/main/openapi/bluejay-digital-humans-api-openapi.yml