---
title: "Update Inference Cluster"
method: PATCH
path: "/inference-clusters/{cluster_id}"
tags: ["inference-clusters"]
---

# Update Inference Cluster

`PATCH /inference-clusters/{cluster_id}`

Update a cluster status.

Args:
    cluster_id: Cluster ID.
    request: Status update payload.
    auth: Authentication result.

Returns:
    Updated cluster detail.

## Path parameters

- `cluster_id` string, uuid, required

## Request body

- InferenceClusterUpdate — Request body for updating a cluster. Attributes: status: New cluster lifecycle status.
  - `status` 'open' | 'reopened' | 'resolved' | 'ignored', required

## Response `200`

Successful Response

- InferenceClusterDetail — Detailed response for a single cluster. Attributes: project_id: Project ID that owns the cluster. base_model: Base model identifier. variant_type: Base or adapter variant. model_id: Inference model ID. training_job_id: Training job ID for adapter variants. metrics_by_window: All persisted window metrics. member_count: Total active member count.
  - `id` string, required
  - `rank` integer, required
  - `status` 'open' | 'reopened' | 'resolved' | 'ignored', required
  - `severity` 'high' | 'mid' | 'low', required
  - `failure_label` string, required
  - `failure_label_slug` string, required
  - `task_domain_label` string, nullable
  - `task_domain_slug` string, nullable
  - `usage_taxonomy_label` string, nullable
  - `usage_taxonomy_slug` string, nullable
  - `root_cause_label` string, nullable
  - `root_cause_slug` string, nullable
  - `summary` string, required
  - `failure_facts` object[]
  - `root_causes` object[]
  - `metrics` InferenceClusterMetrics — Windowed metrics for a cluster. Attributes: not_pass_count: Number of fail or uncertain inferences. fail_count: Number of fail verdicts. uncertain_count: Number of uncertain verdicts. affected_rate: Fraction of judged inferences affected by the cluster (``not_pass_count / total_judged``). total_judged: Denominator used to compute ``affected_rate`` — the number of same-scope judged inferences in the window. Surfaced so dashboard cards can render ``n / N`` and the frontend can verify that all cards in the same group share the same denominator.
    - `not_pass_count` integer
    - `fail_count` integer
    - `uncertain_count` integer
    - `affected_rate` number, nullable
    - `total_judged` integer, nullable
  - `representative_examples` InferenceClusterExample[]
    - `id` string, required
    - `created_at` string, date-time, nullable
    - `input` string, required
    - `output` union
      - object
      - string
    - `llmaj_verdict` string, nullable
    - `llmaj_score` number, nullable
    - `llmaj_reasoning` string, nullable
    - `llmaj_corrected_output` unknown
    - `model_id` string, nullable
    - `training_job_id` string, nullable
    - `base_model` string, nullable
    - `provider` string, required
    - `full_record` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `last_refreshed_at` string, date-time, nullable
  - `last_refresh_failed_at` string, date-time, nullable
  - `last_refresh_error_message` string, nullable
  - `last_member_added_at` string, date-time, nullable
  - `project_id` string, required
  - `base_model` string, required
  - `variant_type` 'base' | 'adapter', required
  - `model_id` string, required
  - `training_job_id` string, nullable
  - `metrics_by_window` object
  - `member_count` integer
  - `representative_inference_ids` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/pioneer/apis/brain-api.md) · [All operations](https://skmtc.net/pioneer/apis/brain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pioneer/brain-api/revisions/31dfe831e079/schema)
