---
title: "Admin Create Bluejay Template"
method: POST
path: "/v1/admin/metric-templates"
tags: ["Custom Metric Templates"]
---

# Admin Create Bluejay Template

`POST /v1/admin/metric-templates`

Create a Bluejay-authored template (the library seeding mechanism).

## Headers

- `X-Admin-Secret` string, nullable
- `X-API-Key` string, required

## Request body

- AdminCreateTemplateRequest — Bluejay-authored template creation; agent/template fields are ignored.
  - `bluejay_as_code_id` string, uuid, nullable — Stable code-addressable identifier
  - `agent_id` integer, nullable — ID of the agent this metric belongs to (deprecated, use agent_ids instead)
  - `agent_ids` integer[], nullable — List of agent IDs to associate this metric with
  - `name` string, required — Name of the custom metric
  - `prompt` string, nullable — LLM-judge system prompt (required for llm_judge; null for other types)
  - `summary` string, nullable — Short plain-English description of the metric (LLM-generated)
  - `metric_type` string — Specific metric kind (llm_judge, tool_call, audio_*, vocal_fry); legacy alias: type
  - `settings` object — Type-specific config (e.g. tool_call: {tool_names: [...]})
  - `eval_segment` 'agent' | 'user' | 'all' — Which side of the conversation is evaluated
  - `scope` 'observability' | 'simulations' | 'all' — Which pipeline runs this metric
  - `response_type` 'pass_fail' | 'yes_no' | 'qualitative' | 'quantitative' | 'json' | 'enum' | 'int' | 'float' | 'boolean' | 'tool_call', required — Enum representing the possible response types for custom metrics.
  - `min_value` number, nullable — Minimum value for quantitative metrics
  - `max_value` number, nullable — Maximum value for quantitative metrics
  - `category` string, nullable — Category for organizing metrics
  - `tags` string[], nullable — Tags for categorizing the metric
  - `scoring_guidance` string, nullable — Guidance on how to score this metric
  - `eval_modality` 'AUDIO' | 'TEXT' | 'AUTO' — Enum representing the evaluation route of a call.
  - `model` string, nullable — Model to use for text evaluation of the metric
  - `audio_model` string, nullable — Model to use for audio evaluation of the metric
  - `temperature` number, nullable — Temperature for evaluating the metric
  - `enum_options` string[], nullable — Options for enum metrics
  - `tool_names` string[], nullable — Expected tool names for tool_call metrics
  - `json_schema` object, nullable — JSON Schema describing the object the judge must return (required for json metrics)
  - `allow_not_applicable` boolean — Whether this metric allows 'not applicable' responses.
  - `template_id` string, uuid, nullable — Library template this metric was created from

## Response `200`

Successful Response

- TemplateResponse — Public library view of a Bluejay-authored template.
  - `id` string, required
  - `created_at` string, date-time, required
  - `name` string, required
  - `prompt` string, nullable
  - `description` string, nullable
  - `summary` string, nullable
  - `metric_type` string
  - `eval_method` string
  - `eval_segment` string
  - `scope` string
  - `settings` object
  - `response_type` 'pass_fail' | 'yes_no' | 'qualitative' | 'quantitative' | 'json' | 'enum' | 'int' | 'float' | 'boolean' | 'tool_call', required — Enum representing the possible response types for custom metrics.
  - `min_value` number, nullable
  - `max_value` number, nullable
  - `category` string, nullable
  - `tags` string[]
  - `scoring_guidance` string, nullable
  - `eval_modality` 'AUDIO' | 'TEXT' | 'AUTO' — Enum representing the evaluation route of a call.
  - `model` string, nullable
  - `audio_model` string, nullable
  - `temperature` number, nullable
  - `enum_options` string[], nullable
  - `tool_names` string[], nullable
  - `json_schema` object, nullable
  - `allow_not_applicable` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/4ef94eeb836d/schema)
