Skip to main content
PUT
/
v1
/
update-log
/
{call_id}
Update Log
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"
}
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.

## 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.
Update a log by its ID.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

call_id
string
required

Body

application/json
tool_calls
ToolCall · object[] | null

List of tool calls to update

events
Event · object[] | null

List of events to update

metadata
Metadata · object

Metadata to update

reevaluate
boolean | null
default:false

Whether to reevaluate the log

Response

Successful Response

message
string
required

Success message

status
string
default:200

Status of the response