## Get Evaluation Group Schema

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

### Path Parameters

- `group_id: string`

### Query Parameters

- `include_archived: optional boolean`

  Include archived items in schema analysis

### Returns

- `evaluation_group_id: string`

  The ID of the evaluation group

- `evaluation_schemas: array of EvaluationSchemaResponse`

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

  - `evaluation_id: string`

    The ID of the evaluation

  - `fields: array of object { data_type, field_name, item_count, 2 more }`

    List of all discovered fields, ordered alphabetically by field_name

    - `data_type: string`

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

    - `field_name: string`

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

    - `item_count: number`

      Number of evaluation items containing this field

    - `source: "data" or "task_result_cache"`

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

      - `"data"`

      - `"task_result_cache"`

    - `object: optional "field_schema"`

      - `"field_schema"`

  - `total_items: number`

    Total number of evaluation items

  - `is_sampled: optional boolean`

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

  - `object: optional "evaluation_schema"`

    - `"evaluation_schema"`

  - `sample_size: optional number`

    Number of items sampled for schema inference, if applicable

- `object: optional "evaluation_group_schema"`

  - `"evaluation_group_schema"`

### Example

```http
curl https://api.egp.scale.com/v5/evaluation-groups/$GROUP_ID/schema \
    -H "x-api-key: $SGP_API_KEY"
```

#### 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"
}
```
