Skip to content

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.

ParametersExpand Collapse
rubric_id: str
rubric_criteria_id: str
annotations: Optional[Dict[str, object]]

Free-form metadata for the Criteria

title: Optional[str]

The Criteria text

minLength1
weight: Optional[float]

Weight multiplier for scoring

minimum0
ReturnsExpand Collapse
class RubricCriteriaResponse: …
id: str
created_at: datetime
formatdate-time
rubric_id: str
title: str
version: int
annotations: Optional[Dict[str, object]]
object: Optional[Literal["rubric_criteria"]]
weight: Optional[float]

Update a criterion

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)
{
  "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
}
Returns Examples
{
  "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
}