Sarj AI Developer API Batch API

The batch API from Sarj AI Developer API — 9 operation(s) for batch.

OpenAPI Specification

sarj-ai-developer-api-batch-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sarj.ai Voice Batch API
  version: 1.0.0
tags:
- name: batch
paths:
  /v1/beta/calls/batch:
    post:
      tags:
      - batch
      summary: Create Batch
      operationId: batchCreateBatch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBatchInput'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/upload-url:
    post:
      tags:
      - batch
      summary: Generate Upload Url
      operationId: batchGenerateUploadUrl
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreSignedUrlRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreSignedUrlResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}:
    get:
      tags:
      - batch
      summary: Get Batch Detail
      operationId: batchGetBatchDetail
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}/calls:
    get:
      tags:
      - batch
      summary: Get Batch Calls
      operationId: batchGetBatchCalls
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 10
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBatchCallsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch-call/{batch_call_id}/retry:
    get:
      tags:
      - batch
      summary: Retry Call
      operationId: batchRetryCall
      parameters:
      - name: batch_call_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Call Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}/retry:
    post:
      tags:
      - batch
      summary: Retry Batch
      operationId: batchRetryBatch
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}/status:
    put:
      tags:
      - batch
      summary: Set Batch Status
      operationId: batchSetBatchStatus
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetBatchStatusInput'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}/settings:
    patch:
      tags:
      - batch
      summary: Update Batch Settings
      operationId: batchUpdateBatchSettings
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBatchSettingsInput'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/beta/calls/batch/{batch_id}/export-reports:
    post:
      tags:
      - batch
      summary: Export Batch Reports
      operationId: batchExportBatchReports
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          title: Batch Id
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ExportBatchReportsInput'
              - type: 'null'
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    OpenAITTSModels:
      type: string
      enum:
      - gpt-4o-mini-tts
      - tts-1
      - tts-1-hd
      title: OpenAITTSModels
    HamsaTTSDialect:
      type: string
      enum:
      - pls
      - egy
      - syr
      - irq
      - jor
      - leb
      - ksa
      - uae
      - bah
      - qat
      - msa
      title: HamsaTTSDialect
    ModelConfig:
      properties:
        stt:
          anyOf:
          - $ref: '#/components/schemas/GoogleSTTSettings'
          - $ref: '#/components/schemas/AzureSTTSettings'
          - $ref: '#/components/schemas/AWSSTTSettings'
          - $ref: '#/components/schemas/GroqSTTSettings'
          - $ref: '#/components/schemas/OpenAISTTSettings'
          - $ref: '#/components/schemas/ElevenLabsSTTSettings'
          - $ref: '#/components/schemas/SpeechmaticsSTTSettings'
          - $ref: '#/components/schemas/HamsaSTTSettings'
          - $ref: '#/components/schemas/SarjGroqSTTSettings'
          - $ref: '#/components/schemas/SarjCustomSTTSettings'
          - $ref: '#/components/schemas/DeepgramSTTSettings'
          title: Stt
        tts:
          anyOf:
          - $ref: '#/components/schemas/ElevenLabsTTSSettings'
          - $ref: '#/components/schemas/AzureTTSSettings'
          - $ref: '#/components/schemas/OpenAITTSSettings'
          - $ref: '#/components/schemas/AWSTTSSettings'
          - $ref: '#/components/schemas/GroqTTSSettings'
          - $ref: '#/components/schemas/HamsaTTSSettings'
          - $ref: '#/components/schemas/CartesiaTTSSettings'
          - $ref: '#/components/schemas/DeepgramTTSSettings'
          - $ref: '#/components/schemas/SarjF5TTSSettings'
          - $ref: '#/components/schemas/SarjOmniTTSSettings'
          title: Tts
        llm:
          anyOf:
          - $ref: '#/components/schemas/OpenAILLMSettings'
          - $ref: '#/components/schemas/GeminiLLMSettings'
          - $ref: '#/components/schemas/GroqLLMSettings'
          - $ref: '#/components/schemas/AzureOpenAILLMSettings'
          - $ref: '#/components/schemas/CerebrasLLMSettings'
          title: Llm
        voice_details:
          anyOf:
          - $ref: '#/components/schemas/TTSVoice'
          - type: 'null'
        voice_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Id
      type: object
      required:
      - stt
      - tts
      - llm
      - voice_details
      title: ModelConfig
    EnhancedTranscriptionMessage:
      properties:
        type:
          type: string
          const: enhanced_transcription
          title: Type
          default: enhanced_transcription
        call_id:
          type: string
          title: Call Id
      type: object
      required:
      - call_id
      title: EnhancedTranscriptionMessage
    SarjF5TTSSettings:
      properties:
        provider:
          type: string
          const: sarj_f5
          title: Provider
        voice:
          $ref: '#/components/schemas/SarjF5TTSVoice'
          default: Male
      type: object
      required:
      - provider
      title: SarjF5TTSSettings
    DisableSTTFallback:
      properties:
        type:
          type: string
          const: disable
          title: Type
          default: disable
      type: object
      title: DisableSTTFallback
    DeleteOldTasksTickMessage:
      properties:
        type:
          type: string
          const: delete_old_tasks_tick
          title: Type
          default: delete_old_tasks_tick
        tick_id:
          type: string
          title: Tick Id
      type: object
      title: DeleteOldTasksTickMessage
    ZohoCallActivityMessage:
      properties:
        type:
          type: string
          const: zoho_call_activity
          title: Type
          default: zoho_call_activity
        call_id:
          type: string
          title: Call Id
        record_id:
          type: string
          title: Record Id
        module:
          $ref: '#/components/schemas/ZohoCRMModules'
          default: Leads
      type: object
      required:
      - call_id
      - record_id
      title: ZohoCallActivityMessage
    CallCreationSettings:
      properties:
        identity:
          type: string
          title: Identity
        language:
          $ref: '#/components/schemas/Language'
        scenario:
          $ref: '#/components/schemas/CustomScenario'
        callee:
          anyOf:
          - $ref: '#/components/schemas/CallSubject'
          - type: 'null'
        call_id:
          type: string
          title: Call Id
        origin:
          anyOf:
          - $ref: '#/components/schemas/ApiCall'
          - $ref: '#/components/schemas/SipCall'
          - type: 'null'
          title: Origin
        scenario_config:
          $ref: '#/components/schemas/Custom'
        interaction_type:
          $ref: '#/components/schemas/InteractionType'
          default: voice
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
        app_settings:
          anyOf:
          - $ref: '#/components/schemas/GlobalOverriddenSettings'
          - $ref: '#/components/schemas/GlobalDefaultSettings'
          title: App Settings
        organization_id:
          type: string
          title: Organization Id
        sip_account_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sip Account Id
      type: object
      required:
      - identity
      - language
      - scenario
      - call_id
      - scenario_config
      - app_settings
      - organization_id
      title: CallCreationSettings
    BackChannelConfig:
      properties:
        type:
          type: string
          const: freq
          title: Type
          default: freq
        value:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Value
          default: 0.6
        whitelist:
          items:
            type: string
          type: array
          title: Whitelist
      type: object
      title: BackChannelConfig
    Custom:
      properties:
        type:
          type: string
          const: custom
          title: Type
          default: custom
        scenario:
          $ref: '#/components/schemas/CustomScenario'
      type: object
      required:
      - scenario
      title: Custom
    Task:
      properties:
        id:
          type: string
          title: Id
        organization_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Organization Id
        user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: User Id
        call_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Call Id
        batch_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Batch Id
        type:
          $ref: '#/components/schemas/TaskType'
        status:
          $ref: '#/components/schemas/TaskStatus'
        status_changed_at:
          type: string
          format: date-time
          title: Status Changed At
        message:
          oneOf:
          - $ref: '#/components/schemas/EnhancedTranscriptionMessage'
          - $ref: '#/components/schemas/CallOutcomeMessage'
          - $ref: '#/components/schemas/ScenarioInsightAnalysisMessage'
          - $ref: '#/components/schemas/BatchReportGenerationMessage'
          - $ref: '#/components/schemas/CreateBatchCallsMessage'
          - $ref: '#/components/schemas/BatchCallsRetryMessage'
          - $ref: '#/components/schemas/StartBatchCallsTickMessage'
          - $ref: '#/components/schemas/DeleteOldTasksTickMessage'
          - $ref: '#/components/schemas/OutboundDispatchTickMessage'
          - $ref: '#/components/schemas/DeleteExpiredOrgDataTickMessage'
          - $ref: '#/components/schemas/WebhookNotificationMessage'
          - $ref: '#/components/schemas/ZohoCRMRecordUpdateMessage'
          - $ref: '#/components/schemas/ZohoCallActivityMessage'
          - $ref: '#/components/schemas/StaleCallCleanupMessage'
          - $ref: '#/components/schemas/CallQueuedHealthCheckMessage'
          - $ref: '#/components/schemas/CallInProgressHealthCheckMessage'
          - $ref: '#/components/schemas/CallRetryMessage'
          - $ref: '#/components/schemas/VoiceMigrationMessage'
          - $ref: '#/components/schemas/CallReportsEnqueueMessage'
          - $ref: '#/components/schemas/ScenarioGenerationMessage'
          - $ref: '#/components/schemas/ProcessMessagingMessage'
          - $ref: '#/components/schemas/CreateDefaultAgentsMessage'
          - $ref: '#/components/schemas/UpdateScenarioAgentMessage'
          - $ref: '#/components/schemas/SlackAlertMessage'
          - $ref: '#/components/schemas/ConversationExportMessage'
          - $ref: '#/components/schemas/DispatchOutboundCallMessage'
          - $ref: '#/components/schemas/NoOpMessage'
          title: Message
          discriminator:
            propertyName: type
            mapping:
              batch_calls_retry: '#/components/schemas/BatchCallsRetryMessage'
              batch_report_generation: '#/components/schemas/BatchReportGenerationMessage'
              call_in_progress_health_check: '#/components/schemas/CallInProgressHealthCheckMessage'
              call_outcome: '#/components/schemas/CallOutcomeMessage'
              call_queued_health_check: '#/components/schemas/CallQueuedHealthCheckMessage'
              call_reports_enqueue: '#/components/schemas/CallReportsEnqueueMessage'
              call_retry: '#/components/schemas/CallRetryMessage'
              conversation_export: '#/components/schemas/ConversationExportMessage'
              create_batch_calls: '#/components/schemas/CreateBatchCallsMessage'
              create_default_agents: '#/components/schemas/CreateDefaultAgentsMessage'
              delete_expired_org_data_tick: '#/components/schemas/DeleteExpiredOrgDataTickMessage'
              delete_old_tasks_tick: '#/components/schemas/DeleteOldTasksTickMessage'
              dispatch_outbound_call: '#/components/schemas/DispatchOutboundCallMessage'
              enhanced_transcription: '#/components/schemas/EnhancedTranscriptionMessage'
              no_op: '#/components/schemas/NoOpMessage'
              outbound_dispatch_tick: '#/components/schemas/OutboundDispatchTickMessage'
              process_messaging_message: '#/components/schemas/ProcessMessagingMessage'
              scenario_generation: '#/components/schemas/ScenarioGenerationMessage'
              scenario_insight_analysis: '#/components/schemas/ScenarioInsightAnalysisMessage'
              slack_alert: '#/components/schemas/SlackAlertMessage'
              stale_call_cleanup: '#/components/schemas/StaleCallCleanupMessage'
              start_batch_calls_tick: '#/components/schemas/StartBatchCallsTickMessage'
              update_scenario_agent: '#/components/schemas/UpdateScenarioAgentMessage'
              voice_migration: '#/components/schemas/VoiceMigrationMessage'
              webhook_notification: '#/components/schemas/WebhookNotificationMessage'
              zoho_call_activity: '#/components/schemas/ZohoCallActivityMessage'
              zoho_crm_record_update: '#/components/schemas/ZohoCRMRecordUpdateMessage'
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - type
      - status
      - status_changed_at
      - message
      - created_at
      - updated_at
      title: Task
    SlackAlertMessage:
      properties:
        type:
          type: string
          const: slack_alert
          title: Type
          default: slack_alert
        payload:
          $ref: '#/components/schemas/GenericSlackAlert'
      type: object
      required:
      - payload
      title: SlackAlertMessage
    NoOpMessage:
      properties:
        type:
          type: string
          const: no_op
          title: Type
          default: no_op
      type: object
      title: NoOpMessage
    SarjCustomSTTSettings:
      properties:
        provider:
          type: string
          const: sarj_custom
          title: Provider
      type: object
      required:
      - provider
      title: SarjCustomSTTSettings
    AWSTTSSettings:
      properties:
        provider:
          type: string
          const: aws
          title: Provider
        region:
          type: string
          enum:
          - eu-central-1
          - us-east-1
          title: Region
          default: eu-central-1
      type: object
      required:
      - provider
      title: AWSTTSSettings
    SarjEouTurnDetection:
      properties:
        type:
          type: string
          const: sarj_eou
          title: Type
          default: sarj_eou
        threshold:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Threshold
          default: 0.5
        prediction_timeout:
          type: string
          format: duration
          title: Prediction Timeout
          default: PT0.5S
        min_endpointing_delay:
          type: string
          format: duration
          title: Min Endpointing Delay
          default: PT0.5S
        max_endpointing_delay:
          type: string
          format: duration
          title: Max Endpointing Delay
          default: PT3S
        targeted_stt_providers:
          items:
            $ref: '#/components/schemas/STTProvider'
          type: array
          title: Targeted Stt Providers
      type: object
      title: SarjEouTurnDetection
    GlobalOverriddenSettings:
      properties:
        type:
          type: string
          const: override
          title: Type
          default: override
        settings:
          additionalProperties:
            $ref: '#/components/schemas/GlobalSettings'
          propertyNames:
            $ref: '#/components/schemas/Language'
          type: object
          title: Settings
      type: object
      required:
      - settings
      title: GlobalOverriddenSettings
    BatchStatus:
      type: string
      enum:
      - queued
      - running
      - stopped
      - done
      title: BatchStatus
    TTSVoice:
      properties:
        id:
          type: string
          title: Id
        display_name:
          type: string
          title: Display Name
        provider:
          type: string
          title: Provider
        language:
          $ref: '#/components/schemas/Language'
        gender:
          $ref: '#/components/schemas/Gender'
        tts_settings:
          anyOf:
          - $ref: '#/components/schemas/ElevenLabsTTSSettings'
          - $ref: '#/components/schemas/AzureTTSSettings'
          - $ref: '#/components/schemas/OpenAITTSSettings'
          - $ref: '#/components/schemas/AWSTTSSettings'
          - $ref: '#/components/schemas/GroqTTSSettings'
          - $ref: '#/components/schemas/HamsaTTSSettings'
          - $ref: '#/components/schemas/CartesiaTTSSettings'
          - $ref: '#/components/schemas/DeepgramTTSSettings'
          - $ref: '#/components/schemas/SarjF5TTSSettings'
          - $ref: '#/components/schemas/SarjOmniTTSSettings'
          title: Tts Settings
        is_active:
          type: boolean
          title: Is Active
          default: true
        vibe:
          type: string
          title: Vibe
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - display_name
      - provider
      - language
      - gender
      - tts_settings
      - vibe
      - created_at
      - updated_at
      title: TTSVoice
    StaleCallCleanupMessage:
      properties:
        type:
          type: string
          const: stale_call_cleanup
          title: Type
          default: stale_call_cleanup
      type: object
      title: StaleCallCleanupMessage
    OpenAILLMSettings:
      properties:
        provider:
          type: string
          const: openai
          title: Provider
        region:
          type: string
          const: default
          title: Region
          default: default
        model:
          $ref: '#/components/schemas/OpenAIModel'
      type: object
      required:
      - provider
      - model
      title: OpenAILLMSettings
    ApiCall:
      properties:
        type:
          type: string
          const: api
          title: Type
          default: api
        call_id:
          type: string
          title: Call Id
        identity:
          type: string
          title: Identity
      type: object
      required:
      - call_id
      - identity
      title: ApiCall
    CallReportsEnqueueMessage:
      properties:
        type:
          type: string
          const: call_reports_enqueue
          title: Type
          default: call_reports_enqueue
      type: object
      title: CallReportsEnqueueMessage
    CallInProgressHealthCheckMessage:
      properties:
        type:
          type: string
          const: call_in_progress_health_check
          title: Type
          default: call_in_progress_health_check
        call_id:
          type: string
          title: Call Id
      type: object
      required:
      - call_id
      title: CallInProgressHealthCheckMessage
    BackChannelMixConfig:
      properties:
        type:
          type: string
          const: mix
          title: Type
          default: mix
        value:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Value
          default: 0.6
        word_probability:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Word Probability
          default: 0.7
        whitelist:
          items:
            type: string
          type: array
          title: Whitelist
        sounds:
          items:
            $ref: '#/components/schemas/BackchannelAudioConfig'
          type: array
          minItems: 1
          title: Sounds
      type: object
      required:
      - sounds
      title: BackChannelMixConfig
    GeminiLLMSettings:
      properties:
        provider:
          type: string
          const: gemini
          title: Provider
        region:
          type: string
          enum:
          - us-central1
          - me-central2
          - us-east1
          - europe-west1
          - europe-west3
          title: Region
          default: europe-west3
        model:
          type: string
          enum:
          - flash
          - pro
          - flash-lite-3.1
          title: Model
          default: flash
      type: object
      required:
      - provider
      title: GeminiLLMSettings
    GroqSTTSettings:
      properties:
        provider:
          type: string
          const: groq
          title: Provider
        model:
          $ref: '#/components/schemas/GroqSTTModels'
      type: object
      required:
      - provider
      - model
      title: GroqSTTSettings
    OpenAISTTSettings:
      properties:
        provider:
          type: string
          const: openai
          title: Provider
        model:
          type: string
          enum:
          - gpt-4o-transcribe
          - gpt-4o-mini-transcribe
          title: Model
        region:
          type: string
          const: default
          title: Region
          default: default
      type: object
      required:
      - provider
      - model
      title: OpenAISTTSettings
    CallOutcomeMessage:
      properties:
        type:
          type: string
          const: call_outcome
          title: Type
          default: call_outcome
        call_id:
          type: string
          title: Call Id
        is_retry:
          type: boolean
          title: Is Retry
          default: false
      type: object
      required:
      - call_id
      title: CallOutcomeMessage
    CustomScenario:
      properties:
        type:
          type: string
          const: custom
          title: Type
        id:
          type: string
          title: Id
        variables:
          additionalProperties: true
          type: object
          title: Variables
          default: {}
        scenario_settings_override:
          anyOf:
          - $ref: '#/components/schemas/ScenarioSettingsOverride'
          - type: 'null'
      type: object
      required:
      - type
      - id
      title: CustomScenario
    ElevenLabsSTTModel:
      type: string
      enum:
      - scribe_v1
      - scribe_v2
      - scribe_v2_realtime
      title: ElevenLabsSTTModel
    BatchCall:
      properties:
        id:
          type: string
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        batch_id:
          type: string
          title: Batch Id
        latest_call_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Latest Call Id
        phone_number:
          type: string
          title: Phone Number
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        scenario_data:
          additionalProperties:
            type: string
          type: object
          title: Scenario Data
        attempt_number:
          type: integer
          minimum: 0.0
          title: Attempt Number
          default: 0
        status:
          $ref: '#/components/schemas/CallStatus'
        retry_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Retry At
        start_at:
          type: string
          format: date-time
          title: Start At
        settings:
          anyOf:
          - $ref: '#/components/schemas/BatchCallSettings'
          - type: 'null'
      type: object
      required:
      - id
      - created_at
      - updated_at
      - batch_id
      - phone_number
      - status
      - start_at
      title: BatchCall
    AWSSTTSettings:
      properties:
        provider:
          type: string
          const: aws
          title: Provider
        region:
          type: string
          enum:
          - eu-central-1
          - us-east-1
          title: Region
          default: eu-central-1
      type: object
      required:
      - provider
      title: AWSSTTSettings
    AzureSTTSettings:
      properties:
        provider:
          type: string
          const: azure
          title: Provider
        region:
          type: string
          enum:
          - eastus
          - germanywestcentral
          title: Region
          default: eastus
      type: object
      required:
      - provider
      title: AzureSTTSettings
    InteractionType:
      type: string
      enum:
      - voice
      - chat
      title: InteractionType
    RetrySettings:
      properties:
        retry_interval_seconds:
          type: integer
          exclusiveMinimum: 0.0
          title: Retry Interval Seconds
        max_retry_attempts:
          type: integer
          exclusiveMinimum: 0.0
          title: Max Retry Attempts
        retry_window:
          anyOf:
          - $ref: '#/components/schemas/TimeWindow'
          - type: 'null'
      type: object
      required:
      - retry_interval_seconds
      - max_retry_attempts
      title: RetrySettings
    PreSignedUrlResponse:
      properties:
        upload_url:
          type: string
          title: Upload Url
        file_key:
          type: string
          title: File Key
      type: object
      required:
      - upload_url
      - file_key
      title: PreSignedUrlResponse
    PhoneDirection:
      type: string
      enum:
      - inbound
      - outbound
      title: PhoneDirection
    CerebrasLLMModel:
      type: string
      enum:
      - llama-3.1-8b-instruct
      title: CerebrasLLMModel
    ZohoCRMRecordUpdateMessage:
      properties:
        type:
          type: string
          const: zoho_crm_record_update
          title: Type
          default: zoho_crm_record_update
        call_id:
          type: string
          title: Call Id
        record_id:
          type: string
          title: Record Id
        module:
          $ref: '#/components/schemas/ZohoCRMModules'
          default: Leads
      type: object
      required:
      - call_id
      - record_id
      title: ZohoCRMRecordUpdateMessage
    BackChannelWordConfig:
      properties:
        type:
          type: string
          const: word
          title: Type
          default: word
        value:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Value
          default: 0.6
        whitelist:
          items:
            type: string
          type: array
          title: Whitelist
      type: object
      title: BackChannelWordConfig
    OpenAITTSVoices:
      type: string
      enum:
      - alloy
      - ash
      - ballad
      - coral
      - echo
      - fable
      - onyx
      - nova
      - sage
      - shimmer
      title: OpenAITTSVoices
    VoiceMigrationMessage:
      properties:
        type:
          type: string
          const: voice_migration
          title: Type
          default: voice_migration
      type: object
      title: VoiceMigrationMessage
    OpenAITTSSettings:
      p

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sarj-ai-developer-api/refs/heads/main/openapi/sarj-ai-developer-api-batch-api-openapi.yml