## Update a criterion

`rubrics.criteria.update(strrubric_criteria_id, CriterionUpdateParams**kwargs)  -> RubricCriteriaResponse`

**patch** `/v5/rubrics/{rubric_id}/criteria/{rubric_criteria_id}`

Apply a partial update to a criterion, creating a new version.

Updates are append-only: rather than overwriting the criterion in place, each
update inserts a new immutable version with an incremented version number, so
every prior state stays available through the versions endpoint. Fields not
supplied are carried forward from the current version. The request is rejected
if the criterion does not belong to the rubric named in the path.

### Parameters

- `rubric_id: str`

- `rubric_criteria_id: str`

- `annotations: Optional[Dict[str, object]]`

  Free-form metadata for the Criteria

- `title: Optional[str]`

  The Criteria text

- `weight: Optional[float]`

  Weight multiplier for scoring

### Returns

- `class RubricCriteriaResponse: …`

  - `id: str`

  - `created_at: datetime`

  - `rubric_id: str`

  - `title: str`

  - `version: int`

  - `annotations: Optional[Dict[str, object]]`

  - `object: Optional[Literal["rubric_criteria"]]`

    - `"rubric_criteria"`

  - `weight: Optional[float]`

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
rubric_criteria_response = client.rubrics.criteria.update(
    rubric_criteria_id="rubric_criteria_id",
    rubric_id="rubric_id",
)
print(rubric_criteria_response.id)
```

#### Response

```json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "rubric_id": "rubric_id",
  "title": "title",
  "version": 0,
  "annotations": {
    "foo": "bar"
  },
  "object": "rubric_criteria",
  "weight": 0
}
```
