Episodes_SummarizeEpisodes
const url = 'https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/episodes:summarize';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The account id.
The dataset id.
Query Parameters
Section titled “Query Parameters ”Same language as ListEpisodes.filter.
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.
Metric fields to describe, e.g. “metrics.duration_seconds”.
Histogram bins per metric; 0 means 30.
Responses
Section titled “ Responses ”OK
Response for Episodes.SummarizeEpisodes.
object
Episodes the filter leaves.
Their recorded time, seconds.
Frames.
One per requested facet.
One facet: counts per value.
object
The facet field.
Buckets, largest first.
One value and how many episodes carry it.
object
The value, as the filter spells it.
Episodes carrying it.
Distinct values beyond the buckets returned.
One per requested metric.
One metric’s distribution over the filtered episodes.
object
The metric field.
Episodes with a value.
P05, p10, p25, p50, p75, p90, p95.
Bin edges, bin_count + 1 values.
Episodes per bin.
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.
Upper fence.
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
Section titled “default ”Default error response
A refusal from the API itself.
object
The gRPC code name in upper case, e.g. NOT_FOUND.
Whether the same call may succeed if retried.
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.
object
A refusal from the gateway before the call reaches the API, for example 401 bad or missing API key, 403 key lacks the scope or environment closed, 413 body too large.
object
What went wrong.
Example generated
{ "code": "example", "message": "example", "retryable": true, "details": [ {} ]}