---
title: "Update Answer Score"
method: PATCH
path: "/v2/eval-runs/{eval_run_uuid}/responses/{response_uuid}"
tags: ["Eval Runs"]
---

# Update Answer Score

`PATCH /v2/eval-runs/{eval_run_uuid}/responses/{response_uuid}`

Update the score, confidence, or explanation for a specific response.

Args:
    eval_run_uuid (str): UUID of the eval run.
    response_uuid (str): UUID of the response to update.
    update_request (AnswerUpdateRequest): The update data.
    workspace_uuid (str, optional): UUID of the workspace. Defaults to None.

Returns:
    EvalScoredResponse: The updated response.

Raises:
    AymaraAPIError: If the response is not found or the request is invalid.

Example:
    PATCH /api/v2/eval-runs/{eval_run_uuid}/responses/{response_uuid}
    {
        "is_passed": true,
        "confidence": 0.95,
        "explanation": "Updated explanation"
    }

## Path parameters

- `eval_run_uuid` string, required
- `response_uuid` string, required

## Query parameters

- `workspace_uuid` string

## Request body

- AnswerUpdateRequest — Schema for updating answer scores.
  - `is_passed` boolean, nullable — Whether the response passed the evaluation.
  - `confidence` number, nullable — Confidence score for the response.
  - `explanation` string, nullable — Explanation for the response.

## Response `200`

OK

- EvalScoredResponse — Schema for returning AI response data.
  - `prompt_uuid` string, required — Unique identifier for the prompt.
  - `thread_uuid` string, nullable — Unique identifier for the thread, if any.
  - `turn_number` integer — Turn number in the conversation (default: 1).
  - `continue_thread` boolean — Whether to continue the thread after this response.
  - `content` union — Content of the AI response or a file reference.
    - string
    - FileReference — Reference to a file, either by file_uuid (preferred) or legacy remote_file_path. When file_uuid is provided, the system will look up the File record and use its remote_file_path. The remote_file_path field is maintained for backwards compatibility.
      - `file_uuid` string, nullable
      - `remote_file_path` string, nullable
  - `content_type` 'text' | 'image' | 'video' — Content type for AI interactions.
  - `exclude_from_scoring` boolean — Whether to exclude this response from scoring.
  - `ai_refused` boolean — Whether the AI refused to answer the prompt.
  - `response_uuid` string, nullable — Unique identifier for the response, if any.
  - `explanation` string, nullable — Explanation for the response, if any.
  - `confidence` number, nullable — Confidence score for the response, if any.
  - `is_passed` boolean, nullable — Whether the response passed the evaluation, if any.
  - `next_prompt` EvalPrompt
    - `prompt_uuid` string, required — Unique identifier for the prompt.
    - `thread_uuid` string, nullable — Unique identifier for the thread, if any.
    - `turn_number` integer — Turn number in the conversation (default: 1).
    - `content` string, required — Content of the prompt.
    - `category` string, nullable — Category of the prompt, if any.
  - `manually_updated` boolean — Whether this response was manually updated.
  - `manually_updated_by` UserOutSchema
    - `email` string, required
    - `organization` OrganizationOutSchema
      - `org_uuid` string, required
      - `name` string, required
    - `workspace` WorkspaceOutSchema
      - `workspace_uuid` string, nullable
      - `name` string, nullable
      - `organization_name` string, nullable
      - `organization_uuid` string, nullable
    - `org_admin_emails` string[], nullable
    - `is_admin` boolean, required
    - `is_impersonating` boolean, required
    - `feature_flags` FeatureFlags, required
      - `enable_dashboard` boolean, required
  - `manually_updated_at` string, date-time, nullable — Timestamp when this response was last manually updated.
  - `update_history` AnswerHistoryOut[], nullable — History of manual updates, if requested.
    - `answer_history_uuid` string, required — Unique identifier for the history entry.
    - `updated_by` UserOutSchema
      - `email` string, required
      - `organization` OrganizationOutSchema
        - `org_uuid` string, required
        - `name` string, required
      - `workspace` WorkspaceOutSchema
        - `workspace_uuid` string, nullable
        - `name` string, nullable
        - `organization_name` string, nullable
        - `organization_uuid` string, nullable
      - `org_admin_emails` string[], nullable
      - `is_admin` boolean, required
      - `is_impersonating` boolean, required
      - `feature_flags` FeatureFlags, required
        - `enable_dashboard` boolean, required
    - `previous_is_passed` boolean, nullable — Previous is_passed value.
    - `previous_confidence` number, nullable — Previous confidence value.
    - `previous_explanation` string, nullable — Previous explanation value.
    - `new_is_passed` boolean, nullable — New is_passed value.
    - `new_confidence` number, nullable — New confidence value.
    - `new_explanation` string, nullable — New explanation value.
    - `updated_at` string, date-time, required — Timestamp when the update was made.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error
- `503` — Service Unavailable

---

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