# Bluejay — Testing & Monitoring Platform for Conversational AI AgentsYou 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 Label — PUT /v1/agents/{agent_id}/labels/{label_id}> **What this endpoint does:** rename a free-standing label; reserved labels are not allowed as targets.**Endpoint:** PUT `https://api.getbluejay.ai/v1/agents/{agent_id}/labels/{label_id}`**Auth:** `X-API-Key` header**Content-Type:** application/json### Required Parameters| Name | Type | Description ||------|------|-------------|| agent_id | integer | || label_id | string | || X-API-Key | string | API key required to authenticate requests. || label_text | string | new text for the label |### Request Body (required fields)```json{ "label_text": "string"}```Refer to the full schema at https://docs.getbluejay.ai/api-reference/endpoint/update-label. Include optional fields that serve the goal of setting up for testing and monitoring on Bluejay.### Example**PUT with body:**```pythonimport requestsdef update_label(agent_id: int, label_id: str, payload: dict, api_key: str) -> dict: url = f"https://api.getbluejay.ai/v1/agents/{agent_id}/labels/{label_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 ChecklistBefore 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.
Rename a free-standing label; reserved labels are not allowed as targets.