Soda · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Soda Cloud API v4 Datasets API
25 actions
25 updates
phrasing
extends
openapi/soda-data-datasets-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Soda's API. It is a proposal applied on top of the contract, not a document Soda publishes.
What the actions change
x-apievangelist-phrasing
Targets 25 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/datasets'].get
$.paths['/api/v1/datasets/byDatasetQualifiedName/{datasetQualifiedName}'].get
$.paths['/api/v1/datasets/roles'].get
$.paths['/api/v1/datasets/roles'].post
$.paths['/api/v1/datasets/roles/{roleId}'].post
$.paths['/api/v1/datasets/roles/{roleId}'].delete
$.paths['/api/v1/datasets/{datasetId}'].get
$.paths['/api/v1/datasets/{datasetId}'].post
$.paths['/api/v1/datasets/{datasetId}'].delete
$.paths['/api/v1/datasets/{datasetId}/columnAttributes'].post
$.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors'].post
$.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors/{monitorId}'].post
$.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors/{monitorId}'].delete
$.paths['/api/v1/datasets/{datasetId}/columns'].get
$.paths['/api/v1/datasets/{datasetId}/computeWarehouse'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Soda Cloud API v4 Datasets API
version: 1.0.0
extends: openapi/soda-data-datasets-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 24
- target: $.paths['/api/v1/datasets'].get
update:
x-apievangelist-phrasing:
intent: List datasets
effect: read
questions:
- Which datasets does my Soda Cloud account monitor, and what is their health?
- Can I list only the datasets from one data source?
- What datasets have changed since a given date?
instructions:
- text: List all my datasets.
- text: Show datasets in data source {datasourceName}.
slots:
datasourceName: query.datasourceName
- text: Search datasets for {search}.
slots:
search: query.search
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/byDatasetQualifiedName/{datasetQualifiedName}'].get
update:
x-apievangelist-phrasing:
intent: Get a dataset by qualified name
effect: read
questions:
- Can I look up a dataset by its fully qualified name rather than its ID?
- What dataset matches a given contract identifier?
instructions:
- text: Get the dataset with qualified name {datasetQualifiedName}.
slots:
datasetQualifiedName: path.datasetQualifiedName
- text: Look up dataset {datasetQualifiedName} by its contract identifier.
slots:
datasetQualifiedName: path.datasetQualifiedName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/roles'].get
update:
x-apievangelist-phrasing:
intent: List dataset roles
effect: read
questions:
- What dataset-level roles are available for granting access?
- Which permission sets exist for individual datasets?
instructions:
- text: List the dataset roles in my organization.
- text: Show page {page} of dataset roles.
slots:
page: query.page
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/roles'].post
update:
x-apievangelist-phrasing:
intent: Create a custom dataset role
effect: write
questions:
- How do I create a dataset role that can manage checks but not delete datasets?
- Can a custom dataset role allow viewing failed rows?
instructions:
- text: Create a dataset role named {name}.
slots:
name: requestBody.name
- text: Create dataset role {name} with manage-checks set to {manageChecks} and view-failed-rows {viewFailedRows}.
slots:
name: requestBody.name
manageChecks: requestBody.manageChecks
viewFailedRows: requestBody.viewFailedRows
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/roles/{roleId}'].post
update:
x-apievangelist-phrasing:
intent: Update a dataset role
effect: write
questions:
- Can I change the permissions of an existing dataset role?
- How do I rename a custom dataset role?
instructions:
- text: Rename dataset role {roleId} to {name}.
slots:
roleId: path.roleId
name: requestBody.name
- text: Update dataset role {roleId} ({name}) so manage-incidents is {manageIncidents}.
slots:
roleId: path.roleId
name: requestBody.name
manageIncidents: requestBody.manageIncidents
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/roles/{roleId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a dataset role
effect: destructive
questions:
- How do I remove a custom dataset role?
- Can I delete a dataset permission role I created?
instructions:
- text: Delete dataset role {roleId}.
slots:
roleId: path.roleId
- text: Remove the custom dataset role {roleId}.
slots:
roleId: path.roleId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}'].get
update:
x-apievangelist-phrasing:
intent: Get a dataset by ID
effect: read
questions:
- What are the details of one dataset in Soda Cloud?
- Can I fetch a single dataset using its ID?
instructions:
- text: Get dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Show the details of dataset {datasetId}.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}'].post
update:
x-apievangelist-phrasing:
intent: Update dataset properties
effect: write
questions:
- How do I change a dataset's owners, label or tags?
- Can I turn profiling on or off for a dataset?
- Is it possible to set a time partition column on a dataset?
instructions:
- text: Set the owners of dataset {datasetId} to {owners}.
slots:
datasetId: path.datasetId
owners: requestBody.owners
- text: Relabel dataset {datasetId} as {label} and tag it {tags}.
slots:
datasetId: path.datasetId
label: requestBody.label
tags: requestBody.tags
- text: Update the profiling settings of dataset {datasetId} to {profiling}.
slots:
datasetId: path.datasetId
profiling: requestBody.profiling
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a dataset
effect: destructive
questions:
- How do I delete a dataset from Soda Cloud?
- Why does dataset deletion take a while to complete?
instructions:
- text: Delete dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Remove dataset {datasetId} from my account.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/columnAttributes'].post
update:
x-apievangelist-phrasing:
intent: Set attribute values on dataset columns
effect: write
questions:
- Can I tag many columns of a dataset with attribute values in one call?
- Does setting one column attribute overwrite the column's other attributes?
instructions:
- text: 'Set these column attribute values on dataset {datasetId}: {columnAttributes}.'
slots:
datasetId: path.datasetId
columnAttributes: requestBody.columnAttributes
- text: Bulk-update column attributes of dataset {datasetId} with {columnAttributes}.
slots:
datasetId: path.datasetId
columnAttributes: requestBody.columnAttributes
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors'].post
update:
x-apievangelist-phrasing:
intent: Create a column metric monitor
effect: write
questions:
- How do I start monitoring a metric on a specific column?
- Can I add a metric monitor to one column of a dataset?
instructions:
- text: Add a metric monitor on column {columnName} of dataset {datasetId} with configuration {columnMetricMonitorConfiguration}.
slots:
columnName: requestBody.columnName
datasetId: path.datasetId
columnMetricMonitorConfiguration: requestBody.columnMetricMonitorConfiguration
- text: Create a column metric monitor for {columnName} in dataset {datasetId} using {columnMetricMonitorConfiguration}.
slots:
columnName: requestBody.columnName
datasetId: path.datasetId
columnMetricMonitorConfiguration: requestBody.columnMetricMonitorConfiguration
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors/{monitorId}'].post
update:
x-apievangelist-phrasing:
intent: Update a column metric monitor
effect: write
questions:
- Can I change the configuration of an existing column metric monitor?
- What permission is needed to edit a column metric monitor?
instructions:
- text: Update column metric monitor {monitorId} on dataset {datasetId} with {configuration}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
configuration: requestBody.configuration
- text: Reconfigure column monitor {monitorId} of dataset {datasetId} to {configuration}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
configuration: requestBody.configuration
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/columnMetricMonitors/{monitorId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a column metric monitor
effect: destructive
questions:
- How do I stop monitoring a metric on a column?
- Can I remove a column metric monitor from a dataset?
instructions:
- text: Delete column metric monitor {monitorId} from dataset {datasetId}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
- text: Remove column monitor {monitorId} on dataset {datasetId}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/columns'].get
update:
x-apievangelist-phrasing:
intent: List a dataset's columns and attributes
effect: read
questions:
- What columns does a dataset have, and which attributes are set on each?
- Which columns of a dataset have no attribute values yet?
instructions:
- text: List the active columns of dataset {datasetId} with their attribute values.
slots:
datasetId: path.datasetId
- text: Show page {page} of columns for dataset {datasetId}.
slots:
page: query.page
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/computeWarehouse'].get
update:
x-apievangelist-phrasing:
intent: Get a dataset's compute warehouse config
effect: read
questions:
- Which warehouse runs compute-heavy tasks for a dataset?
- Is a compute warehouse override enabled on this dataset?
instructions:
- text: Show the compute warehouse configuration of dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Check whether dataset {datasetId} uses a compute warehouse override.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/customSqlMonitors'].post
update:
x-apievangelist-phrasing:
intent: Create a custom SQL monitor
effect: write
questions:
- Can I monitor a dataset with my own SQL metric query?
- How do I attach a custom SQL monitor to a column?
instructions:
- text: Create custom SQL monitor {monitorName} on dataset {datasetId} with configuration {configuration}.
slots:
monitorName: requestBody.monitorName
datasetId: path.datasetId
configuration: requestBody.configuration
- text: Add SQL monitor {monitorName} for column {columnName} of dataset {datasetId} using {configuration}.
slots:
monitorName: requestBody.monitorName
columnName: requestBody.columnName
datasetId: path.datasetId
configuration: requestBody.configuration
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/customSqlMonitors/{monitorId}'].post
update:
x-apievangelist-phrasing:
intent: Update a custom SQL monitor
effect: write
questions:
- Can I edit the SQL or name of an existing custom SQL monitor?
- Is it possible to move a custom SQL monitor to another column?
instructions:
- text: Rename custom SQL monitor {monitorId} on dataset {datasetId} to {name}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
name: requestBody.name
- text: Change the configuration of SQL monitor {monitorId} in dataset {datasetId} to {configuration}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
configuration: requestBody.configuration
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/customSqlMonitors/{monitorId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom SQL monitor
effect: destructive
questions:
- How do I remove a custom SQL monitor from a dataset?
- Who is allowed to delete custom SQL monitors?
instructions:
- text: Delete custom SQL monitor {monitorId} from dataset {datasetId}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
- text: Remove SQL monitor {monitorId} on dataset {datasetId}.
slots:
monitorId: path.monitorId
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/diagnosticsWarehouse'].get
update:
x-apievangelist-phrasing:
intent: Get a dataset's diagnostics warehouse info
effect: read
questions:
- Where are scan results and failed rows for a dataset being stored in my warehouse?
- What diagnostics warehouse settings apply to this particular dataset?
instructions:
- text: Show diagnostics warehouse information for dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Get where dataset {datasetId} forwards its scan diagnostics.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/metricMonitoring'].get
update:
x-apievangelist-phrasing:
intent: Get a dataset's metric monitoring config
effect: read
questions:
- Is metric monitoring enabled on this dataset, and how is it configured?
- What anomaly monitoring settings does a dataset have?
instructions:
- text: Show the metric monitoring configuration of dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Check whether metric monitoring is on for dataset {datasetId}.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/metricMonitoring/historicalMetricCollection'].post
update:
x-apievangelist-phrasing:
intent: Backfill historical metrics for a dataset
effect: write
questions:
- Can I backfill historical metrics so monitoring has past data to compare?
- What must be configured before running historical metric collection?
instructions:
- text: Run historical metric collection for dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Backfill past metrics on dataset {datasetId}.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/profiling'].get
update:
x-apievangelist-phrasing:
intent: Get dataset profiling results
effect: read
questions:
- What do the statistical profiles of a dataset's columns look like?
- Can I see the profiling summary for a table?
instructions:
- text: Show profiling information for dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Get column statistics from the profile of dataset {datasetId}.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/responsibilities'].get
update:
x-apievangelist-phrasing:
intent: List who has access to a dataset
effect: read
questions:
- Which users and groups have roles on a dataset?
- Who is responsible for a given dataset?
instructions:
- text: List responsibilities on dataset {datasetId}.
slots:
datasetId: path.datasetId
- text: Show which users and groups hold roles on dataset {datasetId}.
slots:
datasetId: path.datasetId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/datasets/{datasetId}/responsibilities'].post
update:
x-apievangelist-phrasing:
intent: Replace dataset access assignments
effect: write
questions:
- How do I grant a user group a role on a dataset?
- Does updating dataset responsibilities replace the whole existing list?
instructions:
- text: Set the responsibilities on dataset {datasetId} to {responsibilities}.
slots:
datasetId: path.datasetId
responsibilities: requestBody.responsibilities
- text: Replace who can access dataset {datasetId} with {responsibilities}.
slots:
datasetId: path.datasetId
responsibilities: requestBody.responsibilities
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/soda-data-datasets-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.