---
title: "Clickhouse Eval Results Partial Update 2"
method: PATCH
path: "/clickhouse/eval-results/{id}/"
tags: ["evaluations"]
---

# Clickhouse Eval Results Partial Update 2

`PATCH /clickhouse/eval-results/{id}/`

PATCH handler with superadmin lock and field protection.

Checks:
1. Object lock (is_managed=True -> non-superadmins can't modify)
2. Field protection (non-superadmins can't modify specific fields)

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required

## Request body

- PatchedPublicEvalResultUpdateRequest — Mixin to handle underscore-prefixed field mapping in serializers. This is used when Django annotations require underscore prefixes to avoid name conflicts with original column names, but we want to expose the clean field names in the API response. Usage: 1. Annotate queryset with underscore prefixes: _field_name 2. This mixin automatically maps _field_name -> field_name in to_internal_value 3. The serializer can then use the clean field names normally
  - `organization` integer
  - `unique_organization_id` string
  - `type` 'llm' | 'code' | 'human' | 'function' | 'human_numerical' | 'human_categorical' | 'human_boolean' | 'human_text' | 'custom' — * `llm` - Llm * `code` - Code * `human` - Human * `function` - Function * `human_numerical` - Human Numerical * `human_categorical` - Human Categorical * `human_boolean` - Human Boolean * `human_text` - Human Text * `custom` - Custom
  - `environment` string
  - `numerical_value` number, double
  - `string_value` string
  - `boolean_value` boolean, nullable
  - `categorical_value` string[]
  - `json_value` string
  - `is_passed` boolean
  - `cost` number, double
  - `evaluator_id` string
  - `evaluator_slug` string
  - `scorer` string
  - `log_id` string
  - `prompt_id` string
  - `prompt_version_number` integer
  - `dataset_id` string
  - `status` 'pending' | 'completed' | 'failed' — * `pending` - Pending * `completed` - Completed * `failed` - Failed
  - `error_message` string, nullable

## Response `200`

- PublicEvalResultUpdate — Mixin to handle underscore-prefixed field mapping in serializers. This is used when Django annotations require underscore prefixes to avoid name conflicts with original column names, but we want to expose the clean field names in the API response. Usage: 1. Annotate queryset with underscore prefixes: _field_name 2. This mixin automatically maps _field_name -> field_name in to_internal_value 3. The serializer can then use the clean field names normally
  - `id` string, required
  - `created_at` string, date-time, required
  - `updated_by` integer, nullable, required
  - `type` 'llm' | 'code' | 'human' | 'function' | 'human_numerical' | 'human_categorical' | 'human_boolean' | 'human_text' | 'custom' — * `llm` - Llm * `code` - Code * `human` - Human * `function` - Function * `human_numerical` - Human Numerical * `human_categorical` - Human Categorical * `human_boolean` - Human Boolean * `human_text` - Human Text * `custom` - Custom
  - `environment` string
  - `numerical_value` number, double
  - `string_value` string
  - `boolean_value` boolean, nullable
  - `categorical_value` string[]
  - `json_value` string
  - `is_passed` boolean
  - `cost` number, double
  - `evaluator_id` string
  - `evaluator_slug` string
  - `scorer` string
  - `log_id` string
  - `prompt_id` string
  - `prompt_version_number` integer
  - `dataset_id` string
  - `status` 'pending' | 'completed' | 'failed' — * `pending` - Pending * `completed` - Completed * `failed` - Failed
  - `error_message` string, nullable

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
