---
title: "Get workflow quality metrics"
method: GET
path: "/v4/workflows/{workflowId}/quality-metrics"
tags: ["Workflows"]
---

# Get workflow quality metrics

`GET /v4/workflows/{workflowId}/quality-metrics`

## Request

- Base URL: `https://api.kadoa.com`
- URL: `https://api.kadoa.com/v4/workflows/{workflowId}/quality-metrics`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Returns the data quality metric results for a workflow run, plus the run's total data
quality issue count.

Metrics are only available once the run has finished, before that the endpoint returns
`{ "results": null, "issueCount": null }`.

Each metric result carries a `status`:
- `OK`: the metric was computed, see `data` for it's details.
- `PENDING`: the metric has not been computed yet.
- `NOT_APPLICABLE`: the metric cannot be computed for this workflow, see `message`.
- `ERROR`: the metric computation failed, see `message`.

## Path parameters

- `workflowId` string, required

## Query parameters

- `jobId` string

## Response `200`

Quality metric results. `results` and `issueCount` are null until the run has finished.

- object
  - `results` object, nullable, required: Metric results keyed by metric. Null until the run has finished.
    - `COMPLETENESS` object: Whether the extraction found as many rows as the source suggests.
      - `key` 'COMPLETENESS'
      - `status` 'OK' | 'PENDING' | 'NOT_APPLICABLE' | 'ERROR'
      - `message` string: Explanation, present when status is NOT_APPLICABLE or ERROR.
      - `data` object: Metric details, present when status is OK.
        - `issueCount` integer: Number of issues this metric found. 0 means the metric passed.
        - `actualRowCount` integer: Number of rows the extraction produced.
        - `expectedRowCount` integer: Number of rows the source suggests should exist.
        - `cappedByLimit` boolean: True when the row count was capped by the workflow's extraction limit.
        - `signals` object[]: Evidence used to derive the expected row count.
          - `totalCount` integer
          - `description` string
          - `sources` object[]
            - `count` integer
            - `xpath` string
            - `regex` string
            - `source` string
            - `url` string
    - `SCHEMA_VALIDATION` object: Checks the dataset against the workflow's schema validation rules.
      - `key` 'SCHEMA_VALIDATION'
      - `status` 'OK' | 'PENDING' | 'NOT_APPLICABLE' | 'ERROR'
      - `message` string: Explanation, present when status is NOT_APPLICABLE or ERROR.
      - `data` object: Metric details, present when status is OK.
        - `issueCount` integer: Number of issues this metric found. 0 means the metric passed.
        - `ruleViolationCount` integer: Number of violated rules.
        - `rowViolationCount` integer: Number of rows affected by violations.
        - `columns` object[]: Per-column validation results.
          - `name` string
          - `rulesConfigured` boolean
          - `violations` object[]
    - `SEMANTIC_PLAUSIBILITY` object: Flags values that do not fit with the rest of the dataset.
      - `key` 'SEMANTIC_PLAUSIBILITY'
      - `status` 'OK' | 'PENDING' | 'NOT_APPLICABLE' | 'ERROR'
      - `message` string: Explanation, present when status is NOT_APPLICABLE or ERROR.
      - `data` object: Metric details, present when status is OK.
        - `issueCount` integer: Number of issues this metric found. 0 means the metric passed.
        - `columns` object[]: Per-column plausibility results.
          - `name` string
          - `flaggedPercent` number
          - `reasoning` string
          - `flaggedExamples` object[]
            - `value` string
  - `issueCount` integer, nullable, required: Total number of data quality issues detected for the run. Null until the run has finished.

## Other responses

- `400`: Invalid workflow ID format
- `401`: Unauthorized (invalid or missing API key or Bearer token)
- `404`: Workflow not found
- `500`: Internal server error

---

[API](https://skmtc.dev/kadoa/apis/kadoa-api.md) · [All operations](https://skmtc.dev/kadoa/apis/kadoa-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kadoa/apis/kadoa-api/revisions/bf7803c927b4?raw)
