Rule suites (retired)
Rule suites have been retired. You no longer create or name a separate suite: every rule is a first-class record on the data asset it checks, and a validation holds the rules it runs one by one, from as many assets as you like. A validation no longer keeps an asset list. This page stays so older links keep working.
Where things moved
| You used to… | Now you… |
|---|---|
| Create a rule suite for a table | Open the data asset and add rules on its Rules card — see Add rules to a data asset. |
| Browse the expectation gallery from the suite editor | Use Add rule on the asset's Rules card, which opens the rule gallery — see Rules. |
| Write custom SQL or row-condition rules in a suite | Same rule types, on the asset — see Custom SQL rules and Row conditions. |
| Reuse one suite across several tables | Save the rules as a rule template and apply it to each asset. |
| Run a suite with Run now | Run the asset's rules from its page (its default validation), or run a validation. |
| Add an asset (and so its suite) to a validation's asset list | Pick the asset's rules for the validation: all of its current rules, or some. A rule added to the asset later joins its asset's default validation and the validations you pick for it, not every validation automatically. See Validations → Choosing an asset's rules. |
What happened to your data
Nothing was lost. Each suite's rules were already first-class rules on their asset, and a validation that listed an asset holds every rule that asset had when suites were retired. Past results stay on the Results page; results written before the change still show the suite they ran (rule_suite_name).
For API and integration users
The legacy endpoints are a deprecated, read-only alias for one release, and are removed in the next major SDK release:
GET /api/v1/.../rule-suitesandGET .../rule-suites/{id}return the legacy suites withdeprecated: true. For a suite attached to an asset,suite.rulesis the asset's live rules.POST .../rule-suites/{id}/validate(the dry-run lint) still works.GET /api/v1/.../validation-configs[/{id}]returns the legacy rows.- Every write to
/rule-suitesor/validation-configs(create, replace, edit, delete) returns410 Gone. - The validation asset-list endpoints are deprecated too:
GET .../validations/{id}/membersreturns a list derived from the validation's rules, andPOST/DELETEonmembersreturn410 Gone.
Every alias response carries Deprecation: true and a Link header to its successor. Read rules with GET /api/v2/.../rules (filter by data_asset_id or validation_id) and write them on their asset (/api/v2/.../data-assets/{asset_id}/rules) — see Rules → API and the API reference. The Python and TypeScript SDKs have a rules resource, and the MCP server has mc_rule_* tools; client.rule_suites / client.ruleSuites and the mc_rule_suite_* tools are deprecated aliases.
dbt artifact ingestion no longer creates a dbt:<datasource_id> rule set: each imported result names its data asset directly, and the ingest response's rule_suite_id is always null.