Bluejay Simulations API

The Simulations API from Bluejay — 3 operation(s) for simulations.

OpenAPI Specification

bluejay-simulations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bluejay Agents Simulations API
  description: Bluejay API
  version: 0.1.0
servers:
- url: https://api.getbluejay.ai
  description: Production server
security:
- apiKeyAuth: []
tags:
- name: Simulations
paths:
  /v1/simulation/{simulation_id}:
    delete:
      tags:
      - Simulations
      summary: Delete Simulation
      description: Delete a specific simulation by ID.
      operationId: delete_simulation_v1_simulation__simulation_id__delete
      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/DeleteSimulationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Simulations
      summary: Update Simulation
      description: 'update a specific simulation by id.


        only fields provided in the request body will be updated.'
      operationId: update_simulation_v1_simulation__simulation_id__put
      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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/src__api__simulations__UpdateSimulationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimulationPydantic'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Simulations
      summary: Get Simulation
      description: Get a specific simulation by ID.
      operationId: get_simulation_v1_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/SimulationPydantic'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/simulation/{simulation_id}/add-digital-humans:
    post:
      tags:
      - Simulations
      summary: Add Digital Humans To Simulation
      description: add existing digital humans to a simulation without replacing existing associations.
      operationId: add_digital_humans_to_simulation_v1_simulation__simulation_id__add_digital_humans_post
      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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDigitalHumansToSimulationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddDigitalHumansToSimulationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/simulation/{simulation_id}/remove-digital-humans:
    post:
      tags:
      - Simulations
      summary: Remove Digital Humans From Simulation
      description: remove digital humans from a simulation (unlink only); idempotent for missing links.
      operationId: remove_digital_humans_from_simulation_v1_simulation__simulation_id__remove_digital_humans_post
      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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveDigitalHumansFromSimulationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveDigitalHumansFromSimulationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SimulationType:
      type: string
      enum:
      - sequential
      - parallel
      - max_concurrent
      title: SimulationType
    DeleteSimulationResponse:
      properties:
        message:
          type: string
          title: Message
          description: Success message
        deleted_simulation_id:
          type: integer
          title: Deleted Simulation Id
          description: ID of the deleted simulation
      type: object
      required:
      - message
      - deleted_simulation_id
      title: DeleteSimulationResponse
      description: Response model for deleting a simulation
    SimulationPydantic:
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Id
        agent_id:
          type: integer
          title: Agent Id
        name:
          type: string
          title: Name
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        settings:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Settings
        type:
          $ref: '#/components/schemas/SimulationType'
        max_concurrent:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Concurrent
        max_turns:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Turns
        ringing_timeout:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ringing Timeout
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        pinned:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Pinned
        always_on:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Always On
      type: object
      required:
      - agent_id
      - name
      - type
      title: SimulationPydantic
    RemoveDigitalHumansFromSimulationResponse:
      properties:
        message:
          type: string
          title: Message
          description: success message
      type: object
      required:
      - message
      title: RemoveDigitalHumansFromSimulationResponse
      description: response body for removing digital humans from a simulation (does not delete the digital humans).
    RemoveDigitalHumansFromSimulationRequest:
      properties:
        digital_human_ids:
          items:
            type: integer
          type: array
          title: Digital Human Ids
          description: array of digital human IDs to remove from this simulation
      type: object
      required:
      - digital_human_ids
      title: RemoveDigitalHumansFromSimulationRequest
      description: request body for removing digital humans from a simulation (unlink only).
    AddDigitalHumansToSimulationResponse:
      properties:
        message:
          type: string
          title: Message
          description: success message
      type: object
      required:
      - message
      title: AddDigitalHumansToSimulationResponse
      description: response body for adding digital humans to a simulation.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    src__api__simulations__UpdateSimulationRequest:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: updated simulation name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: human‑readable description of the simulation
        prompt_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Prompt Id
          description: optional default prompt UUID for this simulation
        knowledge_base_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Knowledge Base Id
          description: optional default knowledge base UUID for this simulation
        max_concurrent:
          anyOf:
          - type: integer
            maximum: 500.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Max Concurrent
          description: maximum number of concurrent runs (max 500)
        hangup_on_transfer:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Hangup On Transfer
          description: whether to hang up the call on transfer
        max_call_duration:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Call Duration
          description: maximum duration of each call. units specified by max_call_duration_units
        max_call_duration_units:
          anyOf:
          - type: string
            enum:
            - minutes
            - seconds
          - type: 'null'
          title: Max Call Duration Units
          description: 'units for max_call_duration: ''minutes'' or ''seconds'''
        max_turns:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Turns
          description: maximum number of turns per simulation run
        ringing_timeout:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ringing Timeout
          description: ringing timeout in seconds before abandoning
        digital_humans_settings:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Digital Humans Settings
          description: settings for digital humans in the simulation
        selected_custom_metrics:
          anyOf:
          - items:
              type: string
              format: uuid
            type: array
          - type: 'null'
          title: Selected Custom Metrics
          description: array of custom metric IDs to be saved in settings
        custom_metrics_failing_threshold:
          anyOf:
          - type: integer
            maximum: 100.0
            minimum: 0.0
          - type: 'null'
          title: Custom Metrics Failing Threshold
          description: score threshold below which a custom metric is considered failing (0-100)
        custom_metrics_passing_threshold:
          anyOf:
          - type: integer
            maximum: 100.0
            minimum: 0.0
          - type: 'null'
          title: Custom Metrics Passing Threshold
          description: score threshold at or above which a custom metric is considered passing (0-100)
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
          description: array of tags for the simulation
        pinned:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Pinned
          description: whether the simulation is pinned
      type: object
      title: UpdateSimulationRequest
      description: 'request body for updating a simulation.


        all fields are optional; only provided fields will be updated.'
    AddDigitalHumansToSimulationRequest:
      properties:
        digital_human_ids:
          items:
            type: integer
          type: array
          title: Digital Human Ids
          description: array of existing digital human IDs to add to the simulation
      type: object
      required:
      - digital_human_ids
      title: AddDigitalHumansToSimulationRequest
      description: request body for adding existing digital humans to a simulation.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key required to authenticate requests.