Soda Incidents API

The Incidents surface of the Soda Cloud v4 API — 5 operation(s) across 3 path(s).

Operations 5

GET /api/v1/incidents List incidents #
POST /api/v1/incidents Create incident #
POST /api/v1/incidents/{incidentId} Update incident #
GET /api/v1/incidents/{incidentId}/rcaReport Get incident RCA report #
POST /api/v1/incidents/{incidentId}/rcaReport Publish incident RCA report #

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-incidents-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-incidents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Soda Cloud API v4 Incidents 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: Incidents
  description: Soda Cloud API Incidents Endpoints
paths:
  /api/v1/incidents:
    get:
      description: 'This endpoint enables you to gather information about the incidents that exist in your organization''s Soda Cloud account.


        Each incident carries a `hasRcaReport` flag indicating whether a structured root cause analysis report has been published for it; retrieve the report itself from `GET /api/v1/incidents/{incidentId}/rcaReport`. **`hasRcaReport` is in private preview**: it is `true` or `false` only when the root cause analysis report preview is enabled for your organization, and `null` otherwise.


        This GET is a paginated API that uses the following parameters to request specific details:


        - `size`: Supply an integer value between 1 and 1000, inclusive. The default value is 10.


        - `page`: Supply an integer value. The default value is 0.


        - `status`: Optionally, use this parameter to collect only the incidents with a specific status. One of `reported`, `investigating`, `fixing`, `resolved`.


        - `severity`: Optionally, use this parameter to collect only the incidents with a specific severity. One of `minor`, `major`, `critical`.


        - `datasetId`: Optionally, use this parameter to collect only the incidents associated with a specific dataset. Find the `datasetId` in the URL of the dataset page in Soda Cloud.


        - `incidentIds`: Optionally, use this parameter to collect only a specific batch of incidents. Provide multiple values as a comma-separated list of incident IDs, which you can find on the individual incident pages in Soda Cloud. This query parameter is limited to 1000 incident IDs and can be combined with the other query parameters (`status`, `severity`, `datasetId`, `page`, `size`), which are all applied together.


        - `leadId`: Optionally, use this parameter to collect only the incidents assigned to a specific lead user. Provide the user id of the incident lead.


        - `from`: Optionally, use this parameter to collect only the incidents created on or after this moment, compared against each incident''s created timestamp. Supply an ISO8601 timestamp value. Example: `2026-08-01T00:00:00+01:00`


        - `to`: Optionally, use this parameter to collect only the incidents created on or before this moment, compared against each incident''s created timestamp. Supply an ISO8601 timestamp value. Example: `2026-08-01T23:59:59+01:00`


        The `leadId`, `from`, and `to` parameters can be combined with the other query parameters, which are all applied together (AND).


        If not specified, the query gathers information for all incidents in the account and sorts the results by incident number in ascending order.


        ## Authorization


        Soda only returns the incidents linked to datasets to which the user has **View dataset** permissions. Soda Cloud Admins have access to all incidents.**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


        `Incidents`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/incidents
      parameters:
      - in: query
        name: datasetId
        schema:
          type: string
      - in: query
        name: from
        schema:
          type: string
          format: date-time
      - in: query
        name: incidentIds
        schema:
          type: string
      - in: query
        name: leadId
        schema:
          type: string
      - in: query
        name: page
        schema:
          type: integer
          format: int32
      - in: query
        name: severity
        schema:
          type: string
      - in: query
        name: size
        schema:
          type: integer
          format: int32
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: to
        schema:
          type: string
          format: date-time
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiIncidentsResponse'
          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: List incidents
      tags:
      - Incidents
    post:
      description: 'This endpoint enables you to create a new incident linked to one or more monitor results in your organization''s Soda Cloud account. The authenticated user becomes the incident reporter.


        ## Authorization


        Only users with **Manage incident** permission can create incidents. Soda Cloud Admins have permission to create incidents on 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


        `Incidents`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/incidents
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiCreateIncidentDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/IncidentContentDTO'
          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: Create incident
      tags:
      - Incidents
  /api/v1/incidents/{incidentId}:
    post:
      description: 'This endpoint enables you to update an existing incident title, severity, status, or description in your organization''s Soda Cloud account.


        ## Authorization


        Only users with **Manage incident** permission can update incidents. Soda Cloud Admins have permission to update all incidents.**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


        `Incidents`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/incidents/{incidentId}
      parameters:
      - in: path
        name: incidentId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiUpdateIncidentDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/IncidentContentDTO'
          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 incident
      tags:
      - Incidents
  /api/v1/incidents/{incidentId}/rcaReport:
    get:
      description: 'This endpoint returns the structured root cause analysis and impact assessment published on an incident in your organization''s Soda Cloud account.


        Returns 404 if the incident does not exist or has no RCA report published yet.


        ## Authorization


        Unlike the incident list, this endpoint requires **View dataset** permission on every dataset the incident touches. Soda Cloud Admins have access to all incidents. **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


        `Incidents`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/incidents/{incidentId}/rcaReport
      parameters:
      - in: path
        name: incidentId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiRcaReportContentDTO'
          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: Get incident RCA report
      tags:
      - Incidents
    post:
      description: 'This endpoint publishes a structured root cause analysis and impact assessment onto an existing incident in your organization''s Soda Cloud account. The report is additive and does not mutate the incident''s own fields (title, severity, status, description).


        There is one report per incident: publishing replaces any previous report. Publishing to a resolved incident is rejected.


        ## Authorization


        Only users with **Manage incident** permission can publish incident RCA reports. Soda Cloud Admins have permission to publish reports on all incidents.**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


        `Incidents`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/incidents/{incidentId}/rcaReport
      parameters:
      - in: path
        name: incidentId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiRcaReportDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiRcaReportContentDTO'
          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: Publish incident RCA report
      tags:
      - Incidents
