Skip to main content
GET
/
v1
/
custom-metric
/
{metric_id}
Get Custom Metric
curl --request GET \
  --url https://api.getbluejay.ai/v1/custom-metric/{metric_id} \
  --header 'X-API-Key: <x-api-key>'
{
  "id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "response_type": "pass_fail",
  "created_at": "2023-11-07T05:31:56Z",
  "agent_ids": [
    123
  ],
  "min_value": 123,
  "max_value": 123,
  "category": "<string>",
  "tags": [
    "<string>"
  ],
  "scoring_guidance": "<string>",
  "eval_route": "AUDIO",
  "model": "<string>",
  "audio_model": "<string>",
  "temperature": 123,
  "enum_options": [
    "<string>"
  ],
  "allow_not_applicable": false
}
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 Custom Metric — GET /v1/custom-metric/{metric_id}

> **What this endpoint does:** Get a specific custom metric by ID.

**Endpoint:** GET `https://api.getbluejay.ai/v1/custom-metric/{metric_id}`
**Auth:** `X-API-Key` header

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

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

def get_custom_metric(metric_id: str, api_key: str) -> dict:
    url = f"https://api.getbluejay.ai/v1/custom-metric/{metric_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 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 allows you to retrieve a specific custom metric by its unique identifier. Provide the metric ID in the path to get detailed information about the custom metric.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

metric_id
string<uuid>
required

Response

Successful Response

Response model for custom metric operations

id
string
required

Unique identifier for the custom metric

name
string
required

Name of the custom metric

description
string
required

Description of what this metric measures

response_type
enum<string>
required

Type of response expected

Available options:
pass_fail,
yes_no,
qualitative,
quantitative,
json,
enum
created_at
string<date-time>
required

When this metric was created

agent_ids
integer[]

List of agent IDs this metric belongs to

min_value
number | null

Minimum value for quantitative metrics

max_value
number | null

Maximum value for quantitative metrics

category
string | null

Category for organizing metrics

tags
string[] | null

Tags for categorizing the metric

scoring_guidance
string | null

Guidance on how to score this metric

eval_route
enum<string> | null

Route for evaluating the metric

Available options:
AUDIO,
TEXT,
AUTO
model
string | null

Model to use for text evaluation of the metric

audio_model
string | null

Model to use for audio evaluation of the metric

temperature
number | null

Temperature for evaluating the metric

enum_options
string[] | null

Options for enum metrics

allow_not_applicable
boolean
default:false

Whether this metric allows 'not applicable' responses.