Soda Checks API

The Checks surface of the Soda Cloud v4 API — 2 operation(s) across 2 path(s).

Business capability
Data Quality Management BC-610.30

Operations 2

GET /api/v1/checks Check information #
DELETE /api/v1/checks/{checkId} Delete a check #

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-checks-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-checks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Soda Cloud API v4 Checks 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:
- name: Checks
  description: Soda Cloud API Check Endpoints
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. .


        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.


        - `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 and it can''t be combined with other query parameters like `page`, `datasetId`, `size`.


        If not specified, the query gathers information for all checks in the account and sorts the results by check name in ascending order.


        ## 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 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'
      operationId: GET/api/v1/checks
      parameters:
      - in: query
        name: checkIds
        schema:
          type: string
      - in: query
        name: dataStandardId
        schema:
          type: string
      - in: query
        name: datasetId
        schema:
          type: string
      - in: query
        name: page
        schema:
          type: integer
          format: int32
      - in: query
        name: size
        schema:
          type: integer
          format: int32
      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
  /api/v1/checks/{checkId}:
    delete:
      description: '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 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'
      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
components:
  schemas:
    MeasureDTO:
      type: string
      enum:
      - time
    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
    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
    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
    EvaluationStatusDTO:
      type: string
      enum:
      - pass
      - warn
      - fail
      - notEvaluated
      - excluded
    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'
    ChecksContentDTO_Group:
      type: object
      properties:
        groupType:
          type: string
        identity:
          type: string
        name:
          type: string
    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
    MapOfStringToString:
      type: object
      additionalProperties: true
    GroupByDiagnosticsV4_Group:
      type: object
      properties:
        group:
          type: string
        rowsTested:
          type: integer
          format: int64
        status:
          type: object
          $ref: '#/components/schemas/GroupByDiagnosticsV4_GroupByOutcomeDTO'
        value:
          type: number
    RowCountDiagnosticsV4:
      type: object
      properties:
        checkRowsTested:
          type: integer
          format: int32
        datasetRowsTested:
          type: integer
          format: int32
    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
    CheckResultAnomalyDetectionDetailsDTO:
      type: object
      properties:
        predictedValue:
          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'
    SchemaDiagnosticsV4_Column:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
    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
    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
    CheckResultValueDTO:
      type: object
      properties:
        anomalyDetectionDetails:
          type: object
          $ref: '#/components/schemas/CheckResultAnomalyDetectionDetailsDTO'
        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
    GroupByDiagnosticsV4_GroupByOutcomeDTO:
      type: string
      enum:
      - pass
      - warn
      - fail
    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
    MetricDiagnosticsV4:
      type: object
      properties:
        datasetRowsTested:
          type: integer
          format: int32
    CheckResultValueSeriesDTO:
      type: object
      properties:
        values:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/CheckResultValueSeriesDTO_ValueSeriesValue'
    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
    DatasetSlimDTO:
      type: object
      properties:
        cloudUrl:
          type: string
        id:
          type: string
        name:
          type: string
        qualifiedName:
          type: string
    AgreementSlimDTO:
      type: object
      properties:
        cloudUrl:
          type: string
        name:
          type: string
    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
    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'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    CheckResultValueSeriesDTO_ValueSeriesValue:
      type: object
      properties:
        label:
          type: string
        level:
          type: object
          $ref: '#/components/schemas/EvaluationStatusDTO'
        value:
          type: number
    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
    OwnerDTO:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        fullName:
          type: string
        lastName:
          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
    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
    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
    FreshnessDiffDiagnosticsV4_UnitOfTimeDTO:
      type: string
      enum:
      - minutes
      - hours
      - days
    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
    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
    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
        sourceCheckRowsTested:
          type: integer
          format: int32
        sourceDatasetRowsTested:
          type: integer
          format: int32
        targetCheckRowsTested:
          type: integer
          format: int32
        targetDatasetRowsTested:
          type: integer
          format: int32
    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
      required:
      - createdAt
      - datasets
      - evaluationStatus
      - id
      - incidents
      - name
  securitySchemes:
    basicAuthApiKey:
      scheme: basic
      type: http
    cookieToken:
      in: cookie
      name: token
      type: apiKey