# Checks_ListDatasetChecks

`GET /v1/accounts/{account}/datasets/{dataset}/checks`

Lists the catalog's checks as one dataset sees them: every
active check version, grouped by category in the order returned, each
with whether it can run on this dataset now and its latest completed
result here. A check that cannot run is listed with the reason, never
left out. NOT_FOUND outside the caller's workspace.

- Base URL: `https://junction-api.qualiastudios.dev`
- Authentication: an API key in the `X-API-Key` header

## Parameters

- `account` (path, string, required): The account id.
- `dataset` (path, string, required): The dataset id.
- `pageSize` (query, integer (int32)): At most this many; 0 means 100, the maximum is 1000.
- `pageToken` (query, string): From a previous response's next_page_token.

## Responses

- `200` OK: `application/json` `qualia.v1.ListDatasetChecksResponse`
- `default` Default error response: `application/json` `google.rpc.Status`

## Schemas

```yaml
qualia.v1.ListDatasetChecksResponse:
  type: object
  properties:
    datasetChecks:
      type: array
      items:
        $ref: "#/components/schemas/qualia.v1.DatasetCheck"
      description: One page of checks, by category then check id.
    nextPageToken:
      type: string
      description: Empty on the last page.
  description: Response for Checks.ListDatasetChecks.
qualia.v1.DatasetCheck:
  type: object
  properties:
    name:
      type: string
      description: |-
        accounts/{account}/datasets/{dataset}/checks/{check}; {check} is the
        check id, e.g. `task.graph`.
    checkId:
      readOnly: true
      type: string
      description: "The stable, namespaced check id: `<category>.<name>`."
    version:
      readOnly: true
      type: integer
      description: The active version.
      format: int32
    displayName:
      readOnly: true
      type: string
      description: A short display name.
    category:
      readOnly: true
      type: string
      description: The category it groups under, e.g. `task` or `quality`.
    kind:
      readOnly: true
      enum:
        - KIND_UNSPECIFIED
        - VLM
        - HEURISTIC
      type: string
      description: How it reads an episode.
      format: enum
    description:
      readOnly: true
      type: string
      description: "One sentence: what it checks."
    requiredInputs:
      readOnly: true
      type: array
      items:
        type: string
      description: |-
        What an episode needs for the check to read it, e.g. `task.revision`,
        `episode.media`.
    runnable:
      readOnly: true
      type: boolean
      description: Whether RunDatasetChecks can select it on this dataset now.
    unavailableReason:
      readOnly: true
      type: string
      description: Why not, when it is not runnable; empty otherwise.
    lastResult:
      readOnly: true
      allOf:
        - $ref: "#/components/schemas/qualia.v1.DatasetCheck_Result"
      description: The latest completed result here; unset when it never ran here.
    runningCheckRun:
      readOnly: true
      type: string
      description: |-
        accounts/{account}/checks/{check}/runs/{run}: the newest run of this
        check still running on this dataset, whoever started it; empty when none
        is. A person's RunDatasetChecks selecting it is refused until it ends.
  description: |-
    A check in the platform's catalog, as one dataset sees it. A
    check is a reviewed, versioned unit of verification that yields a verdict
    and findings per episode; it is not a model call or a pipeline template.
    Its definition is published on deploy and never changes under a version.

    Served by qds-api.
qualia.v1.DatasetCheck_Result:
  type: object
  properties:
    checkRun:
      readOnly: true
      type: string
      description: "accounts/{account}/checks/vlm/runs/{run}: the run."
    completeTime:
      readOnly: true
      type: string
      description: When it ended.
      format: date-time
    version:
      readOnly: true
      type: integer
      description: The check version it ran.
      format: int32
    selectedCount:
      readOnly: true
      type: integer
      description: |-
        Episodes the run selected (after its filter and sample), so a partial
        sample is not read as full coverage.
      format: int32
    skippedCount:
      readOnly: true
      type: integer
      description: Of those, episodes the check could not read (ineligible or unread).
      format: int32
    partial:
      readOnly: true
      type: boolean
      description: Whether the run read a filtered or sampled subset of the dataset.
    passCount:
      readOnly: true
      type: integer
      description: Findings it wrote, by verdict.
      format: int32
    failCount:
      readOnly: true
      type: integer
      description: Failing findings.
      format: int32
    unknownCount:
      readOnly: true
      type: integer
      description: Findings that could not tell.
      format: int32
    issueCount:
      readOnly: true
      type: integer
      description: Of its findings, those raised as issues (a confident fail).
      format: int32
    noteCount:
      readOnly: true
      type: integer
      description: |-
        Of its findings, those raised as notes (a less confident fail, or
        unknown).
      format: int32
    assessedCount:
      readOnly: true
      type: integer
      description: |-
        Episodes the check wholly assessed: every result for the episode a pass
        or a fail. Less than `selected_count` means some episodes were not
        wholly assessed. Zero means none was wholly assessed; classify as not
        assessed only when `pass_count` and `fail_count` are also both zero (a
        camera can fail while another is unassessed). Set for heuristic checks;
        unset for a VLM check or a run recorded before the count was kept.
      format: int32
    unassessedReasons:
      readOnly: true
      type: array
      items:
        $ref: "#/components/schemas/qualia.v1.DatasetCheck_UnassessedReason"
      description: |-
        Why results were not assessed, most frequent first, as the check said
        (e.g. `missing or invalid metric: jerk_mean`). Empty when every result
        was assessed, for a VLM check, or for a run recorded before reasons
        were kept.
  description: The latest completed run of the check on this dataset.
qualia.v1.DatasetCheck_UnassessedReason:
  type: object
  properties:
    reason:
      readOnly: true
      type: string
      description: The check's own words, at most 200 characters.
    count:
      readOnly: true
      type: integer
      description: Results not assessed for this reason.
      format: int32
  description: One reason a check could not assess results, and how many it covers.
google.rpc.Status:
  oneOf:
    - $ref: "#/components/schemas/ApiError"
    - $ref: "#/components/schemas/GatewayError"
  description: "The body of a failed call: one of the two shapes below."
ApiError:
  title: API error
  type: object
  required:
    - code
    - message
    - retryable
    - details
  properties:
    code:
      type: string
      description: The gRPC code name in upper case, e.g. `NOT_FOUND`.
    message:
      type: string
    retryable:
      type: boolean
      description: Whether the same call may succeed if retried.
    details:
      type: array
      items:
        type: object
      description: "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."
  description: A refusal from the API itself.
GatewayError:
  title: Gateway error
  type: object
  required:
    - detail
  properties:
    detail:
      type: string
      description: What went wrong.
  description: 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.
```
