GET
/
v4
/
data-validation
/
workflows
/
{workflowId}
/
jobs
/
{jobId}
/
validations
/
latest
Get latest validation
curl --request GET \
  --url https://api.kadoa.com/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validations/latest \
  --header 'x-api-key: <api-key>'
{
  "id": "abc123",
  "workflowId": "<string>",
  "jobId": "<string>",
  "anomaliesCountTotal": 123,
  "anomaliesCountByRule": {},
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "completedAt": "2023-11-07T05:31:56Z",
  "metadata": {
    "customRules": [
      {
        "name": "<string>",
        "description": "<string>",
        "ruleType": "custom_sql",
        "targetColumns": [
          "<string>"
        ],
        "parameters": {
          "sql": "<string>"
        }
      }
    ],
    "libraryRules": [
      {
        "id": "<string>",
        "name": "<string>",
        "description": "<string>",
        "parameters": {},
        "targetColumns": [
          "<string>"
        ]
      }
    ],
    "totalRulesExecuted": 123,
    "usedPrompt": "<string>",
    "invalidRules": [
      {
        "name": "<string>",
        "error": "<string>"
      }
    ],
    "recordsValidated": 123
  },
  "error": "<string>",
  "isDryRun": true,
  "isWorkflowTriggered": true,
  "datasetUri": "<string>",
  "anomaliesParquetPath": "<string>",
  "strategy": "ISOLATED",
  "anomaliesByRule": [
    {
      "ruleName": "<string>",
      "anomalies": [
        {
          "__rule__": "<string>",
          "__id__": "<string>",
          "__column__": "<string>",
          "__type__": "<string>",
          "__bad_value__": "<any>",
          "__status__": "NEW"
        }
      ],
      "pagination": {
        "page": 1,
        "pageSize": 50,
        "totalItems": 150,
        "totalPages": 3
      }
    }
  ],
  "cdc": {
    "strategy": "ISOLATED",
    "anomalyCountChanges": {
      "previousJobId": "<string>",
      "previousValidationId": "<string>",
      "anomaliesCountTotal": {
        "count": 123,
        "change": 123
      },
      "anomaliesCountByRule": {}
    },
    "anomaliesStatusParquetPath": "<string>",
    "statusCounts": {
      "NEW": 123,
      "ONGOING": 123,
      "RESOLVED": 123,
      "REOPENED": 123
    }
  },
  "schemaIssues": {
    "missingColumns": [
      "<string>"
    ],
    "missingRequiredColumns": [
      "<string>"
    ],
    "extraColumns": [
      "<string>"
    ]
  }
}

Authorizations

x-api-key
string
header
required

API key for authentication

Path Parameters

workflowId
string
required
jobId
string
required

Query Parameters

includeDryRun
boolean | null
default:false

Response

200

Complete validation report including summary fields, anomaly details by rule, dataset location details, CDC summary, and execution strategy

id
string
required

Unique identifier

Example:

"abc123"

workflowId
string
required
jobId
string
required
anomaliesCountTotal
number
required
anomaliesCountByRule
object
required
createdAt
required
updatedAt
required
anomaliesByRule
AnomalyRuleData · object[]
required
schemaIssues
object
required

Comparison results between expected and actual data schema

completedAt
metadata
object
error
string
isDryRun
boolean
isWorkflowTriggered
boolean
datasetUri
string | null
anomaliesParquetPath
string | null
strategy
enum<string>
default:ISOLATED

ISOLATED validates each dataset independently. LINKING_COLUMNS validates data integrity across linked columns between datasets.

Available options:
ISOLATED,
LINKING_COLUMNS
cdc
object