Skip to content

Episodes_SummarizeEpisodes

GET
/v1/accounts/{account}/datasets/{dataset}/episodes:summarize
curl --request GET \
--url https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/episodes:summarize \
--header 'X-API-Key: <X-API-Key>'

Counts, facets and metric distributions over the episodes a filter leaves: what the filter chips, the status bar and the outlier cards read.

account
required
string

The account id.

dataset
required
string

The dataset id.

filter
string

Same language as ListEpisodes.filter.

facets
Array<string>

Facet fields to count, e.g. “state”, “open_issue_codes”, “note_codes”, “task”, “instruction”, “tags”, “operator”, “method”, “methods”, “scene”, “rig”, “upload”, “outcome”, “linked_task”, “metrics.quality_tier”, “metrics.jerky”, “viewed”, “decision.actor.kind”. Empty means state only.

metrics
Array<string>

Metric fields to describe, e.g. “metrics.duration_seconds”.

binCount
integer format: int32

Histogram bins per metric; 0 means 30.

OK

Media type application/json

Response for Episodes.SummarizeEpisodes.

object
episodeCount

Episodes the filter leaves.

string
durationSeconds

Their recorded time, seconds.

number format: double
frameCount

Frames.

string
facets

One per requested facet.

Array<object>

One facet: counts per value.

object
field

The facet field.

string
buckets

Buckets, largest first.

Array<object>

One value and how many episodes carry it.

object
value

The value, as the filter spells it.

string
count

Episodes carrying it.

string
otherCount

Distinct values beyond the buckets returned.

string
distributions

One per requested metric.

Array<object>

One metric’s distribution over the filtered episodes.

object
field

The metric field.

string
sampleCount

Episodes with a value.

string
quantiles

P05, p10, p25, p50, p75, p90, p95.

Array<number>
binEdges

Bin edges, bin_count + 1 values.

Array<number>
binCounts

Episodes per bin.

Array<string>
fenceLow

Lower and upper fences the checks use for this metric in this dataset (Q1 - 3 IQR, Q3 + 3 IQR over its robot’s reference); NaN when unfenced.

number format: double
fenceHigh

Upper fence.

number format: double
Example generated
{
"episodeCount": "example",
"durationSeconds": 1,
"frameCount": "example",
"facets": [
{
"field": "example",
"buckets": [
{
"value": "example",
"count": "example"
}
],
"otherCount": "example"
}
],
"distributions": [
{
"field": "example",
"sampleCount": "example",
"quantiles": [
1
],
"binEdges": [
1
],
"binCounts": [
"example"
],
"fenceLow": 1,
"fenceHigh": 1
}
]
}

Default error response

Media type application/json
One of:
API error

A refusal from the API itself.

object
code
required

The gRPC code name in upper case, e.g. NOT_FOUND.

string
message
required
string
retryable
required

Whether the same call may succeed if retried.

boolean
details
required

Empty, except when a dataset copy or move is refused: then one google.rpc.ErrorInfo with the refusal’s reason code, its domain and, in metadata, the datasets it names.

Array<object>
object
Example generated
{
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
]
}