# Checks_ListReferenceRanges

`GET /v1/accounts/{account}/checks/{check}/referenceRanges`

Lists a check's reference ranges. The check may be `-` to list every
check's.

- 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.
- `check` (path, string, required): The check 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.
- `filter` (query, string): AIP-160 filter. Fields: interface_hash, robot, metric.

## Responses

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

## Schemas

```yaml
qualia.v1.ListReferenceRangesResponse:
  type: object
  properties:
    referenceRanges:
      type: array
      items:
        $ref: "#/components/schemas/qualia.v1.ReferenceRange"
      description: One page of ranges.
    nextPageToken:
      type: string
      description: Empty on the last page.
  description: Response for Checks.ListReferenceRanges.
qualia.v1.ReferenceRange:
  type: object
  properties:
    name:
      type: string
      description: accounts/{account}/checks/{check}/referenceRanges/{reference_range}
    interfaceHash:
      readOnly: true
      type: string
      description: The robot interface hash `b3:<hex>` the population shares.
    robot:
      readOnly: true
      type: string
      description: |-
        accounts/{account}/robots/{robot} when the population is narrowed to one
        fleet robot; empty for the whole interface.
    metric:
      readOnly: true
      type: string
      description: The metric, as an Episode.Metrics field name.
    quantiles:
      readOnly: true
      type: array
      items:
        type: number
        format: double
      description: p05, p10, p25, p50, p75, p90, p95, p99.
    mad:
      readOnly: true
      type: number
      description: Median absolute deviation.
      format: double
    fenceLow:
      readOnly: true
      type: number
      description: The lower fence the checks use.
      format: double
    fenceHigh:
      readOnly: true
      type: number
      description: The upper fence the checks use.
      format: double
    sampleCount:
      readOnly: true
      type: string
      description: Episodes in the population.
    computeTime:
      readOnly: true
      type: string
      description: When it was computed.
      format: date-time
    confirmedLow:
      readOnly: true
      type: number
      description: Human-confirmed bounds. Each side is independent; calibration preserves them.
      format: double
    confirmedHigh:
      readOnly: true
      type: number
      description: Independently confirmed upper bound.
      format: double
    confirmedBy:
      readOnly: true
      allOf:
        - $ref: "#/components/schemas/qualia.v1.Actor"
      description: Who confirmed the bounds and when. Absent after clearing them.
    confirmedAt:
      readOnly: true
      type: string
      description: When the bounds were confirmed.
      format: date-time
  description: |-
    A robot's reference range for one metric: the quantiles of its
    own episodes, so each episode is checked against its own robot's takes and
    checks stay meaningful across mixed rigs. The population is every KEPT or
    UNREVIEWED episode of the workspace on the same robot interface, and a
    workspace lists and reads only its own ranges. The episode
    rules' configuration: only `checks/episode-rules` has them.

    Served by qds-api.
qualia.v1.Actor:
  type: object
  properties:
    kind:
      readOnly: true
      enum:
        - KIND_UNSPECIFIED
        - PERSON
        - VALIDATION
        - RULE
        - MODEL
        - OPERATOR
        - SYSTEM
      type: string
      description: What kind of actor it is.
      format: enum
    user:
      readOnly: true
      type: string
      description: The person's user id when `kind` is PERSON; empty otherwise.
    displayName:
      readOnly: true
      type: string
      description: The person's display name at the time, for rendering without a lookup.
    agent:
      readOnly: true
      type: string
      description: |-
        The rule code, or for a MODEL the Qualia model tier (e.g. "qualia-vlm";
        "qualia" for any other model), when not a person.
    run:
      readOnly: true
      type: string
      description: The run a model or rule finding came from, when it has one.
    apiKey:
      readOnly: true
      type: string
      description: |-
        The API key's id when a person acted through one; empty for a session.
        Never the key itself.
    attribution:
      readOnly: true
      allOf:
        - $ref: "#/components/schemas/qualia.v1.Attribution"
      description: |-
        Signed identity evidence recorded with the change, kept apart from the
        principal above. Unset on older records and wherever none was signed.
  description: Who did something. Every decision, issue and reply names one.
qualia.v1.Attribution:
  type: object
  properties:
    authentication:
      readOnly: true
      enum:
        - AUTHENTICATION_UNSPECIFIED
        - SESSION
        - API_KEY
        - SERVICE
      type: string
      description: How the principal authenticated.
      format: enum
    initiator:
      readOnly: true
      type: string
      description: |-
        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.
    initiatorDisplayName:
      readOnly: true
      type: string
      description: The initiator's display name at the time, never their email.
    credentialCreator:
      readOnly: true
      type: string
      description: The user id of the key's creator at the time. Not who used the key.
    credentialOwner:
      readOnly: true
      enum:
        - CREDENTIAL_OWNER_UNSPECIFIED
        - PERSON
        - SPACE
      type: string
      description: Who owned the key at the time.
      format: enum
    credentialOwnerSpace:
      readOnly: true
      type: string
      description: |-
        The owning space's id (a workspace or the organization) when
        `credential_owner` is SPACE.
  description: |-
    How a change was authenticated and who verifiably started it.
    Only the trusted mesh signs it. It never authorizes anything, and a key's
    creator or owner is never the person who used the key.
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.
```
