---
title: "Replace Evaluator Version"
method: PUT
path: "/api/evaluators/{evaluator_id}/versions/{version}/"
tags: ["evaluators"]
---

# Replace Evaluator Version

`PUT /api/evaluators/{evaluator_id}/versions/{version}/`

Full update - only allowed if is_read_only=False.

## Path parameters

- `evaluator_id` string, required
- `version` integer, required

## Headers

- `Authorization` string, required

## Request body

- PublicEvaluatorVersionDetailRequest — Serializer for a specific version of an evaluator. Used for GET /evaluators/{id}/versions/{version}/ Fields: - id: Unique per row (will be identity after PK swap) - version_id: Unique per row - version: The version number (0, 1, 2...) - is_read_only: True = committed, False = draft (editable) - version_description: Commit message for this version
  - `id` string
  - `version_id` string
  - `version` integer
  - `is_read_only` boolean
  - `version_description` string
  - `name` string, required
  - `description` 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
  - `score_value_type` 'numerical' | 'boolean' | 'percentage' | 'single_select' | 'multi_select' | 'text' | 'json' | 'comment' | 'categorical' — * `numerical` - Numerical * `boolean` - Boolean * `percentage` - Percentage * `single_select` - Single Select * `multi_select` - Multi Select * `text` - Text * `json` - Json * `comment` - Comment * `categorical` - Categorical
  - `score_config` object
  - `passing_conditions` object, nullable
  - `llm_config` object, nullable
  - `code_config` object, nullable
  - `configurations` object
  - `categorical_choices` object[]
  - `eval_class` union
    - 'ragas_faithfulness' | 'ragas_noise_sensitivity' | 'ragas_response_relevancy' | 'ragas_answer_relevancy' | 'ragas_context_precision' | 'ragas_context_recall' | 'ragas_context_entity_recall' | 'ragas_factual_correctness' | 'ragas_semantic_similarity' | 'ragas_non_llm_string_similarity' | 'ragas_non_llm_string_presence' | 'ragas_non_llm_exact_match' | 'relari_llm_based_custom_metric' | 'relari_llm_based_answer_correctness' | 'keywordsai_custom_evaluator' | 'keywordsai_custom_llm' | 'output_char_count' | 'output_word_count' | 'custom_code' — * `ragas_faithfulness` - ragas_faithfulness * `ragas_noise_sensitivity` - ragas_noise_sensitivity * `ragas_response_relevancy` - ragas_response_relevancy * `ragas_answer_relevancy` - ragas_answer_relevancy * `ragas_context_precision` - ragas_context_precision * `ragas_context_recall` - ragas_context_recall * `ragas_context_entity_recall` - ragas_context_entity_recall * `ragas_factual_correctness` - ragas_factual_correctness * `ragas_semantic_similarity` - ragas_semantic_similarity * `ragas_non_llm_string_similarity` - ragas_non_llm_string_similarity * `ragas_non_llm_string_presence` - ragas_non_llm_string_presence * `ragas_non_llm_exact_match` - ragas_non_llm_exact_match * `relari_llm_based_custom_metric` - relari_llm_based_custom_metric * `relari_llm_based_answer_correctness` - relari_llm_based_answer_correctness * `keywordsai_custom_evaluator` - keywordsai_custom_evaluator * `keywordsai_custom_llm` - keywordsai_custom_llm * `output_char_count` - output_char_count * `output_word_count` - output_word_count * `custom_code` - custom_code
    - ''
  - `starred` boolean

## Response `200`

- PublicEvaluatorVersionDetail — Serializer for a specific version of an evaluator. Used for GET /evaluators/{id}/versions/{version}/ Fields: - id: Unique per row (will be identity after PK swap) - version_id: Unique per row - version: The version number (0, 1, 2...) - is_read_only: True = committed, False = draft (editable) - version_description: Commit message for this version
  - `id` string
  - `version_id` string
  - `version` integer
  - `is_read_only` boolean
  - `version_description` string
  - `name` string, required
  - `description` 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
  - `score_value_type` 'numerical' | 'boolean' | 'percentage' | 'single_select' | 'multi_select' | 'text' | 'json' | 'comment' | 'categorical' — * `numerical` - Numerical * `boolean` - Boolean * `percentage` - Percentage * `single_select` - Single Select * `multi_select` - Multi Select * `text` - Text * `json` - Json * `comment` - Comment * `categorical` - Categorical
  - `score_config` object
  - `passing_conditions` object, nullable
  - `llm_config` object, nullable
  - `code_config` object, nullable
  - `configurations` object
  - `categorical_choices` object[]
  - `eval_class` union
    - 'ragas_faithfulness' | 'ragas_noise_sensitivity' | 'ragas_response_relevancy' | 'ragas_answer_relevancy' | 'ragas_context_precision' | 'ragas_context_recall' | 'ragas_context_entity_recall' | 'ragas_factual_correctness' | 'ragas_semantic_similarity' | 'ragas_non_llm_string_similarity' | 'ragas_non_llm_string_presence' | 'ragas_non_llm_exact_match' | 'relari_llm_based_custom_metric' | 'relari_llm_based_answer_correctness' | 'keywordsai_custom_evaluator' | 'keywordsai_custom_llm' | 'output_char_count' | 'output_word_count' | 'custom_code' — * `ragas_faithfulness` - ragas_faithfulness * `ragas_noise_sensitivity` - ragas_noise_sensitivity * `ragas_response_relevancy` - ragas_response_relevancy * `ragas_answer_relevancy` - ragas_answer_relevancy * `ragas_context_precision` - ragas_context_precision * `ragas_context_recall` - ragas_context_recall * `ragas_context_entity_recall` - ragas_context_entity_recall * `ragas_factual_correctness` - ragas_factual_correctness * `ragas_semantic_similarity` - ragas_semantic_similarity * `ragas_non_llm_string_similarity` - ragas_non_llm_string_similarity * `ragas_non_llm_string_presence` - ragas_non_llm_string_presence * `ragas_non_llm_exact_match` - ragas_non_llm_exact_match * `relari_llm_based_custom_metric` - relari_llm_based_custom_metric * `relari_llm_based_answer_correctness` - relari_llm_based_answer_correctness * `keywordsai_custom_evaluator` - keywordsai_custom_evaluator * `keywordsai_custom_llm` - keywordsai_custom_llm * `output_char_count` - output_char_count * `output_word_count` - output_word_count * `custom_code` - custom_code
    - ''
  - `starred` boolean
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `created_by` Editor, required
    - `id` integer, required
    - `email` string, required
    - `name` string, required
    - `username` string
    - `first_name` string
    - `last_name` string
  - `updated_by` Editor, required
    - `id` integer, required
    - `email` string, required
    - `name` string, required
    - `username` string
    - `first_name` string
    - `last_name` string

---

[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)
