Skip to main content
GET
/
v1
/
digital-human
/
{digital_human_id}
Get Digital Human
curl --request GET \
  --url https://api.getbluejay.ai/v1/digital-human/{digital_human_id} \
  --header 'X-API-Key: <x-api-key>'
{
  "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
}
Integration Prompt for AI Agents
# Bluejay — Testing & Monitoring Platform for Conversational AI Agents

You are a senior backend engineer integrating the Bluejay API. Think step-by-step: first understand the endpoint, then plan the integration, then implement with minimal changes.

## Get Digital Human — GET /v1/digital-human/{digital_human_id}

> **What this endpoint does:** Get a digital human by ID.

**Endpoint:** GET `https://api.getbluejay.ai/v1/digital-human/{digital_human_id}`
**Auth:** `X-API-Key` header

### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| digital_human_id | integer |  |
| X-API-Key | string | API key required to authenticate requests. |

### Example
**Simple GET:**
```python
import requests

def get_digital_human(digital_human_id: int, api_key: str) -> dict:
    url = f"https://api.getbluejay.ai/v1/digital-human/{digital_human_id}"
    headers = {"X-API-Key": api_key}
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    return response.json()
```

### Constraints
- Minimal changes — only add/change files needed for this integration.
- Match existing codebase patterns (naming, file structure, error handling).
- Include error handling for 403: Access denied — digital human belongs to a different organization; 422: Validation Error.

### Integration Checklist
Before writing code, verify:
1. Which module/service owns this API domain in the codebase?
2. What HTTP client and error-handling patterns does the project use?
3. Are there existing types/interfaces to extend?

Then implement the integration, export it, and confirm it compiles/passes lint.
This endpoint returns a digital human by ID, including allow_silence_tool and silence_tool_instructions when present in the stored record.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

digital_human_id
integer
required

Response

Successful Response

Response model for digital human operations with clear separation of digital human data and simulation context.

digital_human
DigitalHumanResponseData · object
required

The digital human data

simulation_ids
integer[] | null

List of simulation IDs associated with this digital human

simulation_id
integer | null
deprecated

ID of the associated simulation. Use simulation_ids instead.