curl --request PUT \
--url https://api.getbluejay.ai/v1/update-log/{call_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"tool_calls": [
{
"name": "<string>",
"start_offset_ms": 1,
"description": "<string>",
"parameters": {},
"output": "<unknown>"
}
],
"events": [
{
"title": "<string>",
"start_offset_ms": 123,
"description": "<string>",
"end_offset_ms": 123,
"tags": [
"<string>"
],
"metadata": {}
}
],
"metadata": {},
"reevaluate": false
}
'{
"message": "<string>",
"status": "200"
}Update a specific call log given its ID.
curl --request PUT \
--url https://api.getbluejay.ai/v1/update-log/{call_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"tool_calls": [
{
"name": "<string>",
"start_offset_ms": 1,
"description": "<string>",
"parameters": {},
"output": "<unknown>"
}
],
"events": [
{
"title": "<string>",
"start_offset_ms": 123,
"description": "<string>",
"end_offset_ms": 123,
"tags": [
"<string>"
],
"metadata": {}
}
],
"metadata": {},
"reevaluate": false
}
'{
"message": "<string>",
"status": "200"
}# 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.
## Update Log — PUT /v1/update-log/{call_id}
> **What this endpoint does:** Update a specific call log given its ID.
**Endpoint:** PUT `https://api.getbluejay.ai/v1/update-log/{call_id}`
**Auth:** `X-API-Key` header
**Content-Type:** application/json
### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| call_id | string | |
| X-API-Key | string | API key required to authenticate requests. |
Review the full parameter list at https://docs.getbluejay.ai/api-reference/endpoint/update-log and include any optional parameters (e.g., `tool_calls`, `events`, `metadata`, `reevaluate`) that serve your integration's use case and align with Bluejay's testing and monitoring capabilities.
### Request Body
```json
{
"tool_calls": [
{
"name": "example_name",
"start_offset_ms": 123,
"description": "string",
"parameters": {
"key": "value"
}
}
],
"events": [
{
"title": "string",
"start_offset_ms": 123,
"description": "string",
"end_offset_ms": 123,
"tags": [
"string"
],
"metadata": {
"key": "value"
}
}
],
"metadata": {
"key": "value"
},
"reevaluate": true
}
```
### Example
**PUT with body:**
```python
import requests
def update_log(call_id: str, payload: dict, api_key: str) -> dict:
url = f"https://api.getbluejay.ai/v1/update-log/{call_id}"
headers = {"X-API-Key": api_key}
response = requests.put(url, headers=headers, json=payload)
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 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.
API key required to authenticate requests.