components:
  schemas:
    PublicApiRcaRemediationItemDTO:
      type: object
      properties:
        action:
          type: string
        priority:
          type: object
          $ref: '#/components/schemas/RcaPriorityDTO'
      required:
      - action
    PublicApiRcaLineageEdgeDTO:
      type: object
      properties:
        from:
          type: string
        to:
          type: string
      required:
      - from
      - to
    PublicApiRcaReportDTO:
      type: object
      properties:
        agent:
          type: object
          $ref: '#/components/schemas/PublicApiRcaAgentDTO'
        impactAssessment:
          type: object
          $ref: '#/components/schemas/PublicApiImpactAssessmentDTO'
        rootCauseAnalysis:
          type: object
          $ref: '#/components/schemas/PublicApiRootCauseAnalysisDTO'
      required:
      - agent
      - rootCauseAnalysis
    PublicApiRcaMetricDTO:
      type: object
      properties:
        label:
          type: string
        value:
          type: string
      required:
      - label
      - value
    PublicApiRcaAffectedResourceDTO:
      type: object
      properties:
        description:
          type: string
        metrics:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaMetricDTO'
        resource:
          type: object
          $ref: '#/components/schemas/PublicApiRcaResourceRefDTO'
      required:
      - description
      - resource
    RcaResourceTypeDTO:
      type: string
      enum:
      - dataset
      - datasource
      - check
      - checkResult
    IncidentContentDTO:
      type: object
      properties:
        description:
          type: string
        resolutionNotes:
          type: string
        severity:
          type: object
          $ref: '#/components/schemas/IncidentSeverityDTO'
        cloudUrl:
          type: string
        id:
          type: string
        name:
          type: string
        number:
          type: integer
          format: int32
        status:
          type: object
          $ref: '#/components/schemas/IncidentStatusDTO'
      required:
      - cloudUrl
      - description
      - id
      - name
      - number
      - severity
      - status
    PublicApiImpactAssessmentDTO:
      type: object
      properties:
        affectedResources:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaAffectedResourceDTO'
        blastRadius:
          type: object
          $ref: '#/components/schemas/PublicApiBlastRadiusDTO'
        summary:
          type: string
    PublicApiRcaEvidenceDTO:
      type: object
      properties:
        kind:
          type: string
        resource:
          type: object
          $ref: '#/components/schemas/PublicApiRcaResourceRefDTO'
        text:
          type: string
    IncidentStatusDTO:
      type: string
      enum:
      - reported
      - investigating
      - fixing
      - resolved
    RcaReportStatusDTO:
      type: string
      enum:
      - completed
      - partial
      - inconclusive
      - failed
    PublicApiCreateIncidentDTO:
      type: object
      properties:
        description:
          type: string
        leadId:
          type: string
        monitorResultIds:
          type: array
          items:
            type: string
        resolutionNotes:
          type: string
        severity:
          type: object
          $ref: '#/components/schemas/IncidentSeverityDTO'
        status:
          type: object
          $ref: '#/components/schemas/IncidentStatusDTO'
        title:
          type: string
      required:
      - description
      - monitorResultIds
      - severity
      - title
    PublicApiRootCauseAnalysisDTO:
      type: object
      properties:
        confidence:
          type: object
          $ref: '#/components/schemas/RcaConfidenceDTO'
        durationSeconds:
          type: integer
          format: int32
        generatedAt:
          type: string
          format: date-time
        investigation:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaInvestigationStepDTO'
        lineage:
          type: object
          $ref: '#/components/schemas/PublicApiRcaLineageDTO'
        remediation:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaRemediationItemDTO'
        rootCauseResource:
          type: object
          $ref: '#/components/schemas/PublicApiRcaResourceRefDTO'
        status:
          type: object
          $ref: '#/components/schemas/RcaReportStatusDTO'
        summary:
          type: string
      required:
      - confidence
      - generatedAt
      - status
      - summary
    IncidentSeverityDTO:
      type: string
      enum:
      - minor
      - major
      - critical
    RcaConfidenceDTO:
      type: string
      enum:
      - high
      - medium
      - low
    PublicApiRcaAgentDTO:
      type: object
      properties:
        model:
          type: string
        name:
          type: string
        sessionId:
          type: string
        version:
          type: string
      required:
      - name
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    PublicApiIncidentsResponse:
      type: object
      properties:
        content:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiIncidentWithRcaReportDTO'
        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
    RcaNodeStatusDTO:
      type: string
      enum:
      - rootCause
      - affected
      - healthy
    RcaPriorityDTO:
      type: string
      enum:
      - low
      - medium
      - high
      - urgent
    RcaAssetTypeDTO:
      type: string
      enum:
      - dataset
      - datasource
    PublicApiRcaReportContentDTO:
      type: object
      properties:
        agentName:
          type: string
        blastRadiusAssetType:
          type: object
          $ref: '#/components/schemas/RcaAssetTypeDTO'
        blastRadiusCount:
          type: integer
          format: int32
        confidence:
          type: object
          $ref: '#/components/schemas/RcaConfidenceDTO'
        durationSeconds:
          type: integer
          format: int32
        generatedAt:
          type: string
          format: date-time
        id:
          type: string
        impactSummary:
          type: string
        incidentId:
          type: string
        publishedAt:
          type: string
          format: date-time
        rootCauseSummary:
          type: string
        status:
          type: object
          $ref: '#/components/schemas/RcaReportStatusDTO'
    PublicApiRcaLineageDTO:
      type: object
      properties:
        edges:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaLineageEdgeDTO'
        nodes:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaLineageNodeDTO'
    PublicApiRcaInvestigationStepDTO:
      type: object
      properties:
        detail:
          type: string
        evidence:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/PublicApiRcaEvidenceDTO'
        order:
          type: integer
          format: int32
        title:
          type: string
      required:
      - title
    PublicApiBlastRadiusDTO:
      type: object
      properties:
        assetType:
          type: object
          $ref: '#/components/schemas/RcaAssetTypeDTO'
        count:
          type: integer
          format: int32
    PublicApiRcaResourceRefDTO:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: object
          $ref: '#/components/schemas/RcaResourceTypeDTO'
        url:
          type: string
      required:
      - id
      - type
    PublicApiIncidentWithRcaReportDTO:
      type: object
      properties:
        hasRcaReport:
          type: boolean
        description:
          type: string
        resolutionNotes:
          type: string
        severity:
          type: object
          $ref: '#/components/schemas/IncidentSeverityDTO'
        cloudUrl:
          type: string
        id:
          type: string
        name:
          type: string
        number:
          type: integer
          format: int32
        status:
          type: object
          $ref: '#/components/schemas/IncidentStatusDTO'
      required:
      - cloudUrl
      - description
      - id
      - name
      - number
      - severity
      - status
    PublicApiRcaLineageNodeDTO:
      type: object
      properties:
        id:
          type: string
        incidentAsset:
          type: boolean
        name:
          type: string
        namespace:
          type: string
        platform:
          type: string
        sodaResource:
          type: object
          $ref: '#/components/schemas/PublicApiRcaResourceRefDTO'
        status:
          type: object
          $ref: '#/components/schemas/RcaNodeStatusDTO'
      required:
      - id
      - name
    PublicApiUpdateIncidentDTO:
      type: object
      properties:
        description:
          type: string
        resolutionNotes:
          type: string
        severity:
          type: object
          $ref: '#/components/schemas/IncidentSeverityDTO'
        status:
          type: object
          $ref: '#/components/schemas/IncidentStatusDTO'
        title:
          type: string
  securitySchemes:
    basicAuthApiKey:
      scheme: basic
      type: http
    cookieToken:
      in: cookie
      name: token
      type: apiKey