PagerDuty aims to have no breaking changes to our API, we do fix bugs and add new functionality continuously. This document serves as a reference for any bug fixes or additions to our API.
Currently we rarely deprecate, and do not remove any API functionality.
- Fix position of the
route_to
attribute in the request & response examples on thePUT /event_orchestrations/{id}/global
andPUT /event_orchestrations/services/{service_id}
documentation.
- Add incident dedicated channel endpoints for slack integration API
- GET /integration-slack/incidents/{incident_id}/dedicated_channel
- POST /integration-slack/incidents/{incident_id}/dedicated_channel
- DELETE /integration-slack/incidents/{incident_id}/dedicated_channel
- Add incident notification channels endpoints for slack integration API
- GET /integration-slack/incidents/{incident_id}/notification_channels
- POST /integration-slack/incidents/{incident_id}/notification_channels
- PUT /integration-slack/incidents/{incident_id}/notification_channels
- DELETE /integration-slack/incidents/{incident_id}/notification_channels/{channel_id}
- Added support for
filter_type=account
to/webhook_subscriptions
.
- Added support for the
iag_fields
property to/alert_grouping_settings
when using Intelligent Alert Grouping - Updated the Service
alert_grouping_parameters
field to reflect that an Alert Grouping Setting reference will be returned for unsupported alert grouping configuration
- Add
incident_type_ids
(array of obfuscated IDs) as a filter for/analytics/raw/responders/:responder_id/incidents
- Add
incident_type_ids
(array of obfuscated IDs) as a filter for/analytics/raw/incidents
- Introduced a new endpoint for analytics on PD Advance usage
POST /analytics/metrics/pd_advance_usage/features
- Added support for the
pd_advance_used
filter on/analytics/metrics/incidents/all
- Introduced two new endpoints for managing OAuth delegations. In this initial release, this new functionality allows you to revoke a user's access to the mobile app
DELETE /oauth_delegations
GET /oauth_delegations/revocation_requests/status
- Add
is_default
property to Workflow Integration Connection
- Fixed descriptions for
POST /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options
andPUT /incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}
- Update the multi-update item limit in the Manage Alerts endpoint
- Added
only_invocable_on_unresolved_incidents
field to Automation Actions endpoints.
- Removed early access parameters from all status update notification rules endpoints; they are now in GA
- Updated Incident Log Entries to include:
- FieldValueChange
- CustomFieldsValueChange
- Added
incident_type_name
andincident_type_id
toanalytics/raw/incidents
andanalytics/raw/incidents/:id
- Added endpoints for the configuration of the Jira Cloud Integration
GET /integration-jira-cloud/accounts_mappings
GET /integration-jira-cloud/accounts_mappings/{id}
GET /integration-jira-cloud/accounts_mappings/{id}/rules
GET /integration-jira-cloud/accounts_mappings/{id}/rules/{rule_id}
POST /integration-jira-cloud/accounts_mappings/{id}/rules
PUT /integration-jira-cloud/accounts_mappings/{id}/rules/{rule_id}
DELETE /integration-jira-cloud/accounts_mappings/{id}/rules/{rule_id}
- Updated Incident endpoints to support Incident Types
- Updated the incident event webhook to include the new Incident Type attribute.
- Added endpoints for Workflow Integrations and Connections
GET /workflows/integrations
GET /workflows/integrations/{id}
GET /workflows/integrations/connections
GET /workflows/integrations/{id}/connections
POST /workflows/integrations/{id}/connections
GET /workflows/integrations/{id}/connections/{id}
PATCH /workflows/integrations/{id}/connections/{id}
DELETE /workflows/integrations/{id}/connections/{id}
-
Add OpenAPI array items' type specifications to response schema definitions
-
Fix update Incident Workflow status code response
-
Adding deprecation notice for alert grouping configuration via the Service resource. Alert Grouping Settings power a more robust version of alert grouping. All new alert grouping features will only be available via Alert Grouping Settings. This affects the following fields on the Service endpoints:
-
alert_grouping
-
alert_grouping_parameters
-
alert_grouping_timeout
- Added support for
dynamic_route_to
parameter to/event_orchestrations/{orchestration_id}/router
endpoint - Added support for
escalation_policy
parameter to/event_orchestrations/{orchestration_id}/global
and/event_orchestrations/services/{service_id}
endpoints
- Add
is_disabled
query parameter andis_disabled
response attribute toGET /incident_workflows/triggers
, directly as deprecated. These parameters have been returned but were not documented. Both query parameter and response attribute will be removed in later versions of the API, and should not be used.
- Corrected documentation of
PUT /incidents/{id}/alerts
endpoint - Corrected documentation of
PUT /incidents/{id}/alerts/{alert_id}
endpoint
-
Implemented strict field validation for the
alert_grouping_parameters
object in the following endpoints:POST /services
PUT /services
A 400 error will be returned if extra or incorrect field names are included in this object.
- Add a new 'unknown' value to the list of possible automation action invocation states
- Removed
X-EARLY-ACCESS
header requirement for all Business Services (BIS) endpoints
- Added
updated_after
filter toPOST /analytics/raw/incidents
endpoint - Added
updated_at
column toGET /analytics/raw/incidents/{id}
endpoint - Added
updated_at
column toGET /analytics/raw/incidents
endpoint
- Added the query parameter
name
to theGET /services
endpoint
- Specified the maximum
limit
for List Incidents API
- Added
action_id
parameter to Automation Actions invocation list endpoint, which filters results based on those associated with the specified action. - Removed
X-EARLY-ACCESS
header requirement for all Status Page endpoints
- Added
webhook_subscriptions.read
scope toGET /webhook_subscriptions
endpoint - Added
webhook_subscriptions.read
scope toGET /webhook_subscriptions/{id}
endpoint - Added
webhook_subscriptions.write
scope toPOST /webhook_subscriptions
endpoint - Added
webhook_subscriptions.write
scope toPUT /webhook_subscriptions/{id}
endpoint - Added
webhook_subscriptions.write
scope toDELETE /webhook_subscriptions/{id}
endpoint - Added
webhook_subscriptions.write
scope toPOST /webhook_subscriptions/{id}/enable
endpoint - Added
webhook_subscriptions.write
scope toPOST /webhook_subscriptions/{id}/ping
endpoint
- Updated the
escalation_policy_id
andescalation_policy_name
columns at theanalytics/raw/incidents
andanalytics/raw/incidents/:id
endpoints to respect the escalation policy used in the incident as it changes. Previously these values showed the escalation policy associated with the incident's service. This change is also reflected in the aggregate Analytics endpoints.
- Added documentation for managing Cache Variables for Global Event Orchestrations and Service Event Orchestrations
- Updated documentation around allowed values for warnings returned by Event Orchestrations and included examples
- Added
joined_user_ids
,joined_user_names
, andactive_user_count
columns toanalytics/raw/incidents
andanalytics/raw/incidents/:id
- Added addtional clarification for the different allowed values of event priorities when configuring Slack service connections.
- Marked
alert_creation
within the service model as deprecated and add knowledge base reference for end-of-life documentation.
- Added an
acknowledgment_count
column toanalytics/raw/incidents
andanalytics/raw/incidents/:id
- Added
acknowledged_user_ids
,acknowledged_user_names
,assigned_user_ids
, andassigned_user_names
columns toanalytics/raw/incidents
andanalytics/raw/incidents/:id
- Added documentation for adding Incident Custom Field updates to Global Event Orchestration
- Added documentation for adding Incident Custom Field updates to Service Event Orchestration
- Added external status page endpoints
GET /status_pages
GET /status_pages/{id}/impacts
GET /status_pages/{id}/impacts/{impact_id}
GET /status_pages/{id}/services
GET /status_pages/{id}/services/{service_id}
GET /status_pages/{id}/severities
GET /status_pages/{id}/severities/{severity_id}
GET /status_pages/{id}/statuses
GET /status_pages/{id}/statuses/{status_id}
GET /status_pages/{id}/posts
POST /status_pages/{id}/posts
GET /status_pages/{id}/posts/{post_id}
PUT /status_pages/{id}/posts/{post_id}
DELETE /status_pages/{id}/posts/{post_id}
GET /status_pages/{id}/posts/{post_id}/post_updates
POST /status_pages/{id}/posts/{post_id}/post_updates
GET /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}
PUT /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}
DELETE /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}
GET /status_pages/{id}/posts/{post_id}/postmortem
POST /status_pages/{id}/posts/{post_id}/postmortem
PUT /status_pages/{id}/posts/{post_id}/postmortem
DELETE /status_pages/{id}/posts/{post_id}/postmortem
- Added
total_user_defined_engaged_seconds
andmean_user_defined_engaged_seconds
columns to the following analytics endpoints:POST analytics/metrics/incidents/incidents/all
POST analytics/metrics/incidents/services
POST analytics/metrics/incidents/services/all
POST analytics/metrics/incidents/teams
POST analytics/metrics/incidents/teams/all
POST analytics/metrics/incidents/escalation_policies
POST analytics/metrics/incidents/escalation_policies/all
- Added four percentile metrics each for time to acknowledge and time to resolve to the
POST /analytics/metrics/incidents/all
endpoint.
- Clarified documentation on several Incident Workflows resources
- IncidentWorkflowStep inputs, inline_steps_inputs, outputs
- IncidentWorkflowInlineStep inputs, inline_steps_inputs, outputs
- Fixed inconsistencies with the Custom Fields
Field
entity
- Added external status page subscriptions endpoints
GET /status_pages/{id}/subscriptions
POST /status_pages/{id}/subscriptions
GET /status_pages/{id}/subscriptions/{subscription_id}
DELETE /status_pages/{id}/subscriptions/{susbcription_id}
- Added
not_invocation_state
parameter to Automation Actions invocation list endpoint, which filters results based on those NOT in the specified state
- Added Templates Fields endpoint:
GET /templates/fields
- Added support for Incident Workflows inline steps inputs
Importing PagerDuty OpenAPI Specs into Postman
- See Postman's documentation on integrating Postman with OpenAPI
- Use this URL in the OpenAPI import tool
- The "Run in Postman" button was removed in favor of this more concrete workflow.
- Documented
overflow
query parameter inGET /schedules/{id}
2023 REST API Rate Limiting Refresh
The PagerDuty REST API uses rate limits to provide a consistent experience for all of our customers. As we have grown up, these limits have grown with us; sometimes in undocumented or difficult to understand ways.
Today we are announcing the upcoming rollout of a refreshed rate limiting system for the PagerDuty REST API. The primary goal of this refresh is to provide you with a more predictable and better documented set of rate limits. We are also delivering a new API feature for your application to more easily interact with the rate limits.
Will my application change?
In most cases, your application should experience similar or more generous rate limits than it does today. However, rate limiting can be complicated and there will be some exceptions based on your particular usage pattern.
If your application never experiences rate limiting today OR your code already gracefully responds to 429
HTTP response codes, you are likely already prepared.
How to prepare?
If your application is mission critical and does not gracefully handle rate limiting today; the most important change you can make is to start responding to 429
response codes by slowing down your request rate.
The refreshed rate limiting system also includes new rate limiting headers on HTTP responses from our REST API. These headers will inform clients about their current rate limiting status.
Along with today's announcement we are enabling these new headers on requests that were evaluated by the new rate limiting system in a passive mode. You will not see these headers on all of the 429
responses you receive while the old system is still active. You may also see 200
responses where the headers indicate you have 0
remaining requests. These headers may be used to collect client-side telemetry about how close your application is getting to the new rate limiting system.
See the REST API Rate Limits page for best practices and more about the new rate limiting headers.
When will this happen?
The new rate limit headers are available for your applications to begin consuming today. Over the coming weeks we will begin enforcing these new limits, retiring the old system, and returning 429
responses when the limits are reached.
See the REST API Rate Limits page for more information.
- Added Alert Grouping Settings endpoints:
GET /alert_grouping_settings
POST /alert_grouping_settings
GET /alert_grouping_settings/{id}
PUT /alert_grouping_settings/{id}
DELETE /alert_grouping_settings/{id}
- Added new Analytics endpoints
POST /analytics/raw/responders/{responder_id}/incidents
POST /analytics/metrics/responders/teams
POST /analytics/metrics/responders/all
POST /analytics/metrics/incidents/escalation_policies
POST /analytics/metrics/incidents/escalation_policies/all
POST /analytics/metrics/incidents/services/all
POST /analytics/metrics/incidents/teams/all
- Added new escalation/reassignment metrics and filters to existing endpoints
- Removed
X-EARLY-ACCESS
header requirement for all Analytics endpoints
- Added
incident_workflow_reference
as possible agent type for Automation Action Invocation resources.
- Removed Early Access warning from
POST /services/{id}/rules/convert
- Updated
service.html_url
field from/services/{id}
to/service-directory/{id}
. - Updated
maintenance_window.html_url
field from/maintenance_windows#/show/{id}
to/service-directory/maintenance-windows/{id}
.
- Clarify sort order of timings attribute on automation action invocations
- Added documentation to all Analytics endpoints for supported time zone formats
- Added Standards endpoints:
GET /standards
PUT /standards/:id
GET /standards/scores/{resource_type}
GET /standards/scores/{resource_type}/{id}
- Added documentation for including the
migrated_*
properties into the List Service's Event Rules endpoint response - Added documentation for including the
migrated_*
properties into the Get the Service Orchestration for a Service endpoint response
- Remove
X-EARLY-ACCESS
header for/incidents/custom_fields
and/incidents/:id/custom_fields
endpoints - Added documentation for the Team
default_role
attribute, for public/private teams. - Removed documentation for the Team
parent
attribute, since that is part of the team hierarchy feature which is still in EA. - Added an API to convert a Service's Event Rules into equivalent Service Event Orchestration rules:
POST /services/{id}/rules/convert
- Updated automation actions action API update endpoint to make previously mandatory fields be optional
- Added services.read scope to
GET /business_services/:id/supporting_services/impacts
- Added services.read scope to
GET /business_services/priority_thresholds
- Added services.write scope to
DELETE /business_services/priority_thresholds
- Added services.write scope to
PUT /business_services/priority_thresholds
- Added services.read scope to
GET /business_services/impacts
- Added services.read scope to
GET /business_services/impactors
- Added incidents.read scope to
GET /incidents/{id}/business_services/impacts
- Added incidents.write scope to
PUT /incidents/{id}/business_services/impacts
- Added status_dashboards.read scope to
GET /status_dashboards
- Added status_dashboards.read scope to
GET /status_dashboards/{id}
- Added status_dashboards.read scope to
GET /status_dashboards/{id}/service_impacts
- Added status_dashboards.read scope to
GET /status_dashboards/url_slugs/{url_slug}
- Added status_dashboards.read scope to
GET /status_dashboards/url_slugs/{url_slug}/service_impacts
- Updated automation actions runner API update endpoint to make previously mandatory fields be optional
- Added description details for runbook_base_uri parameter
- Refactored runner documentation to make the above changes possible
- Refactored Early-Access endpoints for Custom Fields based on customer feedback
-
GET /custom_fields
-
POST /custom_fields
-
GET /custom_fields/{id}
-
PUT /custom_fields/{id}
-
DELETE /custom_fields/{id}
-
GET /custom_fields/{id}/field_options
-
POST /custom_fields/{id}/field_options
-
PUT /custom_fields/{id}/field_options/{option_id}
-
DELETE /custom_fields/{id}/field_options/{option_id}
-
PUT /incidents/:id/custom_fields/values
-
GET /incidents/:id/custom_fields/values
-
GET /incidents/:id/?include[]=field_values
-
- Add
workflow_name_contains
query parameter toGET /incident_workflows/triggers
resolved_at
andupdated_at
fields added to the Incident model in response payloads. Affects the following endpoints:GET /incidents
POST /incidents
PUT /incidents
GET /incidents/:incident_id
PUT /incidents/:incident_id
POST /incidents/:incident_id/snooze
PUT /incidents/:incident_id/merge
GET /incidents/:incident_id/alerts?include[]=incidents
GET /incidents/:incident_id/log_entries?include[]=incidents
GET /log_entries?include[]=incidents
GET /log_entries/:log_entry_id?include[]=incidents
- Audit records can be published with new actor types:
app_reference
andapi_key_reference
- Added Event Orchestration Global Rules APIs:
GET /event_orchestrations/{orchestration_id}/global
PUT /event_orchestrations/{orchestration_id}/global
- Added Event Orchestration Integration APIs:
GET /event_orchestrations/{orchestration_id}/integrations
POST /event_orchestrations/{orchestration_id}/integrations
GET /event_orchestrations/{orchestration_id}/integrations/{integration_id}
PUT /event_orchestrations/{orchestration_id}/integrations/{integration_id}
DELETE /event_orchestrations/{orchestration_id}/integrations/{integration_id}
POST /event_orchestrations/{orchestration_id}/integrations/migration
- Updated Event Orchestrations APIs so that requests using features the account is ineligible for return a 200 OK instead of 403 Forbidden
warnings
added to response payload of:PUT /event_orchestrations/{orchestration_id}/global
PUT /event_orchestrations/{orchestration_id}/router
PUT /event_orchestrations/{orchestration_id}/unrouted
PUT /event_orchestrations/services/{service_id}
- Restored OAuth scope enforcement for Classic User OAuth apps
- Added EOL warning message on each of
/rulesets/
and/services/{id}/rules
endpoints
- Updated description of Escalation Policy teams field to include the limit (1) team per Escalation Policy.
- Clarified the wording around the limits of
since
anduntil
parameters for the oncall API.
- Added optional
process_automation_node_filter
property to:POST /automation_actions/actions
PUT /automation_actions/actions/{id}
GET /automation_actions/actions
GET /automation_actions/actions/{id}
POST /automation_actions/actions/{id}/invocations
GET /automation_actions/invocations
GET /automation_actions/invocations/{id}
- Log entry types are now explicity listed as their attributes may differ. The list will now show on the following endpoints:
GET /log_entries
GET /log_entries/{id}
GET /incidents/{incident_id}/log_entries
- Added optional
sort_by
toGET /templates
query parameters to sort templates byname
orcreated_at
fields in a (asc
/desc
) order.
- Update description of
IncidentWorkflowTrigger.condition
to more clearly describe the impact around triggers starting either when an incident is created, or when conditions are met
- Fix example for
POST /customfields/fields/{id}/field_options
endpoint
- Adding deprecation notice to Response Plays. Because Incident Workflows are a more robust and powerful version of Response Plays, we will be working to upgrade accounts from Response Plays to Incident Workflows, ultimately culminating in a Response Plays end-of-life in late 2023. This affects the following endpoints:
GET /response_plays
POST /response_plays
GET /response_plays/{id}
PUT /response_plays/{id}
DELETE /response_plays/{id}
POST /response_plays/{id}/run
- Allow
default_value
whenrequired
is false for the following endpointsPOST /customfields/schemas
PUT /customfields/schemas/{id}
POST /customfields/schemas/{id}/field_configurations
PUT /customfields/schemas/{id}/field_configurations/{configuration_id}
- Remove
X-EARLY-ACCESS
header warning from/incident_workflows
endpoints
- Removed
name
fromPUT /customfields/fields/{id}
request body.
- Update
IncidentWorkflowTrigger.permissions.team_ids
(string[]) =>IncidentWorkflowTrigger.permissions.team_id
(string)
- Specify valid
type
property values onIncidentWorkflow
,IncidentWorkflowAction
,IncidentWorkflowInstance
,IncidentWorkflowStep
andIncidentWorkflowTrigger
- Add description to
steps
proprerty onIncidentWorkflow
- Specify
incident_workflow_instance.incident.id
is a required inPOST /incident_workflows/{id}/instances
request body - Update
domain_name
andname
property descriptions onIncidentWorkflowAction
- Remove currently unused
integration
as allowed enum value onaction_type
property onIncidentWorkflowAction
- Fix type of
next_cursor
property on List Triggers and List Actions response bodies
- Wording changes and typo correction for MS Teams Integration documentation
- Cleaned up the list of schemas in MS Teams Integration section
- Added Early-Access endpoints for Custom Fields
-
GET /customfields/fields
-
POST /customfields/fields
-
GET /customfields/fields/{id}
-
PUT /customfields/fields/{id}
-
DELETE /customfields/fields/{id}
-
GET /customfields/fields/{id}/schemas
-
GET /customfields/fields/{id}/field_options
-
POST /customfields/fields/{id}/field_options
-
GET /customfields/fields/{id}/field_options/{option_id}
-
PUT /customfields/fields/{id}/field_options/{option_id}
-
DELETE /customfields/fields/{id}/field_options/{option_id}
-
GET /customfields/schemas
-
POST /customfields/schemas
-
GET /customfields/schemas/{id}
-
PUT /customfields/schemas/{id}
-
DELETE /customfields/schemas/{id}
-
GET /customfields/schemas/{id}/field_configurations
-
POST /customfields/schemas/{id}/field_configurations
-
GET /customfields/schemas/{id}/field_configurations/{configuration_id}
-
PUT /customfields/schemas/{id}/field_configurations/{configuration_id}
-
DELETE /customfields/schemas/{id}/field_configurations/{configuration_id}
-
POST /customfields/schema_assignments
-
GET /customfields/schema_assignments
-
DELETE /customfields/schema_assignments/:id
-
PUT /incidents/:id/field_values
-
GET /incidents/:id/field_values
-
GET /incidents/:id/field_values/schema
-
GET /incidents/:id/?include[]=field_values
-
- Add
permissions
property toIncidentWorkflowsTrigger
entity schema
- Update Template API Documentation
- Change render path to /template/{id}/render, add
external
to request body and makestatus_update.message
optional. - Add
template_type
filter to LIST endpoint - Remove Early Access flags
- Change render path to /template/{id}/render, add
- Update
GET /incident_workflows/triggers
endpoint to use cursor pagination - Update
GET /incident_workflows/triggers
endpoint to include sort_by query parameter - Update
GET /incident_workflows/actions
endpoint to use cursor pagination - Remove
IncidentWorkflowAction.invoke_url
property - Rename
IncidentWorkflowActionInput.default_value_serialized
property todefault_value
- Rename
ActionInvocation.Inputs[].serialized_value
property tovalue
- Remove
IncidentWorkflowTrigger.workflow_id
andIncidentWorkflowTrigger.workflow_name
properties - Update
IncidentWorkflowTrigger.workflow
property to be a proper ResourceReference
- Added
POST /incident_workflows/{id}/instances
endpoint
- Added
POST /integration-ms-teams/incidents/{incident_id}/meeting
endpoint
- Added optional
query
querystring parameter toGET /incident_workflows
- Added
DELETE /incident_workflows/{id}
endpoint
- Added
GET /analytics/raw/incidents/{id}/responses
to the Analytics API
- Added Early Access Incident Workflows endpoints including Triggers and Actions
GET /incident_workflows
POST /incident_workflows
GET /incident_workflows/{id}
PUT /incident_workflows/{id}
GET /incident_workflows/actions
GET /incident_workflows/actions/{id}
GET /incident_workflows/triggers
POST /incident_workflows/triggers
GET /incident_workflows/triggers/{id}
PUT /incident_workflows/triggers/{id}
POST /incident_workflows/triggers/{id}/services
DELETE /incident_workflows/triggers/{trigger_id}/services/{service_id}
- Removed
integrations
key from the example response and response schema ofGET /event_orchestrations/
- Replaced
integration
key withintegrations
in the example response ofGET /event_orchestrations/{id}
- Removed early access parameters from all automation_access endpoints; they are now in GA
Clarified for service post/put the null option for alert_grouping_parameters.type will shut grouping off
- Added Automation Action Team Management endpoints.
GET /automation_actions/action/{id}/teams
GET /automation_actions/action/{id}/teams/{team_id}
- Added Automation Action Management endpoints.
GET /automation_actions/actions/{id}/services
GET /automation_actions/actions/{id}/services/{service_id}
- Added Automation Action Runner Management endpoints.
GET /automation_actions/runners/{id}/teams
GET /automation_actions/runners/{id}/teams/{team_id}
- Updated specs of Automation Action Runner Management endpoints.
GET /automation_actions/runners
POST /automation_actions/runners
GET /automation_actions/runners/{id}
PUT /automation_actions/runners/{id}
- Added Automation Action Invocation endpoints.
GET /automation_actions/invocations
GET /automation_actions/invocations/{id}
POST /automation_actions/actions/{id}/invocations
- Added Automation Action Management endpoints.
GET /automation_actions/actions
POST /automation_actions/actions
GET /automation_actions/actions/{id}
DELETE /automation_actions/actions/{id}
PUT /automation_actions/actions/{id}
POST /automation_actions/actions/{id}/services
DELETE /automation_actions/actions/{id}/services/{service_id}
POST /automation_actions/actions/{id}/teams
DELETE /automation_actions/actions/{id}/teams/{team_id}
Added new fields within alert_grouping_settings
for configuring Intelligent Alert Grouping with a flexible time window.
POST /services
PUT /services/{id}
GET /services
GET /services/{id}
- Added Automation Action Runner Management endpoints.
GET /automation_actions/runners
POST /automation_actions/runners
GET /automation_actions/runners/{id}
PUT /automation_actions/runners/{id}
DELETE /automation_actions/runners/{id}
POST /automation_actions/runners/{id}/teams
DELETE /automation_actions/runners/{id}/teams/{team_id}
- Fixed the wording of the
query
query parameter. Previously it said it filtered over tags when it was actually filtering over an object's name field. GET /schedules
GET /escalation_policies
GET /extensions
GET /users
GET /teams
GET /tags
GET /services
GET /response_plays
GET /maintenance_windows
Added documentation of Flexible Licensing within the API to support querying for License and License allocation information along with creating and updating Users with specified Licenses.
This introduces three new API endpoints:
GET /licenses
for retrieving the list of Licenses an Account has purchased along with usage and availability countsGET /license_allocations
for retrieving what Licenses are allocated to what UsersGET /users/:id/license
for retrieiving the License assigned to an individual User
Additionally, two endpoints have been updated to support Licensing behavior:
POST /users
for assigning a License to a User when it is first createdPUT /users/:id
for assigning a new License to an existing User
Added information on upcoming changes to OAuth token expiries
All OAuth clients registered prior to October 30th 2022 will have the following settings:
- access token expiry of one year
- refresh token expiry of one year
After October 30th 2022, all newly registered OAuth clients will have the following settings:
- access token expiry of 30 days
- refresh token expiry of 210 days
- rolling refresh window of 3 years
After April 30th 2023, we will apply the new expiry settings to all OAuth clients.
- Added Templates API documentation
- Updated Alerts definition in API Concepts
- Updated Create Orchestration API to reference the correct endpoint and remove
id
as a required param
- Updated Flex Service API to reflect new changes to allow bulk changes in Fields and Field Schemas
- Updated Audit Trails params description with the new restriction of a max duration of 31 days.
- Updated 'outlier_incident' documentation link to point to new 'Outlier Incident' documentation
GET /incidents/{id}/outlier_incident
- Added
integrations
as option forinclude[]
query parameter to the Get a Service endpoint.GET /services/{id}?include[]=integrations
- Provide example for how to query multiple incident statues.
- Added custom html email documentation for Status Updates.
- Added product limit documentation for Incident Notes.
- Removed ended layer in schedule create example to guide users away from creating schedules with layers that are no longer in effect.
POST /schedules
- Added rate limiting details for the "Manage incidents" endpoint. Only 500 requests per minute are allowed.
- Fixed capitalization in the following routes
POST /{entity_type}/{id}/change_tags
GET /{entity_type}/{id}/tags
GET /tags
POST /tags
GET /tags/{id}
DELETE /tags/{id}
- Expanded the description for
alerts.body.details
to indicate that this data can also be formatted as a string (not just as a JSON object)GET /incidents/{id}/alerts
- Changed description for "Manage incidents" to reflect the lower maximum of changed incidents. Only 250 incidents may be updated at a time.
PUT /incidents/
- Updated definitions for Event Orchestration endpoints to include Automation Actions:
GET /event_orchestrations/services/{id}
PUT /event_orchestrations/services/{id}
- Added open Incidents limit description to documentation for service creation and update
POST /services
PUT /services/{id}
- Updated definitions for Analytics endpoints.
- Added product limit documentation for Services, Business Services, and Service Dependencies.
- Removed reference to an incorrect statement in the documentation indicating a
password
property is accepted when updating a user.PUT /users/{id}
- Added new fields for configuring Auto-Pause Notifications to Services endpoints
POST /services
PUT /services/{id}
GET /services
GET /services/{id}
- Updated documentation for JIRA Integration Rules API to indicate the maximum number of rules.
- Added new endpoints for reporting counts on Incident Pause usage for a given reporting period for the requesting account or scoped to a service within the account. Can scope paused incidents on
rules
andauto_pause
GET /paused_incident_reports/counts
- Added new endpoints gettting the 5 most recent alerts that were triggered after being paused and the 5 most recent alerts that were resolved after being paused for a given reporting period for the requesting account or scoped to a service within the account. Can scope paused incidents on
rules
andauto_pause
GET /paused_incident_reports/alerts
- Added documentation for Event Orchestration
GET /event_orchestrations/services/{service_id}/active
PUT /event_orchestrations/services/{service_id}/active
- Updated link to the
API Concepts
page across all API Documentation (164 occurances) to point to the correct page, this link has been broken since the migration to the new API Documentation platform.
- Removed reference to an incorrect statement in the documentation indicating a
password
property is required for user creation.POST /users
- Added missing documentation for the
Images
fieldPOST /change/enqueue
- Fix missing
From
header requirement on response play endpoints.POST /response_plays
PUT /response_plays/{response_play_id}
DELETE /response_play/{response_play_id}
- Added documentation for
urgency
query parameter forGET /users/{user_id}/notification_rules
endpoint.
- BREAKING Beginning November 2021, newly issued oauth tokens are no longer included in the
users/{id}/sessions
endpoints
- Added documentation for Event Orchestration
GET /event_orchestrations
POST /event_orchestrations
GET /event_orchestrations/{orchestration_id}
PUT /event_orchestrations/{orchestration_id}
DELETE /event_orchestrations/{orchestration_id}
GET /event_orchestrations/{orchestration_id}/router
PUT /event_orchestrations/{orchestration_id}/router
GET /event_orchestrations/{orchestration_id}/unrouted
PUT /event_orchestrations/{orchestration_id}/unrouted
GET /event_orchestrations/services/{service_id}
PUT /event_orchestrations/services/{service_id}
- Updated how since and until parameters work for schedules GET API
- Added documentation for
custom_headers
as part of thedelivery_method
on asubscription_webhook
- Added documentation for
incidents_responders
andresponder_requests
as part of Incident responses
- Added
user
to Log Entry - Added
notification
to Channel - Added
conferenceAddress
to Notification
- Added the authorization section for Slack Connections
- Added
notification_type
toSlackConnection
model.- The field allows users to set which format of slack card they would like to receive.
- The field has been added to all
/workspaces/{slack_team_id}/connections
endpoints' request and response schema. - The field has two options
responder
andstakeholder
, and defaults toresponder
onPUT
andPOST
- Added documentation for HandoffNotificationRules
GET /users/{user_id}/oncall_handoff_notification_rules/
POST /users/{user_id}/oncall_handoff_notification_rules/
DELETE /users/{user_id}/oncall_handoff_notification_rules/
GET /users/{user_id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}
PUT /users/{user_id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}
- Removed requirement for teams ability to use
team_ids
filterPOST /analytics/raw/incidents
POST /analytics/metrics/incidents/all
POST /analytics/metrics/incidents/services
POST /analytics/metrics/incidents/teams
- Updated documentation for Incident Notes now that the API can differentiate between User-created Notes and system-created Notes.
GET /incidents/{id}/notes
- Removed limits for
team_ids
andservice_ids
filtersPOST /analytics/raw/incidents
- Removed Early-Access for Related Change Events endpoint
GET /incidents/{id}/related_change_events
- Added new API endpoint that returns Outlier Incident information for a given incident on its Service.
GET /incidents/{incident_id}/outlier_incident
- Fixed typos in Slack Integration API documentation
- Added
incident.status_update_published
event to Slack Connection
- Wording changes for past incidents documentation
- Added new API endpoints that provide the ability to create Slack specific Webhook Subscriptions (Slack Connections). These endpoints are used to manage mappings between Slack channels and PagerDuty Services and Teams.
GET /workspaces/{slack_team_id}/connections
POST /workspaces/{slack_team_id}/connections
GET /workspaces/{slack_team_id}/connections/{connection_id}
PUT /workspaces/{slack_team_id}/connections/{connection_id}
DELETE /workspaces/{slack_team_id}/connections/{connection_id}
- Fix missing From header requirement on response play endpoints.
GET /response_plays
GET /response_plays/{id}
- Removed Early Access for webhook-v3.
webhooks_early-access
- Added documentation on the new acive field for webhook_subscriptions.
- Added includes to list schedules endpoint with an example
GET /schedules
- Added subdomain as part of includes
GET /users/me
- Added Early-Access endpoint for Related Change Events
GET /incidents/{id}/related_change_events
- Added bulk overrides functionality to
PUT /schedules/{id}/overrides
. This deprecates the original single-override request/response schema and semantics. We will continue to support unmanaged clients using the deprecated schema and semantics.
- Fix assignee response format for AssignLogEntry and EscalateLogEntry
- Added documentation on setting filters and parsers for generic email inbound integrations
- Removed Early Access for User Subscription endpoints.
usms-early-access
- Added one new Early-Access endpoint for enabling a webhook subscription
POST /webhook_subscriptions/{id}/enable
-
Added nine new Early-Access endpoints for business impact monitoring and management.
GET /business_services/impactors
GET /business_services/{id}/impactors
GET /business_services/impacts
GET /business_services/{id}/supporting_services/impacts
GET /incidents/{id}/business_services/impacts
PUT /incidents/{id}/business_services/{business_service_id}/impacts
GET /business_services/priority_thresholds
PUT /business_services/priority_thresholds
DELETE /business_services/priority_thresholds
-
Added five new Early-Access endpoints for Status Dashboards
GET /status_dashboards
GET /status_dashboards/{id}
GET /status_dashboards/url_slugs/{url_slug}
GET /status_dashboards/{id}/service_impacts
GET /status_dashboards/url_slugs/{url_slug}/service_impacts
- Added a new public endpoint for the Related Incidents.
GET /incidents/{id}/related_incidents
- Documented Offset Pagination more clearly.
- Added a new public endpoint for Past Incidents.
GET /incidents/{id}/past_incidents
- Added response examples for audit records endpoints
GET /users/{id}/audit/records
GET /teams/{id}/audit/records
GET /services/{id}/audit/records
GET /schedules/{id}/audit/records
GET /escalation_policies/{id}/audit/records
- Added 14 new Early-Access endpoints for Status Update subscription management.
GET /business_services/{id}/account_subscription
DELETE /business_services/{id}/account_subscription
GET /business_services/{id}/subscribers
POST /business_services/{id}/subscribers
POST /business_services/{id}/unsubscribe
GET /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/unsubscribe
GET /teams/{id}/notification_subscriptions
POST /teams/{id}/notification_subscriptions
POST /teams/{id}/notification_subscriptions/unsubscribe
GET /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions/unsubscribe
- Updated Cursor for the Analytics Raw Incidents endpoint to be an opaque/encoded string instead of an id.
- Added ability to order by seconds_to_resolve in the Analytics Raw Incidents endpoint.
- Added ability to specify the sort order (asc/desc) in the Analytics Raw Incidents endpoint.
- Updated how Alert Grouping can be configured for Services using Services API. New field are backwards compatible.
- Updated record-level audit trail record listing endpoints to indicate that a 402 Payment Required response can be returned for unentitled accounts. This now matches the account-level audit trail record listing endpoint's behavior.
- Changed timestamp field from required to optional for Event V2
/change/enqueue
endpoint.
- Removed Early-Access Header for all Change Events endpoints.
- Removed Early-access requirements for all audit records APIs.
- Updated date_range documentation to reflect the maximum (6 month) and default (1 month) durations we enforce.
- BREAKING The Subscriptions API used to manage V3 webhooks is now the Webhook Subscriptions API. You can find the details in their new home under the "Webhooks" tag.
GET /webhook_subscriptions
POST /webhook_subscriptions
GET /webhook_subscriptions/{id}
PUT /webhook_subscriptions/{id}
DELETE /webhook_subscriptions/{id}
POST /webhook_subscriptions/{id}/ping
- BREAKING Restricted the set of valid actions in the Audit records query
- BREAKING Changed audit record params for
resource_types
toroot_resource_types
.
- Added Early-Access endpoints for Change Events
GET /change_events
GET /change_events/{id}
GET /services/{id}/change_events
PUT /change_events/{id}
- BREAKING Changed top level attribute for
resource
toroot_resource
in audit record schema.
- Removed the Early-Access headers from all the Service-level Event Rules endpoints.
- BREAKING Removed Business Services filter from all
/analytics
endpoints. - Improved error messaging for all
/analytics
endpoints - Added documentation for expected behavior of
Incident.assignments
andIncident.acknowledgments
.
- Clarified the process of getting authorization headers for IntegrationJiraService API
- Added Early-Access endpoints for the Subscriptions API used to manage V3 webhooks.
- BREAKING Updated pagination for Early-Access Audit records endpoints.
- BREAKING Temporarily removing early-Access endpoints around incident subscription management.
GET /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions/unsubscribe
GET /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/unsubscribe
- BREAKING Changed
total_assignment_count
metric tomean_assignment_count
in/analytics
Early Access endpoints. - Added
up_time_pct
anduser_defined_effort_seconds
metrics to/analytics
Early Access endpoints. - Updated response examples and some definitions in
/analytics
Early Access Endpoints.
- Add Change Events to Events API V2
- Added Early-Access endpoints for Service-level Event Rules
GET /services/{id}/rules
POST /services/{id}/rules
GET /services/{id}/rules/{rule_id}
PUT /services/{id}/rules/{rule_id}
DELETE /services/{id}/rules/{rule_id}
- Added Early-Access
variables
field to Event Rule model. - Added Early-Access
template
style extraction action to Event Rule model.
- Clarified
status
onPOST /services
endpoint.
- Fixed a lot of example requests and responses.
- Added Audit Record description in API CONCEPTS document.
- Clarified in the descriptions of audit record endpoints that records are returned in lists.
- Added Early-Access endpoint for audit trail records
GET /services/{id}/audit/records
- Added Early-Access endpoint for audit trail records
GET /escalation_policies/{id}/audit/records
- Documented Events V2 integration type on
/services/{id}/integrations
endpoints.- Note: This existed previously and was missing from this documentation.
- Clarified
contact_method
on various User Contact Method management endpoints. - Clarified Notification Subscription endpoints current under the Early Access.
- Added Early-Access endpoints for audit trail records
GET /schedules/{id}/audit/records
- Added
conference_type
param toResponsePlay
model
- Added documentation on
config
andheaders
options for webhooks v2. - Added Request Examples with custom headers.
- Updated models to include standard fields such as
id
,type
,summary
,html_url
, andself
. - Fixed inconsistencies with the
Reference
model.
- Added Early-Access endpoints for audit trail records
GET /audit/records
GET /teams/{id}/audit/records
GET /users/{id}/audit/records
- Added 6 new Early-Access endpoints around incident subscription management.
GET /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions
POST /users/{id}/notification_subscriptions/unsubscribe
GET /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/subscribers
POST /incidents/{id}/status_updates/unsubscribe
- Updated the request sample for
POST /extensions
andPUT /extensions/{id}
. - Clarified Content-Type header for all endpoints.
- Updated filters for all 5
/analytics/metrics
and/analytics/raw
endpoints. Thebusiness_service_ids
filter is added as a possible optional filter choice. This filter accepts an array, to allow filtering by multiple business service IDs.
- Add limit to the number of incidents or alerts that can be updated in a single API call to multi-update (i.e.
PUT /incidents
) above which the client receives status 413.
- Updated filters for all 5
/analytics/metrics
and/analytics/raw
endpoints. Thepriority
filter is replaced bypriority_ids
andpriority_names
filters. Both of these new filters accept an array, to allow filtering by multiple priority IDs or names.
- Added documentation for configuring JIRA integration via API
- Updated required headers, and filters for
POST analytics/raw/incidents
,POST analytics/metrics/incidents/all
,POST analytics/metrics/incidents/services
andPOST analytics/metrics/incidents/teams
. - Added
GET
,DELETE
, andPUT /users/{user_id}/status_update_notification_rules/{status_update_notitication_rule_id}
- Added
GET
,POST /users/{user_id}/status_update_notification_rules
- Document
POST extensions/{id}/enable
for extensions that are temporarily disabled.
- Added
POST analytics/metrics/incidents/all
,POST analytics/metrics/incidents/services
andPOST analytics/metrics/incidents/teams
endpoints for Early Access.
- Moved
POST analytics/incidents
andGET analytics/incidents/{id}
toPOST analytics/raw/incidents
andGET analytics/raw/incidents/{id}
- Added
POST analytics/incidents
andGET analytics/incidents/{id}
endpoints for Early Access.
- Modified
optional_total
query param tototal
on the business service list endpoint. optional_total
field will continue to be supported.
- Added
suspend
event rule action to the API.
- Added
GET /response_plays
,POST /response_plays
,GET /response_plays/{id}
,PUT /response_plays/{id}
, andDELETE /response_plays/{id}
endpoints. - Updated Response Plays description in API CONCEPTS document.
- Documented
total
query parameter on paginated endpoints.
- Added a
PUT log_entries/{id}/channel
endpoint to enable updates to log entry channel details.
- Fix Schema of
/teams/{id}/members
endpoint to match reality of behaviour.
- Add
teams
field toSchedule
model, which is supported for updates and included in responses. - Clarified Reference Model,
id
field is required.
- Document
include[]=temporarily_disabled
for extensions.
- Add
type
fields toLog Entry
models. - Fixed issue with Postman build. New version available, and new ones will continue to be published with each new update here.
- Fixed model
type
fields in schema definitions. - Fix issues with Request Examples
- Updated all reference schemas to better match reality of API.
- Added examples to all Request and Response body's that were missing them.
- Added Events V1 and Events V2 APIs.
- Modified response and request examples to match OpenAPI 3.0.1 schema
- Added a
GET /service_dependencies/technical_services/{id}
endpoint. - BREAKING
POST /service_dependencies/associate
was changed from 204 to 200 for successful changes. - BREAKING
POST /service_dependencies/disassociate
was changed from 204 to 200 for successful changes. - Documentation Change Fixed a mistake in the documentation. The
relationships
property in the request forPOST /service_dependencies/associate
andPOST /service_dependencies/disassociate
is an array and not an object. - Documentation Change The
service_dependencies
endpoints can now be found at the top level instead of under theBusiness Services
section.
- Added new Rulesets endpoints
- Added
since
anduntil
parameters toGET /incidents/{id}/log_entries
.
- Added
teams
to all/business_services
endpoints.
- Clarified language on
GET /tags
query parameter to better explain how matching happens.
- Add new Business Services endpoints
GET /oncalls OnCalls[].end
will now correctly respondnull
only when the user does not go off call.
- Clarified
POST /escalation_policies
description.
- Added
on_call_handoff_notifications
toEscalationPolicy
model.- The field allow users to set whether they would like on-call handoff notifications for escalation policies that have no attached services.
- The field has been added to all
/escalation_policies
endpoints' request and response schema. - The field has two options
always
andif_has_services
, and defaults toif_has_services
onPUT
andPOST