## Get Evaluation Group Schema

`evaluation_groups.retrieve_schema(strgroup_id, EvaluationGroupRetrieveSchemaParams**kwargs)  -> EvaluationGroupRetrieveSchemaResponse`

**get** `/v5/evaluation-groups/{group_id}/schema`

Return a separate column schema for each active member evaluation of the group.

Rather than a single merged schema, the response holds one schema entry per active
member evaluation (each with its field list, total item count, and sampling info),
which lets a caller filter columns down to a chosen subset of the group's evaluations.
Schemas are computed from the member evaluations' items; include_archived controls
whether archived items are counted in that analysis. A group with no active members
returns an empty schema list. This differs from the plain get endpoint, which returns
group metadata and members but not their column schemas.

### Parameters

- `group_id: str`

- `include_archived: Optional[bool]`

  Include archived items in schema analysis

### Returns

- `class EvaluationGroupRetrieveSchemaResponse: …`

  Per-evaluation schemas for all members of an evaluation group

  - `evaluation_group_id: str`

    The ID of the evaluation group

  - `evaluation_schemas: List[EvaluationSchemaResponse]`

    Schema for each member evaluation in the group, one entry per active evaluation

    - `evaluation_id: str`

      The ID of the evaluation

    - `fields: List[Field]`

      List of all discovered fields, ordered alphabetically by field_name

      - `data_type: str`

        JSON type: 'string', 'number', 'boolean', 'object', 'array', or 'null'

      - `field_name: str`

        The flattened JSON key path (e.g., 'metadata.category')

      - `item_count: int`

        Number of evaluation items containing this field

      - `source: Literal["data", "task_result_cache"]`

        The source of the field: 'data' or 'task_result_cache'

        - `"data"`

        - `"task_result_cache"`

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

        - `"field_schema"`

    - `total_items: int`

      Total number of evaluation items

    - `is_sampled: Optional[bool]`

      Whether schema was computed from a sample of items (for large evaluations)

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

      - `"evaluation_schema"`

    - `sample_size: Optional[int]`

      Number of items sampled for schema inference, if applicable

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

    - `"evaluation_group_schema"`

### 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
)
response = client.evaluation_groups.retrieve_schema(
    group_id="group_id",
)
print(response.evaluation_group_id)
```

#### Response

```json
{
  "evaluation_group_id": "evaluation_group_id",
  "evaluation_schemas": [
    {
      "evaluation_id": "evaluation_id",
      "fields": [
        {
          "data_type": "data_type",
          "field_name": "field_name",
          "item_count": 0,
          "source": "data",
          "object": "field_schema"
        }
      ],
      "total_items": 0,
      "is_sampled": true,
      "object": "evaluation_schema",
      "sample_size": 0
    }
  ],
  "object": "evaluation_group_schema"
}
```
