> 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/reference/soda-apis/rest-api/checks.md).

# Checks

Soda Cloud API Check Endpoints

## Check information

> This endpoint enables you to gather information about the checks that in exist in your organization's Soda Cloud account, including information about the datasets and agreements with which they are associated and the incidents to which they are linked. .\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 10 and 1000, inclusive. The default value is 10.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \- \`datasetId\`: Optionally, use this parameter to collect only the information for checks associated with a specific dataset. Find the \`datasetId\` in the URL of the dataset page in Soda Cloud.\
> \
> \- \`dataStandardId\`: Optionally, use this parameter to collect only the information for checks belonging to a specific data standard. Find the \`dataStandardId\` in the URL of the data standard page in Soda Cloud.\
> \
> \- \`scanId\`: Optionally, use this parameter to collect only the information for checks that produced a result in a specific scan run. Find the \`scanId\` in the URL of the scan page in Soda Cloud, or use the value of \`X-Soda-Scan-Id\` returned when you triggered the scan.\
> \
> \- \`source\`: Optionally, use this parameter to collect only the information for checks that were defined in one place: \`soda-contract\` for the checks of a data contract, \`data-standard\` for the checks a data standard added, \`soda-metric-monitoring\` for metric monitors, \`soda-cloud\` for no-code checks written in Soda Cloud, \`soda-library\` or \`soda-core\` for the checks of a SodaCL scan, \`dbt\` for ingested dbt tests, and \`soda-sql\` for the checks of a legacy Soda SQL scan.\
> \
> \- \`checkIds\`: Optionally, use this parameter to collect only the information for a specific batch of checks. Provide multiple values as a comma-separated list of check IDs, which you can find on the individual check pages in Soda Cloud. This query parameter is limited to 1000 check IDs. You can supply other query parameters with \`checkIds\`, but they do not filter or paginate the batch results.\
> \
> \- \`datasourceId\`: Optionally, use this parameter to collect only the information for checks on the datasets of a specific datasource. Find the \`datasourceId\` in the URL of the datasource page in Soda Cloud.\
> \
> \- \`name\`: Optionally, use this parameter to collect only the information for checks with exactly this name.\
> \
> \- \`column\`: Optionally, use this parameter to collect only the information for checks on exactly this column.\
> \
> \- \`group\`: Optionally, use this parameter to collect only the information for checks in the check group with exactly this name, as returned in \`group.name\`.\
> \
> \- \`evaluationStatus\`: Optionally, use this parameter to collect only the information for checks with a specific evaluation status. One of \`pass\`, \`warn\`, \`fail\`, \`notEvaluated\`, \`excluded\`.\
> \
> \- \`checkType\`: Optionally, use this parameter to collect only the information for checks of a specific type, for example \`missing\` or \`freshness\`, as returned in \`checkType\`.\
> \
> \- \`metricType\`: Optionally, use this parameter to collect only the information for checks on a specific metric, for example \`rowCount\`, as returned in \`metricType\`. An unknown metric type is rejected with a 400 error.\
> \
> \- \`attribute\`: Optionally, use this parameter to collect only the information for checks carrying a check attribute, written as a single \`key:value\` pair, for example \`team:Engineering\`. The key is the attribute's name, and it always matches exactly. For an attribute that allows several values, the check matches when any one of its selected values is the one you asked for. A value that is missing or a key that is not made up of letters, digits and underscores is rejected with a 400 error.\
> \
> \- \`from\`: Optionally, use this parameter to collect only the checks created on or after this moment, compared against each check's \`createdAt\` timestamp. Supply an ISO8601 timestamp value. Example: \`2026-08-01T00:00:00+01:00\`\
> \
> \- \`to\`: Optionally, use this parameter to collect only the checks created on or before this moment, compared against each check's \`createdAt\` timestamp. Supply an ISO8601 timestamp value. Example: \`2026-08-01T23:59:59+01:00\`\
> \
> \- \`caseInsensitive\`: Optionally, set this to \`true\` to ignore letter case in every text match of this request: \`name\`, \`column\`, \`group\` and the value of \`attribute\`. The default is \`false\`, so those parameters match case-sensitively.\
> \
> \- \`sort\`: Optionally, sort the results by \`name\` (default) or \`createdAt\`.\
> \
> \- \`order\`: Optionally, sort in \`asc\` (default) or \`desc\` order.\
> \
> Without \`checkIds\`, the other filters can be combined and are applied together (AND). When \`checkIds\` is supplied, Soda Cloud returns the named checks you are allowed to view without applying other filters or pagination. Malformed or out-of-range parameter values may still be rejected during request parsing or validation.\
> \
> If not specified, the query gathers information for all checks in the account and sorts the results by check name in ascending order.\
> \
> This list also includes metric monitors, as checks whose \`source\` is \`soda-metric-monitoring\`. Listing monitors here is deprecated. Use \`GET /api/v1/monitors\` to list monitors, and \`GET /api/v1/monitors/{monitorId}/results\` to read their results; both support V4 datasets only. For the same reason, \`anomalyDetectionDetails\` in \`lastCheckResultValue\` is deprecated. Only a monitor's result fills that field.\
> \
> \## Authorization\
> \
> Soda only returns the checks linked to datasets to which the user has \*\*View dataset\*\* permissions. Soda Cloud Admins have access to all checks.\*\*See \[Manage dataset roles]\(<https://go.soda.io/roles-dataset>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Tags\
> \
> \`Checks\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Check Endpoints","name":"Checks"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"CheckTypeDTO":{"type":"string","enum":["missing","invalid","row_count","aggregate","schema","duplicate","freshness","failed_rows","metric","group_by","row_count_diff","aggregate_diff","freshness_diff","metric_diff","rows_diff","duplicate_diff","llm","hierarchy","fuzzy_duplicate","reference_diff","schema_diff"]},"EvaluationStatusDTO":{"type":"string","enum":["pass","warn","fail","notEvaluated","excluded"]},"CheckSortOrderDTO":{"type":"string","enum":["asc","desc"]},"CheckSortFieldDTO":{"type":"string","enum":["name","createdAt"]},"CheckSourceDTO":{"type":"string","enum":["soda-sql","soda-core","soda-library","soda-cloud","dbt","soda-contract","data-standard","soda-metric-monitoring"]},"PublicApiChecksResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ChecksContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"ChecksContentDTO":{"type":"object","properties":{"agreements":{"type":"array","deprecated":true,"items":{"type":"object","$ref":"#/components/schemas/AgreementSlimDTO"}},"attributes":{"type":"object","$ref":"#/components/schemas/MapOfStringToString"},"checkType":{"type":"string"},"cloudUrl":{"type":"string"},"column":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"datasets":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/DatasetSlimDTO"}},"definition":{"type":"string"},"description":{"type":"string"},"evaluationStatus":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"},"group":{"type":"object","$ref":"#/components/schemas/ChecksContentDTO_Group"},"id":{"type":"string"},"incidents":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/IncidentSlimDTO"}},"lastCheckResultValue":{"type":"object","$ref":"#/components/schemas/CheckResultValueDTO"},"lastCheckRunTime":{"type":"string","format":"date-time","deprecated":true},"lastUpdated":{"type":"string","format":"date-time","deprecated":true},"metricType":{"type":"string"},"name":{"type":"string"},"owner":{"type":"object","$ref":"#/components/schemas/OwnerDTO","deprecated":true},"source":{"type":"object","$ref":"#/components/schemas/CheckSourceDTO","description":"Where the check was defined. Null for checks whose source is not known to Soda Cloud."}},"required":["createdAt","datasets","evaluationStatus","id","incidents","name"]},"AgreementSlimDTO":{"type":"object","properties":{"cloudUrl":{"type":"string"},"name":{"type":"string"}}},"MapOfStringToString":{"type":"object","additionalProperties":true},"DatasetSlimDTO":{"type":"object","properties":{"cloudUrl":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"qualifiedName":{"type":"string"}}},"ChecksContentDTO_Group":{"type":"object","properties":{"groupType":{"type":"string"},"identity":{"type":"string"},"name":{"type":"string"}}},"IncidentSlimDTO":{"type":"object","properties":{"cloudUrl":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"integer","format":"int32"},"status":{"type":"object","$ref":"#/components/schemas/IncidentStatusDTO"}},"required":["cloudUrl","id","name","number","status"]},"IncidentStatusDTO":{"type":"string","enum":["reported","investigating","fixing","resolved"]},"CheckResultValueDTO":{"type":"object","properties":{"anomalyDetectionDetails":{"type":"object","$ref":"#/components/schemas/CheckResultAnomalyDetectionDetailsDTO","deprecated":true},"dataTimestamp":{"type":"string","format":"date-time"},"diagnostics":{"type":"object","$ref":"#/components/schemas/CheckResultDiagnosticsV4"},"id":{"type":"string"},"measure":{"type":"object","$ref":"#/components/schemas/MeasureDTO"},"value":{"type":"number"},"valueLabel":{"type":"string"},"valueSeries":{"type":"object","$ref":"#/components/schemas/CheckResultValueSeriesDTO"}},"required":["id"]},"CheckResultAnomalyDetectionDetailsDTO":{"type":"object","properties":{"predictedValue":{"type":"number"}}},"CheckResultDiagnosticsV4":{"type":"object","properties":{"aggregate":{"type":"object","$ref":"#/components/schemas/AggregateDiagnosticsV4"},"aggregate_diff":{"type":"object","$ref":"#/components/schemas/AggregateDiffDiagnosticsV4"},"duplicate":{"type":"object","$ref":"#/components/schemas/DuplicateDiagnosticsV4"},"duplicate_diff":{"type":"object","$ref":"#/components/schemas/DuplicateDiffDiagnosticsV4"},"failed_rows":{"type":"object","$ref":"#/components/schemas/FailedRowsDiagnosticsV4"},"freshness":{"type":"object","$ref":"#/components/schemas/FreshnessDiagnosticsV4"},"freshness_diff":{"type":"object","$ref":"#/components/schemas/FreshnessDiffDiagnosticsV4"},"fuzzy_duplicate":{"type":"object","$ref":"#/components/schemas/FuzzyDuplicateDiagnosticsV4"},"group_by":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4"},"hierarchy":{"type":"object","$ref":"#/components/schemas/HierarchyDiagnosticsV4"},"invalid":{"type":"object","$ref":"#/components/schemas/InvalidDiagnosticsV4"},"llm":{"type":"object","$ref":"#/components/schemas/LlmDiagnosticsV4"},"metric":{"type":"object","$ref":"#/components/schemas/MetricDiagnosticsV4"},"metric_diff":{"type":"object","$ref":"#/components/schemas/MetricDiffDiagnosticsV4"},"missing":{"type":"object","$ref":"#/components/schemas/MissingDiagnosticsV4"},"reference_diff":{"type":"object","$ref":"#/components/schemas/ReferenceDiffDiagnosticsV4"},"row_count":{"type":"object","$ref":"#/components/schemas/RowCountDiagnosticsV4"},"row_count_diff":{"type":"object","$ref":"#/components/schemas/RowCountDiffDiagnosticsV4"},"rows_diff":{"type":"object","$ref":"#/components/schemas/RowsDiffDiagnosticsV4"},"schema":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4"},"schema_diff":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4"}}},"AggregateDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"}}},"AggregateDiffDiagnosticsV4":{"type":"object","properties":{"diff":{"type":"number"},"diffPercent":{"type":"number"},"function":{"type":"string"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceValue":{"type":"number"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetValue":{"type":"number"}}},"DuplicateDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"},"missingCount":{"type":"integer","format":"int32"}}},"DuplicateDiffDiagnosticsV4":{"type":"object","properties":{"duplicateCountDiff":{"type":"integer","format":"int32"},"duplicateDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceDuplicateCount":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetDuplicateCount":{"type":"integer","format":"int32"}}},"FailedRowsDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"}}},"FreshnessDiagnosticsV4":{"type":"object","properties":{"actualTimestamp":{"type":"string","format":"date-time"},"actualTimestampUtc":{"type":"string","format":"date-time"},"datasetRowsTested":{"type":"integer","format":"int32"},"expectedTimestamp":{"type":"string","format":"date-time"},"expectedTimestampUtc":{"type":"string","format":"date-time"}}},"FreshnessDiffDiagnosticsV4":{"type":"object","properties":{"freshnessDiff":{"type":"integer","format":"int32"},"freshnessDiffUnit":{"type":"object","$ref":"#/components/schemas/FreshnessDiffDiagnosticsV4_UnitOfTimeDTO"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceMaxTimestamp":{"type":"string","format":"date-time"},"sourceMaxTimestampUtc":{"type":"string","format":"date-time"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetMaxTimestamp":{"type":"string","format":"date-time"},"targetMaxTimestampUtc":{"type":"string","format":"date-time"}}},"FreshnessDiffDiagnosticsV4_UnitOfTimeDTO":{"type":"string","enum":["minutes","hours","days"]},"FuzzyDuplicateDiagnosticsV4":{"type":"object","properties":{"candidateRowsScored":{"type":"integer","format":"int32"},"checkRowsTested":{"type":"integer","format":"int32"},"clusterCount":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"fuzzyDuplicateCount":{"type":"integer","format":"int32"},"fuzzyDuplicatePercent":{"type":"number"},"meanConfidence":{"type":"number"}}},"GroupByDiagnosticsV4":{"type":"object","properties":{"diagnosticsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"groups":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4_Group"}}}},"GroupByDiagnosticsV4_Group":{"type":"object","properties":{"group":{"type":"string"},"rowsTested":{"type":"integer","format":"int64"},"status":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4_GroupByOutcomeDTO"},"value":{"type":"number"}}},"GroupByDiagnosticsV4_GroupByOutcomeDTO":{"type":"string","enum":["pass","warn","fail"]},"HierarchyDiagnosticsV4":{"type":"object","properties":{"brokenPathCount":{"type":"integer","format":"int32"},"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"invalidValueCount":{"type":"integer","format":"int32"},"missingValueCount":{"type":"integer","format":"int32"}}},"InvalidDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"},"missingCount":{"type":"integer","format":"int32"}}},"LlmDiagnosticsV4":{"type":"object","properties":{"completionTokens":{"type":"integer","format":"int64"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"model":{"type":"string"},"promptTokens":{"type":"integer","format":"int64"},"rowsChecked":{"type":"integer","format":"int32"},"rowsFailed":{"type":"integer","format":"int32"},"rowsFailedPercent":{"type":"number"},"tokensSpent":{"type":"integer","format":"int32"}}},"MetricDiagnosticsV4":{"type":"object","properties":{"datasetRowsTested":{"type":"integer","format":"int32"}}},"MetricDiffDiagnosticsV4":{"type":"object","properties":{"metricDiff":{"type":"number"},"metricDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceMetric":{"type":"number"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetMetric":{"type":"number"}}},"MissingDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"}}},"ReferenceDiffDiagnosticsV4":{"type":"object","properties":{"diffCount":{"type":"integer","format":"int32"},"diffPercent":{"type":"number"},"exclusiveInSource":{"type":"integer","format":"int32"},"exclusiveInTarget":{"type":"integer","format":"int32"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"RowCountDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"}}},"RowCountDiffDiagnosticsV4":{"type":"object","properties":{"rowCountDiff":{"type":"integer","format":"int32"},"rowCountDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"RowsDiffDiagnosticsV4":{"type":"object","properties":{"changed":{"type":"integer","format":"int32"},"diffCount":{"type":"integer","format":"int32"},"diffPercent":{"type":"number"},"exclusiveInSource":{"type":"integer","format":"int32"},"exclusiveInTarget":{"type":"integer","format":"int32"},"nullKeyRowsSource":{"type":"integer","format":"int32"},"nullKeyRowsTarget":{"type":"integer","format":"int32"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"SchemaDiagnosticsV4":{"type":"object","properties":{"actual":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4_Column"}},"expected":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4_Column"}}}},"SchemaDiagnosticsV4_Column":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}},"SchemaDiffDiagnosticsV4":{"type":"object","properties":{"missingInSource":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_Column"}},"missingInTarget":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_Column"}},"typeMismatch":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_TypeMismatch"}}}},"SchemaDiffDiagnosticsV4_Column":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}},"SchemaDiffDiagnosticsV4_TypeMismatch":{"type":"object","properties":{"sourceColumn":{"type":"string"},"sourceType":{"type":"string"},"targetColumn":{"type":"string"},"targetType":{"type":"string"}}},"MeasureDTO":{"type":"string","enum":["time"]},"CheckResultValueSeriesDTO":{"type":"object","properties":{"values":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/CheckResultValueSeriesDTO_ValueSeriesValue"}}}},"CheckResultValueSeriesDTO_ValueSeriesValue":{"type":"object","properties":{"label":{"type":"string"},"level":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"},"value":{"type":"number"}}},"OwnerDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/checks":{"get":{"description":"This endpoint enables you to gather information about the checks that in exist in your organization's Soda Cloud account, including information about the datasets and agreements with which they are associated and the incidents to which they are linked. .\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 10.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `datasetId`: Optionally, use this parameter to collect only the information for checks associated with a specific dataset. Find the `datasetId` in the URL of the dataset page in Soda Cloud.\n\n- `dataStandardId`: Optionally, use this parameter to collect only the information for checks belonging to a specific data standard. Find the `dataStandardId` in the URL of the data standard page in Soda Cloud.\n\n- `scanId`: Optionally, use this parameter to collect only the information for checks that produced a result in a specific scan run. Find the `scanId` in the URL of the scan page in Soda Cloud, or use the value of `X-Soda-Scan-Id` returned when you triggered the scan.\n\n- `source`: Optionally, use this parameter to collect only the information for checks that were defined in one place: `soda-contract` for the checks of a data contract, `data-standard` for the checks a data standard added, `soda-metric-monitoring` for metric monitors, `soda-cloud` for no-code checks written in Soda Cloud, `soda-library` or `soda-core` for the checks of a SodaCL scan, `dbt` for ingested dbt tests, and `soda-sql` for the checks of a legacy Soda SQL scan.\n\n- `checkIds`: Optionally, use this parameter to collect only the information for a specific batch of checks. Provide multiple values as a comma-separated list of check IDs, which you can find on the individual check pages in Soda Cloud. This query parameter is limited to 1000 check IDs. You can supply other query parameters with `checkIds`, but they do not filter or paginate the batch results.\n\n- `datasourceId`: Optionally, use this parameter to collect only the information for checks on the datasets of a specific datasource. Find the `datasourceId` in the URL of the datasource page in Soda Cloud.\n\n- `name`: Optionally, use this parameter to collect only the information for checks with exactly this name.\n\n- `column`: Optionally, use this parameter to collect only the information for checks on exactly this column.\n\n- `group`: Optionally, use this parameter to collect only the information for checks in the check group with exactly this name, as returned in `group.name`.\n\n- `evaluationStatus`: Optionally, use this parameter to collect only the information for checks with a specific evaluation status. One of `pass`, `warn`, `fail`, `notEvaluated`, `excluded`.\n\n- `checkType`: Optionally, use this parameter to collect only the information for checks of a specific type, for example `missing` or `freshness`, as returned in `checkType`.\n\n- `metricType`: Optionally, use this parameter to collect only the information for checks on a specific metric, for example `rowCount`, as returned in `metricType`. An unknown metric type is rejected with a 400 error.\n\n- `attribute`: Optionally, use this parameter to collect only the information for checks carrying a check attribute, written as a single `key:value` pair, for example `team:Engineering`. The key is the attribute's name, and it always matches exactly. For an attribute that allows several values, the check matches when any one of its selected values is the one you asked for. A value that is missing or a key that is not made up of letters, digits and underscores is rejected with a 400 error.\n\n- `from`: Optionally, use this parameter to collect only the checks created on or after this moment, compared against each check's `createdAt` timestamp. Supply an ISO8601 timestamp value. Example: `2026-08-01T00:00:00+01:00`\n\n- `to`: Optionally, use this parameter to collect only the checks created on or before this moment, compared against each check's `createdAt` timestamp. Supply an ISO8601 timestamp value. Example: `2026-08-01T23:59:59+01:00`\n\n- `caseInsensitive`: Optionally, set this to `true` to ignore letter case in every text match of this request: `name`, `column`, `group` and the value of `attribute`. The default is `false`, so those parameters match case-sensitively.\n\n- `sort`: Optionally, sort the results by `name` (default) or `createdAt`.\n\n- `order`: Optionally, sort in `asc` (default) or `desc` order.\n\nWithout `checkIds`, the other filters can be combined and are applied together (AND). When `checkIds` is supplied, Soda Cloud returns the named checks you are allowed to view without applying other filters or pagination. Malformed or out-of-range parameter values may still be rejected during request parsing or validation.\n\nIf not specified, the query gathers information for all checks in the account and sorts the results by check name in ascending order.\n\nThis list also includes metric monitors, as checks whose `source` is `soda-metric-monitoring`. Listing monitors here is deprecated. Use `GET /api/v1/monitors` to list monitors, and `GET /api/v1/monitors/{monitorId}/results` to read their results; both support V4 datasets only. For the same reason, `anomalyDetectionDetails` in `lastCheckResultValue` is deprecated. Only a monitor's result fills that field.\n\n## Authorization\n\nSoda only returns the checks linked to datasets to which the user has **View dataset** permissions. Soda Cloud Admins have access to all checks.**See [Manage dataset roles](https://go.soda.io/roles-dataset) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Tags\n\n`Checks`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/checks","parameters":[{"in":"query","name":"attribute","schema":{"type":"string"}},{"in":"query","name":"caseInsensitive","schema":{"type":"boolean"}},{"in":"query","name":"checkIds","schema":{"type":"string"}},{"in":"query","name":"checkType","schema":{"type":"object","$ref":"#/components/schemas/CheckTypeDTO"}},{"in":"query","name":"column","schema":{"type":"string"}},{"in":"query","name":"dataStandardId","schema":{"type":"string"}},{"in":"query","name":"datasetId","schema":{"type":"string"}},{"in":"query","name":"datasourceId","schema":{"type":"string"}},{"in":"query","name":"evaluationStatus","schema":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"}},{"in":"query","name":"from","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"group","schema":{"type":"string"}},{"in":"query","name":"metricType","schema":{"type":"string"}},{"in":"query","name":"name","schema":{"type":"string"}},{"in":"query","name":"order","schema":{"type":"object","$ref":"#/components/schemas/CheckSortOrderDTO"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"scanId","schema":{"type":"string"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"sort","schema":{"type":"object","$ref":"#/components/schemas/CheckSortFieldDTO"}},{"in":"query","name":"source","schema":{"type":"object","$ref":"#/components/schemas/CheckSourceDTO"}},{"in":"query","name":"to","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiChecksResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Check information","tags":["Checks"]}}}}
```

