Data Quality Rules

Create rule

Create a new rule.

The rule is created as a draft (draftType: NEW) and can be incomplete: finish it via updates, then publish it to make it live.

If you send the read-only fields urn and draftType, they are ignored. The urn is assigned automatically and draftType is set to NEW.

Store each input group, input, condition, parameter, and variable under a temporary key that you choose, such as new_email.

A successful request returns 201 Created with the created rule draft. Each new sub-entity is returned under its server-assigned ID, with your temporary key in correlationId. Save the urn of the rule for publishing and assigning it to monitors.

To create many rules at once as published versions, use Create rules in batch instead.

post/data-quality/v1/rules

Request

Request body

namestring

Human-readable name of the rule. Not unique: multiple rules can share a name. Identify a rule by its URN, never by its name. None of the rule fields is required to create a draft; name is required to publish it.

descriptionstring nullable

Optional description of the rule.

inputGroupsobject nullable

Groups of input attributes the rule consumes, keyed by their id (UUID). Each input attribute has a name and data type (for example, STRING, INTEGER, or DATE). For cross-table rules, a child input group is marked joined: true.

parametersobject nullable

Parameters that configure the rule, keyed by their id (UUID).

variablesobject nullable

Variables derived from inputs and reused within the rule logic, keyed by their id (UUID). A variable is computed either from an expression or by applying transformations to an input attribute.

Example request

{
  "defaultDqThreshold": {
    "severity": "WARNING",
    "correlationId": "new_email"
  },
  "stewardship": {
    "groupUrn": "urn:ata:acme-corp:iam:group:123e4567-e89b-12d3-a456-426614174000"
  },
  "implementation": {
    "ruleType": "SINGLE_TABLE",
    "dqDimensionUrn": "urn:ata:acme-corp:data-quality:dq-dimension:123e4567-e89b-12d3-a456-426614174000",
    "fallback": {
      "resultUrn": "urn:ata:acme-corp:data-quality:dq-dimension-result:123e4567-e89b-12d3-a456-426614174000"
    }
  }
}

Response

The created rule as the draft (draftType=NEW) version. Each sub-entity is returned under its server-assigned id (the UUID part of its urn), with the temporary new_<id> key from the request returned as correlationId.

draftTypestring required

@ExtensibleEnum The type of the DRAFT version (NONE indicates a PUBLISHED version). It specifies what will happen to the entity if the DRAFT is published.

Possible values:

  • NEW — draft proposal to create a new object.
  • CHANGE — draft proposal to change an existing object.
  • DELETE — draft proposal to delete an existing object.
  • RESURRECT — draft proposal to resurrect an already deleted object.
  • NONE — placeholder for a non-existent draft; represents a published version.

The value describes the version that was returned, not the entity as a whole: a PUBLISHED version always reports NONE, even when an unpublished draft is waiting. Fetch it with ?version=DRAFT to see the pending change. An entity that exists only as a draft is not listed and answers a default (published) read with 404.

namestring

Human-readable name of the rule. Not unique: multiple rules can share a name. Identify a rule by its URN, never by its name. None of the rule fields is required to create a draft; name is required to publish it.

descriptionstring nullable

Optional description of the rule.

inputGroupsobject nullable

Groups of input attributes the rule consumes, keyed by their id (UUID). Each input attribute has a name and data type (for example, STRING, INTEGER, or DATE). For cross-table rules, a child input group is marked joined: true.

parametersobject nullable

Parameters that configure the rule, keyed by their id (UUID).

variablesobject nullable

Variables derived from inputs and reused within the rule logic, keyed by their id (UUID). A variable is computed either from an expression or by applying transformations to an input attribute.

urnstring uri required

A URN identifying the data quality rule resource in the Data Quality API.

Format: urn:ata:{tenant}:data-quality:rule:{uuid}

Example: urn:ata:acme-corp:data-quality:rule:123e4567-e89b-12d3-a456-426614174000.

Example response

{
  "draftType": "NEW",
  "defaultDqThreshold": {
    "severity": "WARNING",
    "urn": "urn:ata:acme-corp:data-quality:dq-threshold:123e4567-e89b-12d3-a456-426614174000",
    "correlationId": "new_email"
  },
  "stewardship": {
    "groupUrn": "urn:ata:acme-corp:iam:group:123e4567-e89b-12d3-a456-426614174000"
  },
  "implementation": {
    "ruleType": "SINGLE_TABLE",
    "dqDimensionUrn": "urn:ata:acme-corp:data-quality:dq-dimension:123e4567-e89b-12d3-a456-426614174000",
    "fallback": {
      "resultUrn": "urn:ata:acme-corp:data-quality:dq-dimension-result:123e4567-e89b-12d3-a456-426614174000"
    }
  },
  "urn": "urn:ata:acme-corp:data-quality:rule:123e4567-e89b-12d3-a456-426614174000"
}

Changes

No recorded changes to this operation across all 1 revision of this API.