Datadog Incidents API
The Incidents API allows you to manage incident response, as well as associated attachments, metadata, and todos. It also supports creating, updating, deleting, and retrieving services associated with incidents.
The Incidents API allows you to manage incident response, as well as associated attachments, metadata, and todos. It also supports creating, updating, deleting, and retrieving services associated with incidents.
openapi: 3.1.0
info:
title: Datadog Incidents API
description: >-
The Datadog Incidents API allows you to manage incident response,
as well as associated attachments, metadata, and todos. It also supports
creating, updating, deleting, and retrieving services associated with
incidents. Incidents capture the full lifecycle of an outage or issue
including detection, investigation, remediation, and post-mortem analysis.
The Incidents feature requires the Incident Management product and
appropriate permissions within your Datadog organization.
version: 'v2'
contact:
name: Datadog Support
url: https://www.datadoghq.com/support/
termsOfService: https://www.datadoghq.com/legal/terms/
externalDocs:
description: Datadog Incidents API Documentation
url: https://docs.datadoghq.com/api/latest/incidents/
servers:
- url: https://api.datadoghq.com
description: Datadog API Production Server
tags:
- name: Incident Teams
description: Manage teams associated with incidents
- name: Incidents
description: Create and manage incident records
security:
- apiKeyAuth: []
- appKeyAuth: []
paths:
/api/v2/incidents:
post:
operationId: createIncident
summary: Datadog Create an Incident
description: >-
Creates a new incident record in Datadog Incident Management. An incident
captures an outage or issue, including its title, severity, status,
customer impact description, and associated fields. Creating an incident
triggers notifications to configured responders and creates a dedicated
Slack channel if configured. The incident is assigned a unique ID and
timestamped at creation time. Custom fields configured in your
organization settings can be set on incident creation.
tags:
- Incidents
parameters:
- name: include
in: query
required: false
description: Comma-separated list of related resources to include in the response (e.g., attachments, responders)
schema:
type: string
example: example_value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentCreateRequest'
responses:
'201':
description: Incident created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentResponse'
'400':
description: Bad request - invalid incident payload or missing required fields
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to create incidents
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - referenced resource does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
operationId: listIncidents
summary: Datadog List Incidents
description: >-
Returns a paginated list of incidents for your Datadog organization.
Results can be filtered by incident state, severity, and date range.
Supports including related resources such as users, teams, services,
and attachments. Incidents are returned in reverse chronological order
by default. Use cursor-based pagination for large datasets.
tags:
- Incidents
parameters:
- name: include
in: query
required: false
description: Comma-separated list of related resources to include (e.g., attachments, responders, commander)
schema:
type: string
example: example_value
- name: page[size]
in: query
required: false
description: The number of incidents to return per page (default 10, max 100)
schema:
type: integer
minimum: 1
maximum: 100
default: 10
example: 42
- name: page[offset]
in: query
required: false
description: The offset for pagination (number of records to skip)
schema:
type: integer
minimum: 0
default: 0
example: 42
- name: filter[state]
in: query
required: false
description: Filter incidents by their current state
schema:
type: string
enum: [active, stable, resolved]
example: active
- name: filter[severity]
in: query
required: false
description: Filter incidents by severity level (SEV-1 to SEV-5)
schema:
type: string
example: example_value
responses:
'200':
description: Successful response with list of incidents
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentsResponse'
'400':
description: Bad request - invalid filter parameters
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to list incidents
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - incidents feature is not enabled
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/incidents/{incident_id}:
get:
operationId: getIncident
summary: Datadog Get the Details of an Incident
description: >-
Returns the full details of a specific incident identified by its unique
ID. Includes the incident title, status, severity, customer impact
description, timeline, custom fields, and optionally associated
responders, services, teams, and attachments. Use the include parameter
to fetch related resources in a single request.
tags:
- Incidents
parameters:
- $ref: '#/components/parameters/incidentIdParam'
- name: include
in: query
required: false
description: Comma-separated list of related resources to include in the response
schema:
type: string
example: example_value
responses:
'200':
description: Successful response with incident details
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to view this incident
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - incident with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
operationId: updateIncident
summary: Datadog Update an Existing Incident
description: >-
Updates an existing incident with new information. Supports partial
updates using JSON merge patch semantics. Can update the incident title,
status, severity, customer impact fields, custom fields, and notification
handles. Status transitions trigger automatic timeline entries and
notifications to responders. Resolving an incident records the resolution
time and optionally captures customer impact duration.
tags:
- Incidents
parameters:
- $ref: '#/components/parameters/incidentIdParam'
- name: include
in: query
required: false
description: Comma-separated list of related resources to include in the response
schema:
type: string
example: example_value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentUpdateRequest'
responses:
'200':
description: Incident updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentResponse'
'400':
description: Bad request - invalid update payload or field values
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to update this incident
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - incident with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteIncident
summary: Datadog Delete an Existing Incident
description: >-
Permanently deletes the incident with the specified ID. This action
cannot be undone. Deleting an incident removes all associated timeline
events, attachments, and todos. Associated Slack channels are not
automatically archived. Only users with the Incident Management write
permission can delete incidents.
tags:
- Incidents
parameters:
- $ref: '#/components/parameters/incidentIdParam'
responses:
'204':
description: No content - incident deleted successfully
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to delete this incident
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - incident with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/teams:
post:
operationId: createIncidentTeam
summary: Datadog Create a New Incident Team
description: >-
Creates a new incident team that can be associated with incidents for
organizing responders. Teams help route incidents to the appropriate
on-call groups and provide a way to track ownership and responsibility
during incident response. Teams can be referenced when creating or
updating incidents.
tags:
- Incident Teams
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamCreateRequest'
responses:
'201':
description: Incident team created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamResponse'
'400':
description: Bad request - invalid team configuration
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to create incident teams
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
operationId: listIncidentTeams
summary: Datadog Get a List of Incident Teams
description: >-
Returns a paginated list of all incident teams configured in your
Datadog organization. Teams can be filtered by name. Incident teams
are used to organize responders and route incidents to appropriate
groups. Returns team names and IDs for use when associating teams
with incidents.
tags:
- Incident Teams
parameters:
- name: filter[query]
in: query
required: false
description: Filter teams by name using a substring search
schema:
type: string
example: avg:system.cpu.user{*}
- name: page[size]
in: query
required: false
description: The number of teams to return per page
schema:
type: integer
minimum: 1
maximum: 100
default: 10
example: 42
- name: page[offset]
in: query
required: false
description: The number of records to skip for pagination
schema:
type: integer
minimum: 0
default: 0
example: 42
responses:
'200':
description: Successful response with list of incident teams
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamsResponse'
'400':
description: Bad request - invalid filter or pagination parameters
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to list incident teams
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/teams/{team_id}:
get:
operationId: getIncidentTeam
summary: Datadog Get Details of an Incident Team
description: >-
Returns the full details of a specific incident team identified by
its unique ID, including the team name, creation time, and optional
included resources such as team members.
tags:
- Incident Teams
parameters:
- $ref: '#/components/parameters/teamIdParam'
responses:
'200':
description: Successful response with incident team details
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to view this team
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - team with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
operationId: updateIncidentTeam
summary: Datadog Update an Existing Incident Team
description: >-
Updates the name or configuration of an existing incident team.
Team membership is managed separately through user management
endpoints. Changes take effect immediately for all future
incident associations.
tags:
- Incident Teams
parameters:
- $ref: '#/components/parameters/teamIdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamUpdateRequest'
responses:
'200':
description: Incident team updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentTeamResponse'
'400':
description: Bad request - invalid team update payload
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to update this team
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - team with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteIncidentTeam
summary: Datadog Delete an Existing Incident Team
description: >-
Permanently deletes an incident team. The team is disassociated from
any incidents that reference it. This action cannot be undone.
Incidents that referenced the deleted team will no longer show the
team association.
tags:
- Incident Teams
parameters:
- $ref: '#/components/parameters/teamIdParam'
responses:
'204':
description: No content - incident team deleted successfully
'401':
description: Unauthorized - missing or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'403':
description: Forbidden - insufficient permissions to delete this team
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'404':
description: Not found - team with the specified ID does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: DD-API-KEY
description: Datadog API key for authenticating requests
appKeyAuth:
type: apiKey
in: header
name: DD-APPLICATION-KEY
description: Datadog application key for write operations and sensitive read operations
parameters:
incidentIdParam:
name: incident_id
in: path
required: true
description: The unique string identifier of the incident
schema:
type: string
teamIdParam:
name: team_id
in: path
required: true
description: The unique string identifier of the incident team
schema:
type: string
schemas:
IncidentCreateRequest:
type: object
description: Request body for creating a new incident
required:
- data
properties:
data:
type: object
description: The incident creation data
required:
- type
- attributes
properties:
type:
type: string
description: The resource type identifier for incidents
enum: [incidents]
attributes:
$ref: '#/components/schemas/IncidentCreateAttributes'
IncidentCreateAttributes:
type: object
description: Attributes for creating a new incident
required:
- title
- customer_impacted
properties:
title:
type: string
description: The title of the incident describing what is affected and the nature of the issue
example: Example Monitor
customer_impacted:
type: boolean
description: Whether the incident is causing direct customer impact (required field for all incidents)
example: true
customer_impact_scope:
type: string
description: Description of the customer groups or features affected by this incident
example: example_value
customer_impact_start:
type: string
format: date-time
description: ISO 8601 timestamp when customer impact started, if known
example: example_value
severity:
type: string
description: The severity level of the incident using SEV-N notation
enum: [SEV-1, SEV-2, SEV-3, SEV-4, SEV-5, UNKNOWN]
example: SEV-1
state:
type: string
description: The initial state of the incident
enum: [active, stable, resolved]
default: active
example: active
fields:
type: object
description: Custom fields for the incident as configured in your organization settings
additionalProperties:
type: object
notification_handles:
type: array
description: List of user and team notification handles to page on incident creation
items:
type: object
properties:
handle:
type: string
description: The Datadog handle or integration channel to notify
display_name:
type: string
description: The display name for this notification handle
IncidentResponse:
type: object
description: Response wrapper for a single incident
properties:
data:
$ref: '#/components/schemas/Incident'
included:
type: array
description: Related resources included in the response based on the include query parameter
items:
type: object
IncidentsResponse:
type: object
description: Response containing a paginated list of incidents
properties:
data:
type: array
description: List of incident objects
items:
$ref: '#/components/schemas/Incident'
included:
type: array
description: Related resources included in the response based on the include query parameter
items:
type: object
meta:
type: object
description: Metadata about the incidents list response
properties:
pagination:
type: object
description: Pagination information for navigating through results
properties:
next_offset:
type: integer
description: The offset to use in the next request to retrieve the next page
prev_offset:
type: integer
description: The offset to use to retrieve the previous page
size:
type: integer
description: The number of incidents in this page
total_count:
type: integer
description: The total number of incidents matching the filter criteria
Incident:
type: object
description: A Datadog incident record representing an outage or service disruption
properties:
id:
type: string
description: The unique string identifier of the incident
example: abc-123-def
type:
type: string
description: The resource type identifier (always 'incidents')
example: metric alert
attributes:
$ref: '#/components/schemas/IncidentAttributes'
relationships:
type: object
description: Relationships to associated resources such as commander, teams, and services
properties:
commander:
type: object
description: The incident commander responsible for coordinating the response
properties:
data:
type: object
properties:
id:
type: string
description: The unique ID of the commander user
type:
type: string
description: The resource type (users)
IncidentAttributes:
type: object
description: The attributes of an incident record
properties:
title:
type: string
description: The title of the incident describing what is affected
example: Example Monitor
public_id:
type: integer
description: The sequential human-readable public ID of the incident within the organization
example: 42
state:
type: string
description: The current state of the incident in its lifecycle
enum: [active, stable, resolved]
example: active
severity:
type: string
description: The severity level of the incident
enum: [SEV-1, SEV-2, SEV-3, SEV-4, SEV-5, UNKNOWN]
example: SEV-1
customer_impacted:
type: boolean
description: Whether the incident is causing direct customer impact
example: true
customer_impact_scope:
type: string
description: Description of the scope of customer impact for this incident
example: example_value
customer_impact_start:
type: string
format: date-time
description: ISO 8601 timestamp when customer impact began
example: example_value
customer_impact_end:
type: string
format: date-time
description: ISO 8601 timestamp when customer impact ended
example: example_value
customer_impact_duration:
type: integer
description: Duration of customer impact in seconds
example: 42
created:
type: string
format: date-time
description: ISO 8601 timestamp when the incident was created
example: example_value
modified:
type: string
format: date-time
description: ISO 8601 timestamp when the incident was last modified
example: example_value
detected:
type: string
format: date-time
description: ISO 8601 timestamp when the incident was first detected
example: example_value
resolved:
type: string
format: date-time
description: ISO 8601 timestamp when the incident was marked as resolved
example: example_value
time_to_detect:
type: integer
description: Time in seconds from incident start to detection
example: 42
time_to_internal_response:
type: integer
description: Time in seconds from detection to first responder acknowledgement
example: 42
time_to_repair:
type: integer
description: Time in seconds from detection to resolution
example: 42
fields:
type: object
description: Custom field values for the incident as defined in organization settings
additionalProperties:
type: object
notification_handles:
type: array
description: List of notification handles that were paged for this incident
items:
type: object
IncidentUpdateRequest:
type: object
description: Request body for updating an existing incident
required:
- data
properties:
data:
type: object
description: The incident update data
required:
- type
- id
- attributes
properties:
type:
type: string
description: The resource type identifier
enum: [incidents]
id:
type: string
description: The unique ID of the incident to update
attributes:
$ref: '#/components/schemas/IncidentUpdateAttributes'
IncidentUpdateAttributes:
type: object
description: Attributes to update on an existing incident
properties:
title:
type: string
description: The updated title of the incident
example: Example Monitor
state:
type: string
description: The updated state of the incident (transitioning to resolved records resolution time)
enum: [active, stable, resolved]
example: active
severity:
type: string
description: The updated severity level of the incident
enum: [SEV-1, SEV-2, SEV-3, SEV-4, SEV-5, UNKNOWN]
example: SEV-1
customer_impacted:
type: boolean
description: Updated flag indicating whether the incident has customer impact
example: true
customer_impact_scope:
type: string
description: Updated description of the customer impact scope
example: example_value
customer_impact_end:
type: string
format: date-time
description: ISO 8601 timestamp when customer impact ended (set when marking impact as resolved)
example: example_value
fields:
type: object
description: Updated custom field values for the incident
additionalProperties:
type: object
notification_handles:
type: array
description: Updated list of notification handles for the incident
items:
type: object
IncidentTeamCreateRequest:
type: object
description: Request body for creating a new incident team
required:
- data
properties:
data:
type: object
description: The incident team creation data
required:
- type
- attributes
properties:
type:
type: string
description: The resource type identifier for incident teams
enum: [teams]
attributes:
type: object
description: The incident team attributes
required:
- name
properties:
name:
type: string
description: The name of the incident team for display and identification
IncidentTeamUpdateRequest:
type: object
description: Request body for
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-incidents-openapi.yml