> 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/soda-documentation/developer-tools/reference.md).

# Reference

Work with Soda from code: write contracts in YAML, run them from the CLI or Python, and automate Soda Cloud through its APIs.

Use the reference to work with Soda from your terminal, your pipelines, and your own code.

### Write contracts

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Contract Language reference</strong></td><td>Every check type and configuration option you can use in a YAML data contract.</td><td><a href="/soda-documentation/developer-tools/contract-language-reference.md">Contract Language reference</a></td></tr><tr><td><strong>Data source reference</strong></td><td>Connection parameters for each data source that Soda Core supports.</td><td><a href="/soda-documentation/developer-tools/data-source-reference-for-soda-core.md">Data source reference for Soda Core</a></td></tr></tbody></table>

### Run Soda from the command line

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Soda CLI</strong></td><td>Manage Soda Cloud from your terminal or CI/CD pipeline: data sources, datasets, contracts, monitors, and runners.</td><td><a href="/soda-documentation/developer-tools/soda-cli-reference.md">Soda CLI reference</a></td></tr><tr><td><strong>Core CLI</strong></td><td>Generate, test, publish, and verify contracts with Soda Core, locally or on a Soda Runner.</td><td><a href="/soda-documentation/developer-tools/cli-reference.md">Core CLI reference</a></td></tr><tr><td><strong>Soda Python libraries</strong></td><td>Install the packages you need to run Soda from the CLI or the Python API.</td><td><a href="/soda-documentation/connect/deployment-options/soda-python-libraries.md">Soda Python Libraries</a></td></tr></tbody></table>

### Automate with the APIs

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>REST API</strong></td><td>Trigger actions and query data in your Soda Cloud account.</td><td><a href="/apis/rest-api.md">REST API</a></td></tr><tr><td><strong>Python API</strong></td><td>Generate, test, publish, and verify data contracts from Python code.</td><td><a href="/apis/python-api.md">Python API</a></td></tr><tr><td><strong>Webhook API</strong></td><td>Receive real-time notifications from Soda Cloud in your own systems.</td><td><a href="/apis/webhook-api.md">Webhook API</a></td></tr></tbody></table>

> To authenticate, [generate API keys](/apis/generate-api-keys.md) in Soda Cloud.

{% hint style="danger" %}
**Nomenclature change: "Agent" is now "Runner"**

The Soda Agent has been renamed to [**Soda Runner**](broken://pages/Y812gt6t1VDNqhbj4eDH) across all Soda products and interfaces. This change affects terminology throughout the platform, including:

* Soda Cloud UI labels
* API permission names: `MANAGE_DATASOURCES_AND_AGENTS` → `MANAGE_DATASOURCES_AND_RUNNERS`
* CLI flags: `--use-agent` → `--use-runner`
* Python API methods: `verify_contract_on_agent` → `verify_contract_on_runner`

The underlying functionality is unchanged, and **both runner/agent nomenclatures are backward compatible** at present. If you are following older documentation or have existing scripts and automation that reference "agent", we recommend to gradually replace every occurrence of "agent" / "Agent" with "runner" / "Runner".
{% endhint %}

<br>

***

{% hint style="info" %}
You are **not logged in to Soda** and are viewing the default public documentation. Learn more about [Licensing & documentation access](/soda-documentation/govern/security-licensing-and-compliance/documentation-access-and-licensing.md).
{% endhint %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.soda.io/soda-documentation/developer-tools/reference.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
