## 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.

### Parameters

- `title: str`

  The rubric title

- `criteria: Optional[Iterable[RubricCriteriaInputParam]]`

  Initial criteria to create with the rubric

  - `title: str`

    The Criteria text

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

    Free-form metadata for the Criteria

  - `weight: Optional[float]`

    Weight multiplier for scoring

- `tags: Optional[Sequence[str]]`

  The tags associated with the entity

### Returns

- `class RubricResponse: …`

  - `id: str`

  - `created_at: datetime`

  - `created_by: Identity`

    The identity that created the entity.

    - `id: str`

    - `type: Literal["user", "service_account"]`

      - `"user"`

      - `"service_account"`

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

      - `"identity"`

  - `tags: Optional[List[str]]`

    The tags associated with the entity

  - `title: str`

  - `version: int`

  - `archived_at: Optional[datetime]`

  - `criteria: Optional[List[Criterion]]`

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

    - `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]`

    - `class RubricCriteriaSummaryResponse: …`

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

      - `title: str`

      - `weight: Optional[float]`

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

    - `"rubric"`

  - `updated_at: Optional[datetime]`

### 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_response = client.rubrics.create(
    title="x",
)
print(rubric_response.id)
```

#### Response

```json
{
  "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"
}
```
