## List rubrics

`rubrics.list(RubricListParams**kwargs)  -> SyncCursorPage[RubricResponse]`

**get** `/v5/rubrics`

List the current account's rubrics, paginated.

Only the latest version of each rubric is returned, and archived rubrics are
excluded (this endpoint has no option to include them). The optional `title`
filter matches as a case-insensitive substring, and the optional `tags` filter
narrows results to rubrics carrying the given tags. Each returned rubric
carries only a slim criteria summary (title and weight per criterion) rather
than full criteria; use the get-rubric endpoint to retrieve full criteria
detail.

### Parameters

- `ending_before: Optional[str]`

- `limit: Optional[int]`

- `sort_by: Optional[str]`

- `sort_order: Optional[SortOrder]`

  - `"asc"`

  - `"desc"`

- `starting_after: Optional[str]`

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

  Filter by tags

- `title: Optional[str]`

  Filter by title (case-insensitive)

### 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
)
page = client.rubrics.list()
page = page.items[0]
print(page.id)
```

#### Response

```json
{
  "has_more": true,
  "items": [
    {
      "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"
    }
  ],
  "total": 0,
  "limit": 0,
  "object": "list"
}
```
