Skip to main content
PUT
/
v1
/
update-customer-persona
/
{persona_id}
Update Customer Persona
curl --request PUT \
  --url https://api.getbluejay.ai/v1/update-customer-persona/{persona_id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "goal": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_at": "2023-11-07T05:31:56Z",
  "name": "<string>",
  "description": "<string>",
  "goal": "<string>",
  "org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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 Customer Persona — PUT /v1/update-customer-persona/{persona_id}

> **What this endpoint does:** Update a specific customer persona by ID.

**Endpoint:** PUT `https://api.getbluejay.ai/v1/update-customer-persona/{persona_id}`
**Auth:** `X-API-Key` header
**Content-Type:** application/json

### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| persona_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-customer-persona and include any optional parameters (e.g., `name`, `description`, `goal`) that serve your integration's use case and align with Bluejay's testing and monitoring capabilities.

### Request Body
```json
{
  "name": "string",
  "description": "string",
  "goal": "string"
}
```

### Example
**PUT with body:**
```python
import requests

def update_customer_persona(persona_id: str, payload: dict, api_key: str) -> dict:
    url = f"https://api.getbluejay.ai/v1/update-customer-persona/{persona_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.
This endpoint updates a customer persona for a given customer persona ID.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

persona_id
string<uuid>
required

Body

application/json
name
string | null

Name of the customer persona

description
string | null

Description of the customer persona

goal
string | null

Goal of the customer persona

Response

Successful Response

Pydantic version of CustomerPersona for validation and serialization.

id
string<uuid> | null
created_at
string<date-time> | null
name
string | null
description
string | null
goal
string | null
org_id
string<uuid> | null