---
title: "Update Metric Settings"
method: PUT
path: "/v1/metric-settings"
tags: ["Custom Metrics"]
---

# Update Metric Settings

`PUT /v1/metric-settings`

Bulk-upsert per-org metric enablement (one row per metric_id).

Only OPTIONAL standard metrics are toggleable (the library add/remove flow);
always-on standards (core/system/red-team) and custom metrics are rejected.

Org-admin only. metric_settings is deliberately organization-level: it is not one of
the stamped tables, so a change here rewrites how EVERY workspace's conversations are
graded, including the judge override prompts. Gated only by authentication, any member
of any workspace, or a workspace-pinned API key, could silently change another team's
eval results. The same gate workspace budgets use.

## Headers

- `X-API-Key` string, required

## Request body

- UpdateMetricSettingsRequest
  - `settings` MetricSettingEntry[], required
    - `metric_id` string, uuid, required
    - `is_enabled` boolean, required
    - `override_prompt` string, nullable

## Response `200`

Successful Response

- MetricSettingsResponse
  - `settings` MetricSettingEntry[], required
    - `metric_id` string, uuid, required
    - `is_enabled` boolean, required
    - `override_prompt` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-31** `4309a961859b` — 2 info
  - added the new optional request property `settings/items/override_prompt`
  - added the optional property `settings/items/override_prompt` to the response with the `200` status
- **2026-07-26** `44d183272ce1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getbluejay/apis/bluejay-api/changes/v1/metric-settings/put.md)

---

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