---
title: "List test results for a test."
method: GET
path: "/tests/{testId}/results"
tags: ["Tests"]
---

# List test results for a test.

`GET /tests/{testId}/results`

List the test results for a test.

## Path parameters

- `testId` string, uuid, required

## Query parameters

- `page` integer
- `perPage` integer
- `projectVersionId` string, uuid, nullable
- `inferencePipelineId` string, uuid, nullable
- `includeInsights` boolean
- `status` string[]
- `startTimestamp` number
- `endTimestamp` number

## Response `200`

Status OK.

- object
  - `items` GoalResult[], required
    - `id` string, uuid, required — Project version (commit) id.
    - `goal` GoalBase
      - `id` string, uuid, required — The test id.
      - `number` integer, required — The test number.
      - `name` string, required — The test name.
      - `dateCreated` string, date-time, required — The creation date.
      - `dateUpdated` string, date-time, required — The last updated date.
      - `description` object, nullable, required — The test description.
      - `evaluationWindow` number, nullable — The evaluation window in seconds. Only applies to tests that use production data.
      - `delayWindow` number, nullable — The delay window in seconds. Only applies to tests that use production data.
      - `type` 'integrity' | 'consistency' | 'performance', required — The test type.
      - `subtype` 'anomalousColumnCount' | 'characterLength' | 'classImbalanceRatio' | 'expectColumnAToBeInColumnB' | 'columnAverage' | 'columnDrift' | 'columnStatistic' | 'columnValuesMatch' | 'conflictingLabelRowCount' | 'containsPii' | 'containsValidUrl' | 'correlatedFeatureCount' | 'customMetricThreshold' | 'duplicateRowCount' | 'emptyFeature' | 'emptyFeatureCount' | 'driftedFeatureCount' | 'featureMissingValues' | 'featureValueValidation' | 'greatExpectations' | 'groupByColumnStatsCheck' | 'illFormedRowCount' | 'isCode' | 'isJson' | 'llmRubricThresholdV2' | 'labelDrift' | 'metricThreshold' | 'newCategoryCount' | 'newLabelCount' | 'nullRowCount' | 'rowCount' | 'ppScoreValueValidation' | 'quasiConstantFeature' | 'quasiConstantFeatureCount' | 'sqlQuery' | 'dtypeValidation' | 'sentenceLength' | 'sizeRatio' | 'specialCharactersRatio' | 'stringValidation' | 'trainValLeakageRowCount', required — The test subtype.
      - `creatorId` string, uuid, nullable, required — The test creator id.
      - `originProjectVersionId` string, uuid, nullable, required — The project version (commit) id where the test was created.
      - `thresholds` object[], required
        - `measurement` string — The measurement to be evaluated.
        - `insightName` 'characterLength' | 'classImbalance' | 'expectColumnAToBeInColumnB' | 'columnAverage' | 'columnDrift' | 'columnValuesMatch' | 'confidenceDistribution' | 'conflictingLabelRowCount' | 'containsPii' | 'containsValidUrl' | 'correlatedFeatures' | 'customMetric' | 'duplicateRowCount' | 'emptyFeatures' | 'featureDrift' | 'featureProfile' | 'greatExpectations' | 'groupByColumnStatsCheck' | 'illFormedRowCount' | 'isCode' | 'isJson' | 'llmRubricV2' | 'labelDrift' | 'metrics' | 'newCategories' | 'newLabels' | 'nullRowCount' | 'ppScore' | 'quasiConstantFeatures' | 'sentenceLength' | 'sizeRatio' | 'specialCharacters' | 'stringValidation' | 'trainValLeakageRowCount' — The insight name to be evaluated.
        - `insightParameters` object[], nullable — The insight parameters. Required only for some test subtypes. For example, for tests that require a column name, the insight parameters will be [{'name': 'column_name', 'value': 'Age'}]
          - `name` string, required — The name of the insight filter.
          - `value` string, required
        - `thresholdMode` 'automatic' | 'manual' — Whether to use automatic anomaly detection or manual thresholds
        - `operator` 'is' | '>' | '>=' | '<' | '<=' | '!=' — The operator to be used for the evaluation.
        - `value` union — The value to be compared.
          - number
          - boolean
          - string
          - string[]
      - `archived` boolean — Whether the test is archived.
      - `dateArchived` string, date-time, nullable, required — The date the test was archived.
      - `suggested` boolean, required — Whether the test is suggested or user-created.
      - `commentCount` integer, required — The number of comments on the test.
      - `usesMlModel` boolean — Whether the test uses an ML model.
      - `usesValidationDataset` boolean — Whether the test uses a validation dataset.
      - `usesTrainingDataset` boolean — Whether the test uses a training dataset.
      - `usesReferenceDataset` boolean — Whether the test uses a reference dataset (monitoring mode only).
      - `usesProductionData` boolean — Whether the test uses production data (monitoring mode only).
    - `goalId` string, uuid, nullable — The test id.
    - `projectVersionId` string, uuid, nullable, required — The project version (commit) id.
    - `inferencePipelineId` string, uuid, nullable, required — The inference pipeline id.
    - `dateCreated` string, date-time, required — The creation date.
    - `dateUpdated` string, date-time, required — The last updated date.
    - `dateDataStarts` string, date-time, nullable, required — The data start date.
    - `dateDataEnds` string, date-time, nullable, required — The data end date.
    - `status` 'running' | 'passing' | 'failing' | 'skipped' | 'error', required — The status of the test.
    - `statusMessage` string, nullable, required — The status message.
    - `expectedValues` object[]
      - `measurement` string — One of the `measurement` values in the test's thresholds
      - `upperThreshold` number, float, nullable — The upper threshold for the expected value
      - `lowerThreshold` number, float, nullable — the lower threshold for the expected value
    - `rows` string — The URL to the rows of the test result.
    - `rowsBody` DatasetFilter, nullable
      - `columnFilters` union[], nullable
        - union
          - object
            - `measurement` string, required — The name of the column.
            - `operator` 'contains_none' | 'contains_any' | 'contains_all' | 'one_of' | 'none_of', required
            - `value` union[], required
              - …
          - object
            - `measurement` string, required — The name of the column.
            - `operator` '>' | '>=' | 'is' | '<' | '<=' | '!=', required
            - `value` number, float, nullable, required
          - object
            - `measurement` string, required — The name of the column.
            - `operator` 'is' | '!=', required
            - `value` union, required
              - …
      - `searchQueryOr` string[], nullable
      - `searchQueryAnd` string[], nullable
      - `notSearchQueryOr` string[], nullable
      - `notSearchQueryAnd` string[], nullable
      - `rowIdList` integer[], nullable
      - `excludeRowIdList` integer[], nullable
  - `lastUnskippedResult` GoalResult
    - `id` string, uuid, required — Project version (commit) id.
    - `goal` GoalBase
      - `id` string, uuid, required — The test id.
      - `number` integer, required — The test number.
      - `name` string, required — The test name.
      - `dateCreated` string, date-time, required — The creation date.
      - `dateUpdated` string, date-time, required — The last updated date.
      - `description` object, nullable, required — The test description.
      - `evaluationWindow` number, nullable — The evaluation window in seconds. Only applies to tests that use production data.
      - `delayWindow` number, nullable — The delay window in seconds. Only applies to tests that use production data.
      - `type` 'integrity' | 'consistency' | 'performance', required — The test type.
      - `subtype` 'anomalousColumnCount' | 'characterLength' | 'classImbalanceRatio' | 'expectColumnAToBeInColumnB' | 'columnAverage' | 'columnDrift' | 'columnStatistic' | 'columnValuesMatch' | 'conflictingLabelRowCount' | 'containsPii' | 'containsValidUrl' | 'correlatedFeatureCount' | 'customMetricThreshold' | 'duplicateRowCount' | 'emptyFeature' | 'emptyFeatureCount' | 'driftedFeatureCount' | 'featureMissingValues' | 'featureValueValidation' | 'greatExpectations' | 'groupByColumnStatsCheck' | 'illFormedRowCount' | 'isCode' | 'isJson' | 'llmRubricThresholdV2' | 'labelDrift' | 'metricThreshold' | 'newCategoryCount' | 'newLabelCount' | 'nullRowCount' | 'rowCount' | 'ppScoreValueValidation' | 'quasiConstantFeature' | 'quasiConstantFeatureCount' | 'sqlQuery' | 'dtypeValidation' | 'sentenceLength' | 'sizeRatio' | 'specialCharactersRatio' | 'stringValidation' | 'trainValLeakageRowCount', required — The test subtype.
      - `creatorId` string, uuid, nullable, required — The test creator id.
      - `originProjectVersionId` string, uuid, nullable, required — The project version (commit) id where the test was created.
      - `thresholds` object[], required
        - `measurement` string — The measurement to be evaluated.
        - `insightName` 'characterLength' | 'classImbalance' | 'expectColumnAToBeInColumnB' | 'columnAverage' | 'columnDrift' | 'columnValuesMatch' | 'confidenceDistribution' | 'conflictingLabelRowCount' | 'containsPii' | 'containsValidUrl' | 'correlatedFeatures' | 'customMetric' | 'duplicateRowCount' | 'emptyFeatures' | 'featureDrift' | 'featureProfile' | 'greatExpectations' | 'groupByColumnStatsCheck' | 'illFormedRowCount' | 'isCode' | 'isJson' | 'llmRubricV2' | 'labelDrift' | 'metrics' | 'newCategories' | 'newLabels' | 'nullRowCount' | 'ppScore' | 'quasiConstantFeatures' | 'sentenceLength' | 'sizeRatio' | 'specialCharacters' | 'stringValidation' | 'trainValLeakageRowCount' — The insight name to be evaluated.
        - `insightParameters` object[], nullable — The insight parameters. Required only for some test subtypes. For example, for tests that require a column name, the insight parameters will be [{'name': 'column_name', 'value': 'Age'}]
          - `name` string, required — The name of the insight filter.
          - `value` string, required
        - `thresholdMode` 'automatic' | 'manual' — Whether to use automatic anomaly detection or manual thresholds
        - `operator` 'is' | '>' | '>=' | '<' | '<=' | '!=' — The operator to be used for the evaluation.
        - `value` union — The value to be compared.
          - number
          - boolean
          - string
          - string[]
      - `archived` boolean — Whether the test is archived.
      - `dateArchived` string, date-time, nullable, required — The date the test was archived.
      - `suggested` boolean, required — Whether the test is suggested or user-created.
      - `commentCount` integer, required — The number of comments on the test.
      - `usesMlModel` boolean — Whether the test uses an ML model.
      - `usesValidationDataset` boolean — Whether the test uses a validation dataset.
      - `usesTrainingDataset` boolean — Whether the test uses a training dataset.
      - `usesReferenceDataset` boolean — Whether the test uses a reference dataset (monitoring mode only).
      - `usesProductionData` boolean — Whether the test uses production data (monitoring mode only).
    - `goalId` string, uuid, nullable — The test id.
    - `projectVersionId` string, uuid, nullable, required — The project version (commit) id.
    - `inferencePipelineId` string, uuid, nullable, required — The inference pipeline id.
    - `dateCreated` string, date-time, required — The creation date.
    - `dateUpdated` string, date-time, required — The last updated date.
    - `dateDataStarts` string, date-time, nullable, required — The data start date.
    - `dateDataEnds` string, date-time, nullable, required — The data end date.
    - `status` 'running' | 'passing' | 'failing' | 'skipped' | 'error', required — The status of the test.
    - `statusMessage` string, nullable, required — The status message.
    - `expectedValues` object[]
      - `measurement` string — One of the `measurement` values in the test's thresholds
      - `upperThreshold` number, float, nullable — The upper threshold for the expected value
      - `lowerThreshold` number, float, nullable — the lower threshold for the expected value
    - `rows` string — The URL to the rows of the test result.
    - `rowsBody` DatasetFilter, nullable
      - `columnFilters` union[], nullable
        - union
          - object
            - `measurement` string, required — The name of the column.
            - `operator` 'contains_none' | 'contains_any' | 'contains_all' | 'one_of' | 'none_of', required
            - `value` union[], required
              - …
          - object
            - `measurement` string, required — The name of the column.
            - `operator` '>' | '>=' | 'is' | '<' | '<=' | '!=', required
            - `value` number, float, nullable, required
          - object
            - `measurement` string, required — The name of the column.
            - `operator` 'is' | '!=', required
            - `value` union, required
              - …
      - `searchQueryOr` string[], nullable
      - `searchQueryAnd` string[], nullable
      - `notSearchQueryOr` string[], nullable
      - `notSearchQueryAnd` string[], nullable
      - `rowIdList` integer[], nullable
      - `excludeRowIdList` integer[], nullable

## Other responses

- `202` — Status OK. Resource is not ready yet.
- `default` — Unexpected error.

---

[API](https://skmtc.dev/openlayer/apis/openlayer-api.md) · [All operations](https://skmtc.dev/openlayer/apis/openlayer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openlayer/openlayer-api/revisions/d0e74f00c900/schema)
