---
title: "Update Scorecard"
method: PATCH
path: "/scorecards/{id}"
tags: ["Scorecard"]
---

# Update Scorecard

`PATCH /scorecards/{id}`

Partially updates a scorecard. Only fields present in the request body are modified; omitted fields retain their current values. Requires an org-scoped API key.

## Path parameters

- `id` string, required

## Request body

- UpdateScorecardRequest — Partial update payload for a scorecard. All fields are optional; at least one must be present.
  - `title` string — Replacement title (1-128 characters, trimmed).
  - `teamUUID` string — Reassign the scorecard to a specific team. Mutually exclusive with allTeams=true.
  - `allTeams` boolean, nullable — Reassign the scorecard to every team. Mutually exclusive with teamId.
  - `enabled` boolean, nullable — Toggle the scorecard active state.
  - `interactionType` 'conversation' | 'chat' | 'email' — Type of interaction the scorecard evaluates.
  - `detailedInstructions` string — Replacement detailed instructions (0-2000 characters).
  - `scorecardPrompt` string — Replacement expert-mode prompt (0-8000 characters).
  - `expertMode` boolean, nullable — Toggle expert mode.
  - `criteria` ScorecardCriteria — Label-based criteria that gate when a scorecard is applied to an interaction.
    - `operator` 'AND' | 'OR' — Boolean operator joining criteria conditions.
    - `conditions` ScorecardCriteriaCondition[] — List of field/value conditions evaluated with the operator.
      - `field` string — Field path being matched (for example, a label UUID or label option UUID).
      - `value` string — Expected value for the field to satisfy the condition.

## Response `200`

Scorecard successfully updated

- ScorecardResponse — Single-resource envelope wrapping a Scorecard.
  - `data` Scorecard, required — A scorecard template used to evaluate a conversation, chat, or email.
    - `uuid` string, required — Scorecard UUID.
    - `title` string, required — Human-readable title of the scorecard (1-128 characters).
    - `organizationUUID` string, required — UUID of the organization that owns the scorecard.
    - `teamUUID` string — UUID of the specific team assigned to this scorecard, if any. Mutually exclusive with allTeams=true.
    - `allTeams` boolean, required — Whether the scorecard is assigned to every team in the organization.
    - `enabled` boolean, required — Whether the scorecard is active and runs against new interactions.
    - `interactionType` 'conversation' | 'chat' | 'email', required — Type of interaction the scorecard evaluates.
    - `detailedInstructions` string — Optional free-form guidance appended to the evaluator prompt.
    - `scorecardPrompt` string — Optional prompt override used in expert mode.
    - `expertMode` boolean, required — Whether this scorecard uses custom prompts (expert mode) instead of the default template.
    - `isDefaultTemplate` boolean, required — Whether this scorecard was seeded as one of the default organization templates.
    - `criteria` ScorecardCriteria — Label-based criteria that gate when a scorecard is applied to an interaction.
      - `operator` 'AND' | 'OR' — Boolean operator joining criteria conditions.
      - `conditions` ScorecardCriteriaCondition[] — List of field/value conditions evaluated with the operator.
        - `field` string — Field path being matched (for example, a label UUID or label option UUID).
        - `value` string — Expected value for the field to satisfy the condition.
    - `createdAt` string, date-time, required — Timestamp when the scorecard was created.

## Other responses

- `400` — Invalid request body (empty patch, title out of range, conflicting teamId+allTeams)
- `401` — Authentication failed - valid API key required
- `403` — Caller's API key does not have permission to modify this scorecard
- `404` — Scorecard not found in the caller's organization (returned for both missing and cross-org IDs)
- `422` — Request body failed schema-level validation (string shorter than minLength, value outside declared range, etc.). Emitted by the swagger validation layer before handler code runs.
- `default` — Unexpected error occurred while updating the scorecard

---

[API](https://skmtc.net/attention/apis/attention-service-v2.md) · [All operations](https://skmtc.net/attention/apis/attention-service-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/attention/attention-service-v2/revisions/5de55d3804cf/schema)
