Skip to content

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.

ParametersExpand Collapse
group_id: str
include_archived: Optional[bool]

Include archived items in schema analysis

ReturnsExpand Collapse
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

minimum0
source: Literal["data", "task_result_cache"]

The source of the field: ‘data’ or ‘task_result_cache’

One of the following:
"data"
"task_result_cache"
object: Optional[Literal["field_schema"]]
total_items: int

Total number of evaluation items

minimum0
is_sampled: Optional[bool]

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

object: Optional[Literal["evaluation_schema"]]
sample_size: Optional[int]

Number of items sampled for schema inference, if applicable

minimum0
object: Optional[Literal["evaluation_group_schema"]]

Get Evaluation Group Schema

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)
{
  "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"
}
Returns Examples
{
  "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"
}