Skip to content

Create a rubric

rubrics.create(RubricCreateParams**kwargs) -> RubricResponse
POST/v5/rubrics

Create a rubric, optionally with its initial criteria in the same request.

The rubric is created for the caller’s account at version 1. If the optional criteria field is supplied it must contain at least one entry, and each entry is created as a criterion attached to the new rubric; omit it to create an empty rubric and add criteria later via the criteria endpoint. The response returns the created rubric together with the full detail of any criteria created in this call.

ParametersExpand Collapse
title: str

The rubric title

minLength1
criteria: Optional[Iterable[RubricCriteriaInputParam]]

Initial criteria to create with the rubric

title: str

The Criteria text

minLength1
annotations: Optional[Dict[str, object]]

Free-form metadata for the Criteria

weight: Optional[float]

Weight multiplier for scoring

minimum0
tags: Optional[Sequence[str]]

The tags associated with the entity

ReturnsExpand Collapse
class RubricResponse: …
id: str
created_at: datetime
formatdate-time
created_by: Identity

The identity that created the entity.

id: str
type: Literal["user", "service_account"]
One of the following:
"user"
"service_account"
object: Optional[Literal["identity"]]
tags: Optional[List[str]]

The tags associated with the entity

title: str
version: int
archived_at: Optional[datetime]
formatdate-time
criteria: Optional[List[Criterion]]

Full criteria on get, summary (title + weight) on list

One of the following:
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]
class RubricCriteriaSummaryResponse: …

Slim criteria projection for list endpoints (title + weight only).

title: str
weight: Optional[float]
object: Optional[Literal["rubric"]]
updated_at: Optional[datetime]
formatdate-time

Create a rubric

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_response = client.rubrics.create(
    title="x",
)
print(rubric_response.id)
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "tags": [
    "string"
  ],
  "title": "title",
  "version": 0,
  "archived_at": "2019-12-27T18:11:19.117Z",
  "criteria": [
    {
      "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
    }
  ],
  "object": "rubric",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "tags": [
    "string"
  ],
  "title": "title",
  "version": 0,
  "archived_at": "2019-12-27T18:11:19.117Z",
  "criteria": [
    {
      "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
    }
  ],
  "object": "rubric",
  "updated_at": "2019-12-27T18:11:19.117Z"
}