Soda Incidents API
The Incidents surface of the Soda Cloud v4 API — 5 operation(s) across 3 path(s).
The Incidents surface of the Soda Cloud v4 API — 5 operation(s) across 3 path(s).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/soda-data-incidents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
# 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 — Incidents
version: v1
description: The Incidents surface of the Soda Cloud v4 public REST API — 5 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: 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](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
`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](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
`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](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
`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](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
`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](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
`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:
securitySchemes:
basicAuthApiKey:
scheme: basic
type: http
cookieToken:
in: cookie
name: token
type: apiKey
schemas:
ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
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
IncidentSeverityDTO:
type: string
enum:
- minor
- major
- critical
IncidentStatusDTO:
type: string
enum:
- reported
- investigating
- fixing
- resolved
PublicApiBlastRadiusDTO:
type: object
properties:
assetType:
type: object
$ref: '#/components/schemas/RcaAssetTypeDTO'
count:
type: integer
format: int32
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
PublicApiImpactAssessmentDTO:
type: object
properties:
affectedResources:
type: array
items:
type: object
$ref: '#/components/schemas/PublicApiRcaAffectedResourceDTO'
blastRadius:
type: object
$ref: '#/components/schemas/PublicApiBlastRadiusDTO'
summary:
type: string
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
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
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
PublicApiRcaAgentDTO:
type: object
properties:
model:
type: string
name:
type: string
sessionId:
type: string
version:
type: string
required:
- name
PublicApiRcaEvidenceDTO:
type: object
properties:
kind:
type: string
resource:
type: object
$ref: '#/components/schemas/PublicApiRcaResourceRefDTO'
text:
type: string
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
PublicApiRcaLineageDTO:
type: object
properties:
edges:
type: array
items:
type: object
$ref: '#/components/schemas/PublicApiRcaLineageEdgeDTO'
nodes:
type: array
items:
type: object
$ref: '#/components/schemas/PublicApiRcaLineageNodeDTO'
PublicApiRcaLineageEdgeDTO:
type: object
properties:
from:
type: string
to:
type: string
required:
- from
- to
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
PublicApiRcaMetricDTO:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
- value
PublicApiRcaRemediationItemDTO:
type: object
properties:
action:
type: string
priority:
type: object
$ref: '#/components/schemas/RcaPriorityDTO'
required:
- action
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'
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
PublicApiRcaResourceRefDTO:
type: object
properties:
id:
type: string
name:
type: string
type:
type: object
$ref: '#/components/schemas/RcaResourceTypeDTO'
url:
type: string
required:
- id
- type
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
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
RcaAssetTypeDTO:
type: string
enum:
- dataset
- datasource
RcaConfidenceDTO:
type: string
enum:
- high
- medium
- low
RcaNodeStatusDTO:
type: string
enum:
- rootCause
- affected
- healthy
RcaPriorityDTO:
type: string
enum:
- low
- medium
- high
- urgent
RcaReportStatusDTO:
type: string
enum:
- completed
- partial
- inconclusive
- failed
RcaResourceTypeDTO:
type: string
enum:
- dataset
- datasource
- check
- checkResult