# RunScoreAggregate

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/runscoreaggregate/
> Summary: OpenAPI request or response schema for RunScoreAggregate, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

One aggregated group: every score sharing a breakdown key AND a
RunScoreKind.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `key` | yes | `string` | The breakdown key: a score name, an author, a source, or an agent name, depending on which list this entry is in. | — |
| `kind` | yes | [`RunScoreKind`](/http-api/schemas/runscorekind/) | The shape every score in this group shares. | — |
| `count` | yes | `integer (int64)` | The number of scores in the group, INCLUDING those carrying no value. | pattern `^-?(?:0\\|[1-9]\d*)$` |
| `noValueCount` | no | `integer (int64)` | The number of scores in the group carrying no value (`Value` is `null`). A RunScoreKind.Categorical score always carries no value, so for that kind this equals `Count`. Never counted into `Average`. | pattern `^-?(?:0\\|[1-9]\d*)$` |
| `average` | no | `number (double)` | The average value. `null` for RunScoreKind.Categorical, or when every score in the group carries no value. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$` |
| `minimum` | no | `number (double)` | The smallest value. Same null rule as `Average`. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$` |
| `maximum` | no | `number (double)` | The largest value. Same null rule as `Average`. | pattern `^-?(?:0\\|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$` |
| `categories` | no | `object` | Count per category (`TextValue`), highest count first. Populated only on IReadOnlyList&lt;RunScoreAggregate&gt; RunScoreSummary.ByName entries whose RunScoreKind RunScoreAggregate.Kind is RunScoreKind.Categorical; every other group carries an empty map. | — |
| `truncatedCategoryCount` | no | `integer (int64)` | The number of distinct categories that did NOT fit inside IReadOnlyDictionary&lt;string, long&gt; RunScoreAggregate.Categories because `MaxRows` (RunScoreQuery) was reached. Zero when nothing was cut. Reported instead of silently dropping categories, which would read as "these categories do not exist". | pattern `^-?(?:0\\|[1-9]\d*)$` |
