Checks_GetCheckRun
const url = 'https://dev-api.qualiastudios.dev/v1/accounts/example/checks/example/runs/example';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://dev-api.qualiastudios.dev/v1/accounts/example/checks/example/runs/example \ --header 'X-API-Key: <X-API-Key>'Gets one run. NOT_FOUND outside the caller’s workspace, and under another check than the one it ran.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The account id.
The check id.
The run id.
Responses
Section titled “ Responses ”OK
One run of a check over a dataset, as RunCheck recorded it (QUA-3397). Its id is the operation’s (RunCheckResponse.operation), so its events on the record name it too. A merged dataset is checked one upload at a time, one run each, named under the upload, but for VLM and REACH, which are one run named under the merged dataset.
Served by qds-api.
object
Accounts/{account}/checks/{check}/runs/{run}
Accounts/{account}/datasets/{dataset}: the dataset it checked (an upload, for each per-upload run of a merged dataset).
Accounts/{account}/operations/{operation}: the same id, as RunCheckResponse.operation and the record’s events name it.
Where it stands.
Why it failed; empty otherwise.
Episodes of the selection; 0 when it checked the whole dataset.
Issues and notes it opened (new ones, and ones a re-run had closed); set once it succeeded.
Open issues and notes it no longer found, dismissed as RESOLVED; set once it succeeded.
Who started it.
object
What kind of actor it is.
The person’s user id when kind is PERSON; empty otherwise.
The person’s display name at the time, for rendering without a lookup.
The rule code, or the model id (e.g. “gemini-robotics-er”), when not a person.
The run a model or rule finding came from, when it has one.
The API key’s id when a person acted through one; empty for a session. Never the key itself.
Signed identity evidence recorded with the change, kept apart from the principal above. Unset on older records and wherever none was signed.
object
How the principal authenticated.
The user id of a person verified as starting the work: the person of a session, or the person a trusted service’s signed job record names. Empty when nobody was verified.
The initiator’s display name at the time, never their email.
The user id of the key’s creator at the time. Not who used the key.
Who owned the key at the time.
The owning space’s id (a workspace or the organization) when
credential_owner is SPACE.
When RunCheck recorded it.
When it last moved; once it ended, when it ended.
The VLM check’s.
object
The model that read (or reads) the episodes: the one asked for, or once the run answered, the one it reports. Empty while a run that named none has not answered.
The pipeline run that reads the episodes, a UUID; empty until it started. The gateway serves its status and settled credits.
Episodes planned for the model: linked to a published task.
Episodes of the selection left out: no published task.
Planned episodes the model could not read (no published video, a refused call, an invalid answer); their issues are left as they were.
Findings written, by verdict.
Failing findings: issues at CONFIDENT confidence or more, else notes.
Uncertain findings: notes.
Accounts/{account}/datasets/{dataset}/checks/{check}: the catalog checks a RunDatasetChecks run reads, by category then check id; empty for a run of the single VLM check.
A graph check run’s review health, computed once when its pipeline run ended; set once the run succeeded on a template with the review_health step.
object
The rules could read this run. When false, unavailable_code and
unavailable_reason say why; the numbers, rows, questions and checks
are unset.
Why not: “no_decisions” (no episode read), “no_task_review” (no observation was read), “no_task_map” (no upload of the run has a task discovery), “map_incomplete” (the map covers under 90% of the run’s episodes, e.g. after cuts), “partial_run” (the run read under 90% of the discovered episodes) or “invalid_input”.
Why not, in a sentence.
“review-health-v1”.
Sha256 of the frozen thresholds (CurationBench’s THRESHOLDS_SHA256).
Accounts/{account}/operations/{operation}: the prepare runs whose task discovery it read, one per upload.
Episodes read.
Of them, episodes whose observation was read.
Removals.
Removed_count / episode_count.
Episodes the discovery map calls successful.
Map_succeeded_count / episode_count.
The kept share less the share the map calls successful.
Removals whose observation says the task was completed (they deviated).
Removed_completed_count / removed_count.
Share of the run’s episodes the map covers.
Share of the run’s episodes judged against a Task linked to their own discovered task.
The contradiction rule ran: false when grouping_agreement is under 0.9.
Per task, largest first.
One task’s numbers.
object
The task’s display name in the discovery, else the Task’s label.
Its episodes in the run.
Of them, removals.
Of them, episodes the discovery map calls successful.
Removed_count / episode_count.
Map_succeeded_count / episode_count.
The kept share less the share the map calls successful.
At most three questions, in the rules’ order.
One question for a person, with example episodes.
object
The rule that asks it: “contradiction” (tasks may be mixed), “under_removal”, “over_removal” or “outcome_data”.
The question, in a sentence.
Why it is asked, with the numbers.
Contradiction: the tasks it fires on.
A task (or variant) the contradiction rule fires on.
object
The task’s display name in the discovery.
The variant’s name; empty for a whole task.
Its episodes in the run.
Of them, removals: a failing finding.
Of them, episodes the discovery map calls successful.
The SUCCESS references most of them were judged against, by episode id: a Task’s reference can live in another dataset.
Example episodes.
Where it is answered: “tasks” (the task grouping and the references), “miss_check” (the miss check below), or empty.
The rules of questions past the three, not shown.
The spot check.
object
The episodes, at most ten, picked reproducibly from the pool.
Every removal the map calls successful.
Wrong removals among the episodes that say the references or the Task may not fit the dataset (4).
The miss check; unset unless the run keeps too much.
object
The episodes shown, at most eight.
The rest of the queue, in removal-score order.
The whole queue.
Removals among the shown episodes that say the rest likely go too (5).
Episodes whose proposed labels did not publish. Their findings stand; a run above zero is partial.
The first 100 of those episodes, each with why.
An episode whose proposed labels did not publish.
object
Accounts/{account}/datasets/{dataset}/episodes/{episode}
Why, as the publisher answered.
Nobody saw the publication end: it may still land. Running the same reading again replays it.
Example
{ "state": "STATE_UNSPECIFIED", "creator": { "kind": "KIND_UNSPECIFIED", "attribution": { "authentication": "AUTHENTICATION_UNSPECIFIED", "credentialOwner": "CREDENTIAL_OWNER_UNSPECIFIED" } }}default
Section titled “default ”Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
object
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
object
The type of the serialized message.
Example generated
{ "code": 1, "message": "example", "details": [ { "@type": "example" } ]}