> For the complete documentation index, see [llms.txt](https://docs.soda.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.soda.io/data-testing/data-standards/verify-a-data-standard.md).

# Verify a Data Standard

Verifying a Data Standard **runs its checks against real data** and **reports** whether the data meets the rule. Active standards are verified **automatically on their schedule** in Soda Cloud. You can also trigger a verification **on demand**, either from the dataset's page in Soda Cloud or from the **Soda CLI** (useful for CI/CD pipelines, custom orchestration, or reproducing a scheduled run locally).

## Verify on demand in Soda Cloud

You run a standard's checks from the **dataset's page**, not from the standard itself. Use the **Verify** button on the dataset to run its checks on demand.

By default, **Verify runs both the dataset's Data Standard checks and its Data Contract checks** in one go. To run just one, use the dropdown next to the button and choose the Data Standard checks (or the contract checks) individually.

{% hint style="info" %}
There is no "run" action on the standard editor itself. Because a standard fans out across many datasets, verification is always triggered per dataset, from that dataset's page.
{% endhint %}

## Verify a dataset's standards from the CLI

Use `soda data-standard verify` with `--dataset` (`-d`) to **fetch and run all active standards** that apply to a specific dataset, as resolved by their scopes in Soda Cloud.

```bash
soda data-standard verify \
  --dataset datasource/db/schema/customers \
  --data-source ds_config.yml \
  --soda-cloud sc_config.yml
```

This command:

* Fetches the active standards for the dataset from Soda Cloud, already resolved with the dataset and its active columns
* Connects to your data source using the configuration file
* Runs the checks and returns a pass/fail result

Because the standards are resolved by Soda Cloud, this run mirrors exactly what the scheduled cloud-managed verification does.

{% hint style="info" %}
`--dataset` requires `--soda-cloud`, since the active standards are fetched from Soda Cloud.
{% endhint %}

## Publish results to Soda Cloud

Add `--publish` (`-p`) to **send verification results to Soda Cloud** for visibility, history, and alerting.

```bash
soda data-standard verify \
  --dataset datasource/db/schema/customers \
  --data-source ds_config.yml \
  --soda-cloud sc_config.yml \
  --publish
```

> Learn how to connect the CLI to Soda Cloud: [Core CLI reference](/reference/cli-reference.md#connect-to-soda-cloud).

## Override variables

If a standard declares variables, pass values at verification time with `--set`:

```bash
soda data-standard verify -d datasource/db/schema/customers -ds ds_config.yml -sc sc_config.yml --set ENV=prod
```

## Run a subset of checks

Use `--check-paths` (`-cp`) to run **only specific checks**, identified by their YAML path. This is useful for targeted debugging of a single check.

```bash
soda data-standard verify -d datasource/db/schema/customers -ds ds_config.yml -sc sc_config.yml \
  -cp data-standard.pii_rules:columns.email.checks.missing
```

A dataset can have several standards active at the same time, so a check path names **which standard** the check belongs to as well as where it sits inside that standard:

```
data-standard.<standard name>:<path within the standard>
```

Pass several paths to run a subset that spans standards:

```bash
soda data-standard verify -d datasource/db/schema/customers -ds ds_config.yml -sc sc_config.yml \
  -cp data-standard.pii_rules:columns.email.checks.missing \
     data-standard.freshness_rules:columns.updated_at.checks.freshness
```

{% hint style="info" %}
**On Soda Cloud**, the check path of a given check is on the check page, in the check info panel.
{% endhint %}

Because `.` and `:` separate the parts of a check path, a Data Standard's **name** cannot contain either character.

## Command options

<table><thead><tr><th width="220">Option</th><th>Description</th></tr></thead><tbody><tr><td><code>--dataset</code>, <code>-d</code></td><td>A Soda Cloud dataset identifier. Fetches and verifies that dataset's active standards. Required.</td></tr><tr><td><code>--data-source</code>, <code>-ds</code></td><td>One or more data source configuration file paths. The first is treated as primary. Required.</td></tr><tr><td><code>--soda-cloud</code>, <code>-sc</code></td><td>Path to a Soda Cloud configuration file. Required.</td></tr><tr><td><code>--publish</code>, <code>-p</code></td><td>Send the verification results to Soda Cloud.</td></tr><tr><td><code>--set</code></td><td>Set a variable value, in the form <code>--set NAME=VALUE</code>. Repeatable.</td></tr><tr><td><code>--check-paths</code>, <code>-cp</code></td><td>One or more check paths to run a subset of the checks. Each path names its standard: <code>data-standard.&#x3C;name>:&#x3C;path></code>.</td></tr><tr><td><code>--diagnostics-warehouse</code>, <code>-dw</code></td><td>Path to a diagnostics warehouse configuration file.</td></tr><tr><td><code>--verbose</code>, <code>-v</code></td><td>Display detailed logs during execution.</td></tr></tbody></table>

## Next steps

* Review verification results across datasets: [Review results](/data-testing/data-standards/review-results.md)

***

{% if visitor.claims.plan === 'datasetStandard' %}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Dataset Standard license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if visitor.claims.plan === 'enterprise' %}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Team license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if visitor.claims.plan === 'enterpriseUserBased' %}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Enterprise license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if !(visitor.claims.plan === 'enterprise' || visitor.claims.plan === 'enterpriseUserBased' || visitor.claims.plan === 'datasetStandard') %}
{% hint style="info" %}
You are **not logged in to Soda** and are viewing the default public documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).

If you do have a Soda license, make sure to **log in to Soda Cloud in this same browser**.
{% endhint %}
{% endif %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.soda.io/data-testing/data-standards/verify-a-data-standard.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
