UiPath Documentation
industry-department-solutions
latest
false
Supply Chain & Retail Solutions API guide
  • Overview
    • Introduction
    • Getting Started
    • Integration walkthrough
    • API Guide
    • Schema lifecycle
    • Object-level validations
    • Scheduled ingestion
    • Historical data ingestion
    • Data Quality Dashboard
    • Customizations
    • Data Onboarding Checklist
  • API Resources

Object-level validations

Asynchronous table-level data-quality checks (freshness, missing-data) and constraint toggles, configured per table through the objectValidations field.

Object-level validations are asynchronous, table-level data-quality checks that evaluate a whole table rather than individual rows. Unlike the column-level validations applied inline during ingestion, they run after rollout — on a schedule or on demand — independently of any single ingest request.

You configure them per table in an objectValidations array, set when you save a schema or create a custom table and updated later with Patch a solution's schema.

Entry fields

Each entry in the objectValidations array is an object:

FieldRequiredDescription
typeYesOne of freshness, missing_data_validation, foreign_key, unique_key.
enabledYesWhether the rule or toggle is active.
severityData-quality rules onlyerror or warn. Required for freshness and missing_data_validation; not allowed on the constraint toggles.
paramsData-quality rules onlyRule parameters. Required for freshness and missing_data_validation; not allowed on the constraint toggles. Keys depend on type (see below).

Data-quality rules

  • freshness — flags a table whose most-recent record is older than a threshold. params:

    ParamDescription
    columnTimestamp or date column to measure recency on.
    thresholdNumeric age limit.
    unitOne of minutes, hours, days, months, years.
  • missing_data_validation — flags a time window that received fewer rows than expected. params:

    ParamDescription
    columnTimestamp or date column that defines the window.
    intervalNumeric length of the window.
    unitOne of minutes, hours, days, months, years.
    minRowCountMinimum number of rows expected in the window.

Constraint toggles

foreign_key and unique_key entries enable or disable the asynchronous constraint checks for the table — they carry only type and enabled (no params, no severity). For example, { "type": "unique_key", "enabled": false } turns the async unique-key collision check off, and { "type": "foreign_key", "enabled": false } turns the async foreign-key reference check off.

Note:

These toggles are distinct from the structural foreignKeys / uniqueKeys per-table fields. Those define the constraints (which columns form a key, which table is referenced); the foreign_key / unique_key toggles only control whether the corresponding asynchronous check runs. The primary key constraint can never be toggled off.

Defaults

  • The objectValidations array is optional. Omit it and the table has no data-quality rules; its foreign-key and unique-key checks still run with their default behavior.
  • A constraint toggle you don't list runs on by default — the async foreign-key and unique-key checks are active unless you add an entry with "enabled": false. The primary-key check is always on and cannot be disabled.
  • Within an entry there are no implicit defaults: type and enabled are always required, and freshness / missing_data_validation additionally require severity and params. Omitting a required field returns 400 Bad Request.

Example

"objectValidations": [
  { "type": "freshness",
    "params": { "column": "order_date", "threshold": 24, "unit": "hours" },
    "enabled": true, "severity": "error" },
  { "type": "missing_data_validation",
    "params": { "column": "order_date", "interval": 1, "unit": "days", "minRowCount": 100 },
    "enabled": true, "severity": "warn" },
  { "type": "unique_key", "enabled": false },
  { "type": "foreign_key", "enabled": false }
]
"objectValidations": [
  { "type": "freshness",
    "params": { "column": "order_date", "threshold": 24, "unit": "hours" },
    "enabled": true, "severity": "error" },
  { "type": "missing_data_validation",
    "params": { "column": "order_date", "interval": 1, "unit": "days", "minRowCount": 100 },
    "enabled": true, "severity": "warn" },
  { "type": "unique_key", "enabled": false },
  { "type": "foreign_key", "enabled": false }
]

Results

Object-level validations run asynchronously, and their outcomes surface in the Data Quality Dashboard. Failures are reported under the OBJECT_VALIDATION error codesDI_{E|W}_24F01 (freshness) and DI_{E|W}_24M01 (missing data), where E is an error and W a non-fatal warning.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated