Skip to main content
POST
/
v1
/
create-digital-humans
Bulk Create Digital Humans
curl --request POST \
  --url https://api.getbluejay.ai/v1/create-digital-humans \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "digital_humans": [
    {
      "intent": "",
      "success_criteria": "",
      "name": "<string>",
      "tag": "<string>",
      "language": "en",
      "accent": "multilingual",
      "gender": "male",
      "background_noise": "none",
      "voice_speed": "normal",
      "audio_quality": "high",
      "fluency": "native",
      "verbosity": "medium",
      "phone_number": "<string>",
      "outbound_text_number": "<string>",
      "background_noise_volume": 0.8,
      "expected_tool_calls": [
        {
          "name": "<string>",
          "parameters": {},
          "output": "<unknown>"
        }
      ],
      "allow_end_call_tool": true,
      "allow_silence_tool": true,
      "silence_tool_instructions": "default",
      "endpointing_delay": 1.5,
      "creativity": 0.7,
      "hangup_phrases": [
        "<string>"
      ],
      "hangup_instructions": "<string>",
      "silence_timeout": 16,
      "role_description": "<string>",
      "traits": [
        {
          "trait_name": "<string>",
          "trait_data_type": "BOOLEAN",
          "value": "<unknown>",
          "is_sip_header": false
        }
      ],
      "interruptions": {
        "type": "none"
      },
      "scripted_responses": [
        {
          "match_type": "exact",
          "match_phrase": "<string>",
          "response_type": "phrase",
          "occurrence_mode": "always",
          "response_value": "<string>",
          "occurrence_n": 1,
          "silence_duration": 1
        }
      ],
      "speaks_first_config": {
        "speaks_first": true,
        "mode": "custom",
        "message": "<string>"
      },
      "original_transcript": "<string>",
      "formatted_transcript": [
        {}
      ],
      "enriched_playback": [
        {}
      ],
      "workflow_v2_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "workflow_path_index": 1,
      "always_on_mode": false,
      "always_on_active": true,
      "num_runs": 1,
      "livekit_metadata": {}
    }
  ],
  "simulation_ids": [
    123
  ]
}
'
{
  "created": [
    {
      "digital_human": {
        "intent": "<string>",
        "success_criteria": "<string>",
        "id": 123,
        "tag": "<string>",
        "name": "<string>",
        "language": "en",
        "accent": "multilingual",
        "gender": "male",
        "background_noise": "<string>",
        "voice_speed": "<string>",
        "audio_quality": "<string>",
        "fluency": "<string>",
        "verbosity": "<string>",
        "phone_number": "<string>",
        "outbound_text_number": "<string>",
        "websocket_url": "<string>",
        "background_noise_volume": 123,
        "expected_tool_calls": [
          {
            "name": "<string>",
            "parameters": {},
            "output": "<unknown>"
          }
        ],
        "allow_end_call_tool": true,
        "allow_silence_tool": true,
        "silence_tool_instructions": "default",
        "endpointing_delay": 123,
        "creativity": 123,
        "hangup_phrases": [
          "<string>"
        ],
        "hangup_instructions": "<string>",
        "silence_timeout": 123,
        "role_description": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "traits": [
          {
            "trait_name": "<string>",
            "trait_data_type": "BOOLEAN",
            "value": "<unknown>",
            "is_sip_header": false
          }
        ],
        "interruptions": {},
        "scripted_responses": [
          {
            "match_type": "exact",
            "match_phrase": "<string>",
            "response_type": "phrase",
            "occurrence_mode": "always",
            "response_value": "<string>",
            "occurrence_n": 1,
            "silence_duration": 1
          }
        ],
        "speaks_first_config": {
          "speaks_first": true,
          "mode": "custom",
          "message": "<string>"
        },
        "original_transcript": "<string>",
        "formatted_transcript": [
          {}
        ],
        "enriched_playback": [
          {}
        ],
        "workflow_v2_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "workflow_path_index": 123,
        "livekit_metadata": {}
      },
      "simulation_ids": [
        123
      ],
      "simulation_id": 123
    }
  ],
  "errors": [
    {}
  ]
}
Bulk create digital humans in a single request. This endpoint batches validation and creation work so large payloads can be processed efficiently, while returning per-item errors for records that fail validation. Each item in digital_humans accepts the same digital_human fields as single create, including allow_silence_tool (defaults to false if omitted) and silence_tool_instructions (defaults to "default" if omitted).

Headers

X-API-Key
string
required

API key required to authenticate requests.

Body

application/json

Request model for bulk creating digital humans.

digital_humans
DigitalHumanRequestData · object[]
required

list of digital humans to create (min 1, max 100)

Required array length: 1 - 100 elements
simulation_ids
integer[] | null

list of simulation IDs to associate with all digital humans in this request

Response

Successful Response

Response model for bulk digital human creation.

created
DigitalHumanResponse · object[]

Successfully created digital humans

errors
Errors · object[]

Errors for items that failed to create, with index and detail