Soda Contracts API

The Contracts surface of the Soda Cloud v4 API — 10 operation(s) across 8 path(s).

Business capability
Data Quality Management BC-610.30

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/contracts List data contracts · List contracts #
Ask an LLM
“Which datasets in my organization already have data contracts?”
“Can I find the contract for a dataset using its qualified name?”
Tell an agent
List all data contracts in my organization.
Find the contract attached to dataset {datasetId}.
POST /api/v1/contracts Create a contract on a dataset · Create a contract #
Ask an LLM
“How do I start a new data contract for a dataset that has none?”
“Can I create a contract by referencing the dataset's qualified name instead of its ID?”
Tell an agent
Create a new contract on dataset {datasetId} with contents {contents}.
Create a contract for {datasetQualifiedName} using this YAML: {contents}.
POST /api/v1/contracts/actions/createSkeleton Generate a skeleton contract from schema · Generate skeleton contract #
Ask an LLM
“Can Soda draft a basic contract from a dataset's schema for me?”
“What does a dataset need before a skeleton contract can be generated?”
Tell an agent
Generate a skeleton contract from the schema of dataset {datasetId}.
Build a schema-based skeleton contract for {datasetQualifiedName}.
GET /api/v1/contracts/actions/createSkeleton/{operationId} Check skeleton contract generation status · Get skeleton contract generation status #
Ask an LLM
“Is my skeleton contract generation finished yet?”
“Where do I find the result of a schema-based skeleton contract request?”
Tell an agent
Check the status of skeleton contract operation {operationId}.
Poll skeleton generation {operationId} until it completes.
POST /api/v1/contracts/actions/generate Generate contracts with AI · Generate contracts #
Ask an LLM
“Can Soda use AI to write contracts for several datasets at once?”
“Why would an AI contract generation request be rejected for my datasets?”
Tell an agent
Use AI to generate contracts for datasets {datasetIds}.
Start AI contract generation for the datasets named {datasetQualifiedNames}.
GET /api/v1/contracts/actions/generate/{operationId} Check AI contract generation status · Get contract generation status #
Ask an LLM
“Has the AI finished generating contracts for my datasets?”
“What state is my batch AI contract generation in?”
Tell an agent
Get the status of AI contract generation {operationId}.
Poll AI contract generation operation {operationId}.
GET /api/v1/contracts/{contractId} Get a contract and its YAML · Get a contract #
Ask an LLM
“How do I read the current YAML of a specific data contract?”
“Can I see which checks one contract currently defines?”
Tell an agent
Show contract {contractId} including its YAML.
Fetch the contents of contract {contractId}.
POST /api/v1/contracts/{contractId} Publish new YAML for a contract · Publish a contract #
Ask an LLM
“How do I publish an updated version of an existing contract's YAML?”
“What happens if the contract YAML I publish is malformed?”
Tell an agent
Publish this YAML to contract {contractId}: {contents}.
Replace the published YAML of contract {contractId} with {contents}.
POST /api/v1/contracts/{contractId}/verify Run a contract verification scan · Verify a contract #
Ask an LLM
“Can I trigger a verification scan to test a contract against live data?”
“Is it possible to verify only some of a contract's checks?”
Tell an agent
Verify contract {contractId} now.
Run verification on contract {contractId} for only the checks at {checkPaths}.
GET /api/v1/contracts/{contractId}/versions List a contract's version history · List contract versions #
Ask an LLM
“What earlier versions of this contract have been published?”
“Can I see contract versions created before a certain date?”
Tell an agent
List the versions of contract {contractId}.
Show versions of contract {contractId} created before {createdBefore}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/soda-data:soda-data-contracts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

soda-data-contracts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Soda Cloud API v4 Contracts API
  version: v1
  description: The Soda Cloud REST API (v4 public API). Assembled verbatim from the OpenAPI 3.1.0 documents Soda publishes inside each REST API reference page at https://docs.soda.io/reference/soda-apis/rest-api/.
  contact:
    name: Soda
    url: https://www.soda.io
servers:
- description: Cloud EU
  url: https://cloud.soda.io
- description: Cloud US
  url: https://cloud.us.soda.io
security:
- basicAuthApiKey: []
- cookieToken: []
tags:


# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soda-data/refs/heads/main/openapi/soda-data-contracts-api-openapi.yml