## Delete a check

> This endpoint allows you to delete a specific check in your organization's Soda Cloud account.\
> \
> \## Authorization\
> \
> Only users with \*\*Manage checks\*\* permission (V3 datasets) or \*\*Manage contracts\*\* permission (V4 datasets) can delete checks. Soda Cloud Admins can delete checks for all datasets. \*\*See \[Manage dataset roles]\(<https://go.soda.io/roles-dataset>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Tags\
> \
> \`Checks\`\
> \
> \## Rate limiting\
> \
> 1000 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Check Endpoints","name":"Checks"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/checks/{checkId}":{"delete":{"description":"This endpoint allows you to delete a specific check in your organization's Soda Cloud account.\n\n## Authorization\n\nOnly users with **Manage checks** permission (V3 datasets) or **Manage contracts** permission (V4 datasets) can delete checks. Soda Cloud Admins can delete checks for all datasets. **See [Manage dataset roles](https://go.soda.io/roles-dataset) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Tags\n\n`Checks`\n\n## Rate limiting\n\n1000 requests/60 seconds","operationId":"DELETE/api/v1/checks/{checkId}","parameters":[{"in":"path","name":"checkId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Delete a check","tags":["Checks"]}}}}
```

## Check result history

> This endpoint returns the history of one check's results, one row per result, newest first. Use it to see how the check evolved or since when it has been failing. \`GET /api/v1/checks\` only carries the check's latest result.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`checkId\`: The ID of the check, which you can find on the check page in Soda Cloud. A metric monitor's id is still accepted here, but that is deprecated: read a monitor's results with \`GET /api/v1/monitors/{monitorId}/results\`, which supports V4 datasets only. \`anomalyDetectionDetails\` is deprecated here for the same reason; a SodaCL anomaly detection check, which is not a monitor, keeps filling it on this route.\
> \
> \- \`from\`: Collect only the results whose \`dataTimestamp\` is on or after this moment. Supply an ISO8601 timestamp value. Defaults to 30 days before now. Example: \`2026-08-01T00:00:00+01:00\`\
> \
> \- \`to\`: Collect only the results whose \`dataTimestamp\` is on or before this moment. Supply an ISO8601 timestamp value. The window between \`from\` and \`to\` may span at most 30 days, so reading further back than that means asking for one window at a time. Example: \`2026-08-31T23:59:59+01:00\`\
> \
> \- \`size\`: Supply an integer value between 1 and 1000, inclusive. The default value is 100.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> Results are sorted by \`dataTimestamp\` in descending order, newest first.\
> \
> \## Authorization\
> \
> The check must be linked to a dataset to which the user has \*\*View dataset\*\* permissions; otherwise the check is reported as not found. Soda Cloud Admins have access to all checks. \*\*See \[Manage dataset roles]\(<https://go.soda.io/roles-dataset>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Tags\
> \
> \`Checks\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Check Endpoints","name":"Checks"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiCheckResultsResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/CheckResultContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"CheckResultContentDTO":{"type":"object","properties":{"anomalyDetectionDetails":{"type":"object","$ref":"#/components/schemas/CheckResultAnomalyDetectionDetailsDTO","deprecated":true},"checkId":{"type":"string"},"dataTimestamp":{"type":"string","format":"date-time"},"diagnostics":{"type":"object","$ref":"#/components/schemas/CheckResultDiagnosticsV4"},"evaluationStatus":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"},"feedback":{"type":"object","$ref":"#/components/schemas/MonitorResultFeedbackDTO","description":"Feedback given on this result. Only anomaly detection results carry it."},"id":{"type":"string"},"incident":{"type":"object","$ref":"#/components/schemas/IncidentSlimDTO"},"measure":{"type":"object","$ref":"#/components/schemas/MeasureDTO"},"scanId":{"type":"string"},"scanTime":{"type":"string","format":"date-time"},"value":{"type":"number"},"valueLabel":{"type":"string"},"valueSeries":{"type":"object","$ref":"#/components/schemas/CheckResultValueSeriesDTO"}},"required":["checkId","dataTimestamp","evaluationStatus","id"]},"CheckResultAnomalyDetectionDetailsDTO":{"type":"object","properties":{"predictedValue":{"type":"number"}}},"CheckResultDiagnosticsV4":{"type":"object","properties":{"aggregate":{"type":"object","$ref":"#/components/schemas/AggregateDiagnosticsV4"},"aggregate_diff":{"type":"object","$ref":"#/components/schemas/AggregateDiffDiagnosticsV4"},"duplicate":{"type":"object","$ref":"#/components/schemas/DuplicateDiagnosticsV4"},"duplicate_diff":{"type":"object","$ref":"#/components/schemas/DuplicateDiffDiagnosticsV4"},"failed_rows":{"type":"object","$ref":"#/components/schemas/FailedRowsDiagnosticsV4"},"freshness":{"type":"object","$ref":"#/components/schemas/FreshnessDiagnosticsV4"},"freshness_diff":{"type":"object","$ref":"#/components/schemas/FreshnessDiffDiagnosticsV4"},"fuzzy_duplicate":{"type":"object","$ref":"#/components/schemas/FuzzyDuplicateDiagnosticsV4"},"group_by":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4"},"hierarchy":{"type":"object","$ref":"#/components/schemas/HierarchyDiagnosticsV4"},"invalid":{"type":"object","$ref":"#/components/schemas/InvalidDiagnosticsV4"},"llm":{"type":"object","$ref":"#/components/schemas/LlmDiagnosticsV4"},"metric":{"type":"object","$ref":"#/components/schemas/MetricDiagnosticsV4"},"metric_diff":{"type":"object","$ref":"#/components/schemas/MetricDiffDiagnosticsV4"},"missing":{"type":"object","$ref":"#/components/schemas/MissingDiagnosticsV4"},"reference_diff":{"type":"object","$ref":"#/components/schemas/ReferenceDiffDiagnosticsV4"},"row_count":{"type":"object","$ref":"#/components/schemas/RowCountDiagnosticsV4"},"row_count_diff":{"type":"object","$ref":"#/components/schemas/RowCountDiffDiagnosticsV4"},"rows_diff":{"type":"object","$ref":"#/components/schemas/RowsDiffDiagnosticsV4"},"schema":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4"},"schema_diff":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4"}}},"AggregateDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"}}},"AggregateDiffDiagnosticsV4":{"type":"object","properties":{"diff":{"type":"number"},"diffPercent":{"type":"number"},"function":{"type":"string"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceValue":{"type":"number"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetValue":{"type":"number"}}},"DuplicateDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"},"missingCount":{"type":"integer","format":"int32"}}},"DuplicateDiffDiagnosticsV4":{"type":"object","properties":{"duplicateCountDiff":{"type":"integer","format":"int32"},"duplicateDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceDuplicateCount":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetDuplicateCount":{"type":"integer","format":"int32"}}},"FailedRowsDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"}}},"FreshnessDiagnosticsV4":{"type":"object","properties":{"actualTimestamp":{"type":"string","format":"date-time"},"actualTimestampUtc":{"type":"string","format":"date-time"},"datasetRowsTested":{"type":"integer","format":"int32"},"expectedTimestamp":{"type":"string","format":"date-time"},"expectedTimestampUtc":{"type":"string","format":"date-time"}}},"FreshnessDiffDiagnosticsV4":{"type":"object","properties":{"freshnessDiff":{"type":"integer","format":"int32"},"freshnessDiffUnit":{"type":"object","$ref":"#/components/schemas/FreshnessDiffDiagnosticsV4_UnitOfTimeDTO"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceMaxTimestamp":{"type":"string","format":"date-time"},"sourceMaxTimestampUtc":{"type":"string","format":"date-time"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetMaxTimestamp":{"type":"string","format":"date-time"},"targetMaxTimestampUtc":{"type":"string","format":"date-time"}}},"FreshnessDiffDiagnosticsV4_UnitOfTimeDTO":{"type":"string","enum":["minutes","hours","days"]},"FuzzyDuplicateDiagnosticsV4":{"type":"object","properties":{"candidateRowsScored":{"type":"integer","format":"int32"},"checkRowsTested":{"type":"integer","format":"int32"},"clusterCount":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"fuzzyDuplicateCount":{"type":"integer","format":"int32"},"fuzzyDuplicatePercent":{"type":"number"},"meanConfidence":{"type":"number"}}},"GroupByDiagnosticsV4":{"type":"object","properties":{"diagnosticsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"groups":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4_Group"}}}},"GroupByDiagnosticsV4_Group":{"type":"object","properties":{"group":{"type":"string"},"rowsTested":{"type":"integer","format":"int64"},"status":{"type":"object","$ref":"#/components/schemas/GroupByDiagnosticsV4_GroupByOutcomeDTO"},"value":{"type":"number"}}},"GroupByDiagnosticsV4_GroupByOutcomeDTO":{"type":"string","enum":["pass","warn","fail"]},"HierarchyDiagnosticsV4":{"type":"object","properties":{"brokenPathCount":{"type":"integer","format":"int32"},"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"invalidValueCount":{"type":"integer","format":"int32"},"missingValueCount":{"type":"integer","format":"int32"}}},"InvalidDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"},"missingCount":{"type":"integer","format":"int32"}}},"LlmDiagnosticsV4":{"type":"object","properties":{"completionTokens":{"type":"integer","format":"int64"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsSourceQuery":{"type":"string"},"model":{"type":"string"},"promptTokens":{"type":"integer","format":"int64"},"rowsChecked":{"type":"integer","format":"int32"},"rowsFailed":{"type":"integer","format":"int32"},"rowsFailedPercent":{"type":"number"},"tokensSpent":{"type":"integer","format":"int32"}}},"MetricDiagnosticsV4":{"type":"object","properties":{"datasetRowsTested":{"type":"integer","format":"int32"}}},"MetricDiffDiagnosticsV4":{"type":"object","properties":{"metricDiff":{"type":"number"},"metricDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"sourceMetric":{"type":"number"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"},"targetMetric":{"type":"number"}}},"MissingDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"},"failedRowsCount":{"type":"integer","format":"int32"},"failedRowsDataQuery":{"type":"string"},"failedRowsKeysQuery":{"type":"string"},"failedRowsPercent":{"type":"number"},"failedRowsSourceQuery":{"type":"string"}}},"ReferenceDiffDiagnosticsV4":{"type":"object","properties":{"diffCount":{"type":"integer","format":"int32"},"diffPercent":{"type":"number"},"exclusiveInSource":{"type":"integer","format":"int32"},"exclusiveInTarget":{"type":"integer","format":"int32"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"RowCountDiagnosticsV4":{"type":"object","properties":{"checkRowsTested":{"type":"integer","format":"int32"},"datasetRowsTested":{"type":"integer","format":"int32"}}},"RowCountDiffDiagnosticsV4":{"type":"object","properties":{"rowCountDiff":{"type":"integer","format":"int32"},"rowCountDiffPercent":{"type":"number"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"RowsDiffDiagnosticsV4":{"type":"object","properties":{"changed":{"type":"integer","format":"int32"},"diffCount":{"type":"integer","format":"int32"},"diffPercent":{"type":"number"},"exclusiveInSource":{"type":"integer","format":"int32"},"exclusiveInTarget":{"type":"integer","format":"int32"},"nullKeyRowsSource":{"type":"integer","format":"int32"},"nullKeyRowsTarget":{"type":"integer","format":"int32"},"sourceCheckRowsTested":{"type":"integer","format":"int32"},"sourceDatasetRowsTested":{"type":"integer","format":"int32"},"targetCheckRowsTested":{"type":"integer","format":"int32"},"targetDatasetRowsTested":{"type":"integer","format":"int32"}}},"SchemaDiagnosticsV4":{"type":"object","properties":{"actual":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4_Column"}},"expected":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiagnosticsV4_Column"}}}},"SchemaDiagnosticsV4_Column":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}},"SchemaDiffDiagnosticsV4":{"type":"object","properties":{"missingInSource":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_Column"}},"missingInTarget":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_Column"}},"typeMismatch":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/SchemaDiffDiagnosticsV4_TypeMismatch"}}}},"SchemaDiffDiagnosticsV4_Column":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}},"SchemaDiffDiagnosticsV4_TypeMismatch":{"type":"object","properties":{"sourceColumn":{"type":"string"},"sourceType":{"type":"string"},"targetColumn":{"type":"string"},"targetType":{"type":"string"}}},"EvaluationStatusDTO":{"type":"string","enum":["pass","warn","fail","notEvaluated","excluded"]},"MonitorResultFeedbackDTO":{"type":"object","properties":{"freeTextReason":{"type":"string","description":"The reason in the submitter's own words. Set when the submitter gave one."},"isCorrectlyClassified":{"type":"boolean","description":"Whether the anomaly detection model classified this result correctly. Null when the person who submitted the feedback only wanted to skip measurements."},"reason":{"type":"object","$ref":"#/components/schemas/MonitorResultFeedbackReasonDTO","description":"Why the classification was wrong. Set when the submitter gave one."},"skipMeasurements":{"type":"object","$ref":"#/components/schemas/MonitorResultFeedbackSkipMeasurementsDTO","description":"Which measurements the anomaly detection model leaves out when it trains on the monitor's history."},"submittedAt":{"type":"string","format":"date-time","description":"When Soda Cloud stored the feedback."}}},"MonitorResultFeedbackReasonDTO":{"type":"string","enum":["expectedDailySeasonality","expectedWeeklySeasonality","expectedMonthlySeasonality","expectedYearlySeasonality","noisy","other"]},"MonitorResultFeedbackSkipMeasurementsDTO":{"type":"string","enum":["previous","this","previousAndThis"]},"IncidentSlimDTO":{"type":"object","properties":{"cloudUrl":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"integer","format":"int32"},"status":{"type":"object","$ref":"#/components/schemas/IncidentStatusDTO"}},"required":["cloudUrl","id","name","number","status"]},"IncidentStatusDTO":{"type":"string","enum":["reported","investigating","fixing","resolved"]},"MeasureDTO":{"type":"string","enum":["time"]},"CheckResultValueSeriesDTO":{"type":"object","properties":{"values":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/CheckResultValueSeriesDTO_ValueSeriesValue"}}}},"CheckResultValueSeriesDTO_ValueSeriesValue":{"type":"object","properties":{"label":{"type":"string"},"level":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"},"value":{"type":"number"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/checks/{checkId}/results":{"get":{"description":"This endpoint returns the history of one check's results, one row per result, newest first. Use it to see how the check evolved or since when it has been failing. `GET /api/v1/checks` only carries the check's latest result.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `checkId`: The ID of the check, which you can find on the check page in Soda Cloud. A metric monitor's id is still accepted here, but that is deprecated: read a monitor's results with `GET /api/v1/monitors/{monitorId}/results`, which supports V4 datasets only. `anomalyDetectionDetails` is deprecated here for the same reason; a SodaCL anomaly detection check, which is not a monitor, keeps filling it on this route.\n\n- `from`: Collect only the results whose `dataTimestamp` is on or after this moment. Supply an ISO8601 timestamp value. Defaults to 30 days before now. Example: `2026-08-01T00:00:00+01:00`\n\n- `to`: Collect only the results whose `dataTimestamp` is on or before this moment. Supply an ISO8601 timestamp value. The window between `from` and `to` may span at most 30 days, so reading further back than that means asking for one window at a time. Example: `2026-08-31T23:59:59+01:00`\n\n- `size`: Supply an integer value between 1 and 1000, inclusive. The default value is 100.\n\n- `page`: Supply an integer value. The default value is 0.\n\nResults are sorted by `dataTimestamp` in descending order, newest first.\n\n## Authorization\n\nThe check must be linked to a dataset to which the user has **View dataset** permissions; otherwise the check is reported as not found. Soda Cloud Admins have access to all checks. **See [Manage dataset roles](https://go.soda.io/roles-dataset) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Tags\n\n`Checks`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/checks/{checkId}/results","parameters":[{"in":"path","name":"checkId","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"to","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiCheckResultsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Check result history","tags":["Checks"]}}}}
```


---

# 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/reference/soda-apis/rest-api/checks.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.
