Soda Notification Rules API

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

Operations 4

GET /api/v1/notificationRules List notification rules #
POST /api/v1/notificationRules Create a notification rule #
POST /api/v1/notificationRules/{notificationRuleId} Update a notification rule #
DELETE /api/v1/notificationRules/{notificationRuleId} Delete a notification rule #

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-notification-rules-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 email required.

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

OpenAPI Specification

soda-data-notification-rules-api-openapi.yml Raw ↑
# generated: '2026-08-29'
# method: searched
# source: https://docs.soda.io/reference/soda-apis/rest-api/ — assembled from the OpenAPI 3.1.0
#   documents Soda publishes inline on each REST API reference page (16 pages, 103 operations,
#   zero conflicting definitions). Ownership: info.title 'Soda Cloud API v4', servers
#   https://cloud.soda.io + https://cloud.us.soda.io — Soda's own hosts.
openapi: 3.1.0
info:
  title: Soda Cloud API v4 — Notification Rules
  version: v1
  description: The Notification Rules surface of the Soda Cloud v4 public REST API — 4 operation(s). Harvested
    verbatim from the OpenAPI documents Soda publishes 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: Notification Rules
  description: Soda Cloud API Notification Rule Endpoints
paths:
  /api/v1/notificationRules:
    get:
      description: 'This endpoint allows you to list the notification rules in your organization.


        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.


        ## 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


        `Notification Rules`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/notificationRules
      parameters:
      - 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/PublicApiListNotificationRulesResponse'
          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
        '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: List notification rules
      tags:
      - Notification Rules
    post:
      description: 'Creates a notification rule with the provided filter and recipients.


        The filter is a simplified expression tree (and/or/not/equals/contains/in) over check and monitor
        attributes; recipients can be users, user groups, emails, integrations, or roles.


        ## 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.


        ## Authorization


        Users must have global role permission MANAGE_NOTIFICATION_RULES to execute this call.


        ## Tags


        `Notification Rules`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/notificationRules
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiNotificationRuleRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiNotificationRuleDTO'
          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
        '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: Create a notification rule
      tags:
      - Notification Rules
  /api/v1/notificationRules/{notificationRuleId}:
    post:
      description: 'Updates a notification rule. This is a full replacement: the rule''s name, type, filter,
        recipients, status, and customization are all set from the request body.


        ## 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.


        ## Authorization


        Users must have global role permission MANAGE_NOTIFICATION_RULES to execute this call.


        ## Tags


        `Notification Rules`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/notificationRules/{notificationRuleId}
      parameters:
      - in: path
        name: notificationRuleId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiNotificationRuleRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiNotificationRuleDTO'
          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: Update a notification rule
      tags:
      - Notification Rules
    delete:
      description: 'Schedules a notification rule for deletion. Deletion is processed asynchronously.


        ## 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.


        ## Authorization


        Users must have global role permission MANAGE_NOTIFICATION_RULES to execute this call.


        ## Tags


        `Notification Rules`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: DELETE/api/v1/notificationRules/{notificationRuleId}
      parameters:
      - in: path
        name: notificationRuleId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiDeleteNotificationRuleResponse'
          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: Delete a notification rule
      tags:
      - Notification Rules
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
    NotificationCustomizationDTO:
      type: object
      properties:
        message:
          type: string
        type:
          type: object
          $ref: '#/components/schemas/NotificationCustomizationTypeDTO'
      required:
      - type
    NotificationCustomizationTypeDTO:
      type: string
      enum:
      - rich
      - minimal
    NotificationFilterDTO:
      type: object
      properties:
        expression:
          type: object
          $ref: '#/components/schemas/NotificationFilterDTO'
        expressions:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/NotificationFilterDTO'
        field:
          type: object
          $ref: '#/components/schemas/NotificationFilterFieldDTO'
        type:
          type: object
          $ref: '#/components/schemas/NotificationFilterTypeDTO'
        value:
          type: string
        values:
          type: array
          items:
            type: string
      required:
      - type
    NotificationFilterFieldDTO:
      type: object
      properties:
        attributeName:
          type: string
        field:
          type: object
          $ref: '#/components/schemas/NotificationFilterFieldTypeDTO'
      required:
      - field
    NotificationFilterFieldTypeDTO:
      type: string
      enum:
      - datasourceId
      - datasourceLabel
      - datasetId
      - datasetLabel
      - datasetOwnerId
      - datasetTags
      - checkId
      - checkName
      - checkOwnerId
      - columnId
      - metricType
      - datasetResourceAttribute
      - checkResourceAttribute
    NotificationFilterTypeDTO:
      type: string
      enum:
      - equals
      - contains
      - in
      - and
      - or
      - not
    NotificationLevelDTO:
      type: string
      enum:
      - info
      - warning
      - critical
      - not_evaluated
    NotificationRecipientDTO:
      type: object
      properties:
        customRoleId:
          type: string
        email:
          type: string
        integrationChannel:
          type: string
        integrationId:
          type: string
        role:
          type: object
          $ref: '#/components/schemas/NotificationRecipientRoleDTO'
        triggers:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/NotificationRecipientTriggerDTO'
        type:
          type: object
          $ref: '#/components/schemas/NotificationRecipientTypeDTO'
        userGroupId:
          type: string
        userId:
          type: string
      required:
      - triggers
      - type
    NotificationRecipientRoleDTO:
      type: string
      enum:
      - datasetOwner
      - monitorOwner
    NotificationRecipientTriggerDTO:
      type: object
      properties:
        level:
          type: object
          $ref: '#/components/schemas/NotificationLevelDTO'
        scanState:
          type: object
          $ref: '#/components/schemas/NotificationScanStateDTO'
        type:
          type: object
          $ref: '#/components/schemas/NotificationTriggerTypeDTO'
      required:
      - type
    NotificationRecipientTypeDTO:
      type: string
      enum:
      - email
      - user
      - userGroup
      - integration
      - resourceRole
      - customRole
    NotificationRuleStatusDTO:
      type: string
      enum:
      - active
      - paused
    NotificationScanStateDTO:
      type: string
      enum:
      - failed
      - timedOut
      - canceled
      - completedWithErrors
    NotificationTriggerTypeDTO:
      type: string
      enum:
      - testResultLevel
      - scanState
    PublicApiDeleteNotificationRuleResponse:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    PublicApiListNotificationRulesResponse:
      type: object
      properties:
        content:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiNotificationRuleDTO'
        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
    PublicApiNotificationRuleDTO:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        customization:
          type: object
          $ref: '#/components/schemas/NotificationCustomizationDTO'
        filter:
          type: object
          $ref: '#/components/schemas/NotificationFilterDTO'
        id:
          type: string
        isDefault:
          type: boolean
        lastTriggeredAt:
          type: string
          format: date-time
        name:
          type: string
        ownerId:
          type: string
        recipients:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/NotificationRecipientDTO'
        ruleType:
          type: object
          $ref: '#/components/schemas/PublicApiRuleTypeDTO'
        status:
          type: object
          $ref: '#/components/schemas/NotificationRuleStatusDTO'
        updatedAt:
          type: string
          format: date-time
    PublicApiNotificationRuleRequestDTO:
      type: object
      properties:
        customization:
          type: object
          $ref: '#/components/schemas/NotificationCustomizationDTO'
        filter:
          type: object
          $ref: '#/components/schemas/NotificationFilterDTO'
        name:
          type: string
        recipients:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/NotificationRecipientDTO'
        ruleType:
          type: object
          $ref: '#/components/schemas/PublicApiRuleTypeDTO'
        status:
          type: object
          $ref: '#/components/schemas/NotificationRuleStatusDTO'
      required:
      - name
      - recipients
      - ruleType
    PublicApiRuleTypeDTO:
      type: string
      enum:
      - check
      - monitor