openapi: 3.0.2 info: description: 'This document describes the PagerDuty REST APIs. For guides and examples please visit our [Documentation.](https://developer.pagerduty.com/docs/get-started/getting-started/) Our REST APIs are defined in OpenAPI v3.x. You can view the schema at [github.com/PagerDuty/api-schema](https://github.com/PagerDuty/api-schema). Note that properties in some schemas have fields not shown by default such as `readOnly`, `format`, and `default`. Hover your cursor over the right column that looks like `optional+1` to see the full list of fields. ' contact: name: PagerDuty Support url: http://www.pagerduty.com/support email: support@pagerduty.com title: PagerDuty Abilities Extensions API version: 2.0.0 servers: - url: https://api.pagerduty.com description: PagerDuty V2 API. security: - api_key: [] tags: - name: Extensions description: 'Extensions are representations of Extension Schema objects that are attached to Services. ' paths: /extensions: description: List and create extensions. get: tags: - Extensions x-pd-requires-scope: extensions.read operationId: listExtensions description: 'List existing extensions. Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.read` ' summary: PagerDuty List extensions parameters: - $ref: '#/components/parameters/offset_limit' - $ref: '#/components/parameters/offset_offset' - $ref: '#/components/parameters/offset_total' - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/extension_object_id' - $ref: '#/components/parameters/extension_schema_id' - $ref: '#/components/parameters/include_extensions' responses: '200': description: A paginated array of extensions. content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: extensions: type: array items: $ref: '#/components/schemas/Extension' required: - extensions examples: response: summary: Response Example value: extensions: - id: PPGPXHO self: https://api.pagerduty.com/extensions/PPGPXHO endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference summary: Generic Webhook self: https://api.pagerduty.com/extension_schemas/PJFWPEP extension_objects: - id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 limit: 25 offset: 0 more: false total: null '400': $ref: '#/components/responses/ArgumentError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Extensions x-pd-requires-scope: extensions.write operationId: createExtension description: 'Create a new Extension. Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.write` ' summary: PagerDuty Create an extension parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' requestBody: content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: request: summary: Request Example value: extension: endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook extension_schema: id: PJFWPEP type: extension_schema_reference extension_objects: - id: PIJ90N7 type: service_reference requestCustomHeaders: summary: Request Example with Custom Headers value: extension: endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook extension_schema: id: PJFWPEP type: extension_schema_reference extension_objects: - id: PIJ90N7 type: service_reference config: headers: - name: Authorization value: Token token=super_secret_token_value description: The extension to be created responses: '201': description: The extension that was created content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: response: summary: Response Example value: extension: id: PPGPXHO self: https://api.pagerduty.com/extensions/PPGPXHO endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference summary: Generic Webhook self: https://api.pagerduty.com/extension_schemas/PJFWPEP extension_objects: - id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 '400': $ref: '#/components/responses/ArgumentError' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' '403': $ref: '#/components/responses/Forbidden' callbacks: webhookV2: endpoint_url: post: parameters: [] tags: - Webhooks V2 operationId: webhookV2 description: Receive webhook indicating incident state has changed. summary: Receive webhook security: [] responses: '200': description: Your server implementation should return this if it successfuly received the webhook. requestBody: description: Webhook. content: application/json: schema: type: object properties: messages: type: array description: An array of webhook messages. items: $ref: '#/components/schemas/WebhookIncidentAction' webhookV1: endpoint_url: post: parameters: [] tags: - Webhooks V1 operationId: webhookV1 description: Receive webhook indicating incident state has changed. summary: Receive webhook security: [] responses: '200': description: Your server implementation should return this if it successfuly received the webhook. requestBody: description: Webhook. content: application/json: schema: $ref: '#/components/schemas/WebhooksV1Message' /extensions/{id}: description: Manage an extension. get: tags: - Extensions x-pd-requires-scope: extensions.read operationId: getExtension description: 'Get details about an existing extension. Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.read` ' summary: PagerDuty Get an extension parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/include_extensions_id' responses: '200': description: The extension that was requested. content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: response: summary: Response Example value: extension: id: PPGPXHO self: https://api.pagerduty.com/extensions/PPGPXHO endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference summary: Generic Webhook self: https://api.pagerduty.com/extension_schemas/PJFWPEP extension_objects: - id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 temporarily_disabled: false '400': $ref: '#/components/responses/ArgumentError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Extensions x-pd-requires-scope: extensions.write operationId: deleteExtension description: 'Delete an existing extension. Once the extension is deleted, it will not be accessible from the web UI and new incidents won''t be able to be created for this extension. Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.write` ' summary: PagerDuty Delete an extension parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' - $ref: '#/components/parameters/id' responses: '204': description: The extension was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Extensions x-pd-requires-scope: extensions.write operationId: updateExtension description: 'Update an existing extension. Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.write` ' summary: PagerDuty Update an extension parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' - $ref: '#/components/parameters/id' requestBody: content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: request: summary: Request Example value: extension: endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook extension_schema: id: PJFWPEP type: extension_schema_reference extension_objects: - id: PIJ90N7 type: service_reference requestCustomHeaders: summary: Request Example with Custom Headers value: extension: endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook extension_schema: id: PJFWPEP type: extension_schema_reference extension_objects: - id: PIJ90N7 type: service_reference config: headers: - name: Authorization value: Token token=super_secret_token_value description: The extension to be updated. responses: '200': description: The extension that was updated. content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: response: summary: Response Example value: extension: id: PPGPXHO self: https://api.pagerduty.com/extensions/PPGPXHO endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference summary: Generic Webhook self: https://api.pagerduty.com/extension_schemas/PJFWPEP extension_objects: - id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /extensions/{id}/enable: description: Enable an extension. post: tags: - Extensions x-pd-requires-scope: extensions.write operationId: enableExtension description: 'Enable an extension that is temporarily disabled. (This API does not require a request body.) Extensions are representations of Extension Schema objects that are attached to Services. For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extensions) Scoped OAuth requires: `extensions.write` ' summary: PagerDuty Enable an extension parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/header_Content-Type' - $ref: '#/components/parameters/id' responses: '200': description: The extension that was successfully enabled. content: application/json: schema: type: object properties: extension: $ref: '#/components/schemas/Extension' required: - extension examples: response: summary: Response Example value: extension: id: PPGPXHO self: https://api.pagerduty.com/extensions/PPGPXHO endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference summary: Generic Webhook self: https://api.pagerduty.com/extension_schemas/PJFWPEP extension_objects: - id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 '400': $ref: '#/components/responses/ArgumentError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: EscalationRule: type: object properties: id: type: string readOnly: true escalation_delay_in_minutes: type: integer description: The number of minutes before an unacknowledged incident escalates away from this rule. targets: type: array minItems: 1 maxItems: 10 description: The targets an incident should be assigned to upon reaching this rule. items: $ref: '#/components/schemas/EscalationTargetReference' escalation_rule_assignment_strategy: type: string description: The strategy used to assign the escalation rule to an incident. enum: - round_robin - assign_to_everyone required: - escalation_delay_in_minutes - targets example: escalation_delay_in_minutes: 30 targets: - id: PAM4FGS type: user_reference - id: PI7DH85 type: schedule_reference OutboundIntegrationReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - outbound_integration_reference NotifyLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: created_at: type: string format: date-time readOnly: true description: Time at which the log entry was created user: $ref: '#/components/schemas/UserReference' type: type: string enum: - notify_log_entry ResolveLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - resolve_log_entry Notification: type: object properties: id: type: string readOnly: true type: type: string description: The type of notification. enum: - sms_notification - email_notification - phone_notification - push_notification readOnly: true started_at: type: string format: date-time description: The time at which the notification was sent readOnly: true address: type: string description: The address where the notification was sent. This will be null for notification type `push_notification`. readOnly: true user: $ref: '#/components/schemas/UserReference' conferenceAddress: type: string description: The address of the conference bridge status: type: string ? '' : type: string Context: type: object discriminator: propertyName: type properties: type: type: string description: The type of context being attached to the incident. enum: - link - image href: type: string description: The link's target url src: type: string description: The image's source url text: type: string description: The alternate display for an image required: - type ReachTriggerLimitLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - reach_trigger_limit_log_entry IncidentReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - incident_reference ExtensionSchemaReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - extension_schema_reference Team: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: type: type: string description: The type of object being created. default: team enum: - team name: type: string description: The name of the team. maxLength: 100 description: type: string description: The description of the team. maxLength: 1024 default_role: type: string description: The team is private if the value is "none", or public if it is "manager" (the default permissions for a non-member of the team are either "none", or their base role up until "manager"). default: manager enum: - manager - none required: - name - type example: type: team name: Engineering description: The engineering team Priority: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: name: type: string description: The user-provided short name of the priority. description: type: string description: The user-provided description of the priority. Service: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: type: type: string description: The type of object being created. default: service enum: - service name: type: string description: The name of the service. description: type: string description: The user-provided description of the service. auto_resolve_timeout: type: integer description: Time in seconds that an incident is automatically resolved if left open for that long. Value is `null` if the feature is disabled. Value must not be negative. Setting this field to `0`, `null` (or unset in POST request) will disable the feature. default: 14400 acknowledgement_timeout: type: integer description: Time in seconds that an incident changes to the Triggered State after being Acknowledged. Value is `null` if the feature is disabled. Value must not be negative. Setting this field to `0`, `null` (or unset in POST request) will disable the feature. default: 1800 created_at: type: string format: date-time description: The date/time when this service was created readOnly: true status: type: string description: 'The current state of the Service. Valid statuses are: - `active`: The service is enabled and has no open incidents. This is the only status a service can be created with. - `warning`: The service is enabled and has one or more acknowledged incidents. - `critical`: The service is enabled and has one or more triggered incidents. - `maintenance`: The service is under maintenance, no new incidents will be triggered during maintenance mode. - `disabled`: The service is disabled and will not have any new triggered incidents. ' enum: - active - warning - critical - maintenance - disabled default: active last_incident_timestamp: type: string format: date-time description: The date/time when the most recent incident was created for this service. readOnly: true escalation_policy: $ref: '#/components/schemas/EscalationPolicyReference' response_play: deprecated: true description: Response plays associated with this service. allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - response_play_reference teams: type: array description: The set of teams associated with this service. items: $ref: '#/components/schemas/TeamReference' readOnly: true integrations: type: array description: An array containing Integration objects that belong to this service. If `integrations` is passed as an argument, these are full objects - otherwise, these are references. items: $ref: '#/components/schemas/IntegrationReference' readOnly: true incident_urgency_rule: $ref: '#/components/schemas/IncidentUrgencyRule' support_hours: $ref: '#/components/schemas/SupportHours' scheduled_actions: type: array description: An array containing scheduled actions for the service. items: $ref: '#/components/schemas/ScheduledAction' addons: type: array description: The array of Add-ons associated with this service. items: $ref: '#/components/schemas/AddonReference' readOnly: true alert_creation: type: string deprecated: true description: 'Whether a service creates only incidents, or both alerts and incidents. A service must create alerts in order to enable incident merging. * "create_incidents" - The service will create one incident and zero alerts for each incoming event. * "create_alerts_and_incidents" - The service will create one incident and one associated alert for each incoming event. This attribute has been deprecated as all services will be migrated to use alerts and incidents. Afterward, the incident only service setting will no longer be available. For details, please refer to the knowledge base: https://support.pagerduty.com/docs/alerts#enable-and-disable-alerts-on-a-service. ' enum: - create_incidents - create_alerts_and_incidents default: create_alerts_and_incidents alert_grouping_parameters: $ref: '#/components/schemas/AlertGroupingParameters' alert_grouping: type: string deprecated: true description: 'Defines how alerts on this service will be automatically grouped into incidents. Note that the alert grouping features are available only on certain plans. There are three available options: * null - No alert grouping on the service. Each alert will create a separate incident; * "time" - All alerts within a specified duration will be grouped into the same incident. This duration is set in the `alert_grouping_timeout` setting (described below). Available on Standard, Enterprise, and Event Intelligence plans; * "intelligent" - Alerts will be intelligently grouped based on a machine learning model that looks at the alert summary, timing, and the history of grouped alerts. Available on Enterprise and Event Intelligence plans ' enum: - time - intelligent alert_grouping_timeout: type: integer deprecated: true description: 'The duration in minutes within which to automatically group incoming alerts. This setting applies only when `alert_grouping` is set to `time`. To continue grouping alerts until the Incident is resolved, set this value to `0`. ' auto_pause_notifications_parameters: $ref: '#/components/schemas/AutoPauseNotificationsParameters' required: - type - escalation_policy example: id: PSI2I2O summary: string type: service self: string html_url: string name: My Web App description: My cool web application that does things. auto_resolve_timeout: 14400 acknowledgement_timeout: 600 status: active escalation_policy: id: PWIP6CQ type: escalation_policy_reference response_play: id: 1677af3c-44cf-50f4-6c68-818f7f514802 type: response_play_reference incident_urgency_rule: type: use_support_hours during_support_hours: type: constant urgency: high outside_support_hours: type: constant urgency: low support_hours: type: fixed_time_per_day time_zone: America/Lima start_time: 09:00:00 end_time: '17:00:00' days_of_week: - 1 - 2 - 3 - 4 - 5 scheduled_actions: - type: urgency_change at: type: named_time name: support_hours_start to_urgency: high alert_creation: create_alerts_and_incidents alert_grouping_parameters: type: time config: timeout: 2 auto_pause_notifications_parameters: enabled: true timeout: 300 IncidentBody: type: object properties: details: type: object description: Additional incident details. required: - type NotificationRuleReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - assignment_notification_rule_reference ContentBasedAlertGroupingConfiguration: type: object title: Content Only Grouping description: The configuration for Content Based Alert Grouping properties: aggregate: type: string description: Whether Alerts should be grouped if `all` or `any` specified fields match. If `all` is selected, an exact match on every specified field name must occur for Alerts to be grouped. If `any` is selected, Alerts will be grouped when there is an exact match on at least one of the specified fields. enum: - all, any fields: type: array description: An array of strings which represent the fields with which to group against. Depending on the aggregate, Alerts will group if some or all the fields match. time_window: type: integer minimum: 300 maximum: 86400 description: The maximum amount of time allowed between Alerts. Any Alerts arriving greater than `time_window` seconds apart will not be grouped together. This is a rolling time window up to 24 hours and is counted from the most recently grouped alert. The window is extended every time a new alert is added to the group, up to 24 hours (24 hours only applies to single-service settings). To use the "recommended_time_window," set the value to 0, otherwise the value must be between 300 <= time_window <= 3600 or 86400(i.e. 24 hours). recommended_time_window: readOnly: true type: integer description: In order to ensure your Service has the optimal grouping window, we use data science to calculate your Service`s average Alert inter-arrival time. We encourage customer`s to use this value, please set `time_window` to 0 to use the `recommended_time_window`. Channel: type: object description: Polymorphic object representation of the means by which the action was channeled. Has different formats depending on type, indicated by channel[type]. Will be one of `auto`, `email`, `api`, `nagios`, or `timeout` if `agent[type]` is `service`. Will be one of `email`, `sms`, `website`, `web_trigger`, or `note` if `agent[type]` is `user`. See [below](https://developer.pagerduty.com/documentation/rest/log_entries/show#channel_types) for detailed information about channel formats. properties: type: type: string description: type user: type: object team: type: object notification: $ref: '#/components/schemas/Notification' channel: type: object description: channel required: - type ResolveReason: type: object properties: type: type: string description: The reason the incident was resolved. The only reason currently supported is merge. default: merge_resolve_reason enum: - merge_resolve_reason incident: $ref: '#/components/schemas/IncidentReference' LogEntryReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - acknowledge_log_entry_reference - annotate_log_entry_reference - assign_log_entry_reference - escalate_log_entry_reference - exhaust_escalation_path_log_entry_reference - notify_log_entry_reference - reach_trigger_limit_log_entry_reference - repeat_escalation_path_log_entry_reference - resolve_log_entry_reference - snooze_log_entry_reference - trigger_log_entry_reference - unacknowledge_log_entry_reference ResponderRequestTargetReference: type: object properties: type: type: string description: The type of target (either a user or an escalation policy) id: type: string description: The id of the user or escalation policy summary: type: string incident_responders: type: array description: An array of responders associated with the specified incident items: $ref: '#/components/schemas/IncidentsRespondersReference' FlexibleTimeWindowIntelligentAlertGroupingConfig: type: object title: Intelligent Alert Grouping description: The configuration for Intelligent Alert Grouping. Note that this configuration is only available for certain plans. properties: time_window: type: integer minimum: 300 maximum: 3600 description: The maximum amount of time allowed between Alerts. Any Alerts arriving greater than `time_window` seconds apart will not be grouped together. This is a rolling time window and is counted from the most recently grouped alert. The window is extended every time a new alert is added to the group, up to 24 hours. To use the "recommended_time_window," set the value to 0, otherwise the value must be between 300 and 3600. recommended_time_window: readOnly: true type: integer description: In order to ensure your Service has the optimal grouping window, we use data science to calculate your Service`s average Alert inter-arrival time. We encourage customer`s to use this value, please set `time_window` to 0 to use the `recommended_time_window`. AcknowledgerReference: allOf: - $ref: '#/components/schemas/Reference' - description: The acknowledger represents the entity that made the acknowledgement for an incident. type: object properties: type: enum: - user_reference - service_reference type: string Assignment: type: object properties: at: type: string format: date-time description: Time at which the assignment was created. assignee: oneOf: - $ref: '#/components/schemas/UserReference' - $ref: '#/components/schemas/User' required: - at - assignee ReachAckLimitLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - reach_ack_limit_log_entry IntegrationReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - aws_cloudwatch_inbound_integration_reference - cloudkick_inbound_integration_reference - event_transformer_api_inbound_integration_reference - generic_email_inbound_integration_reference - generic_events_api_inbound_integration_reference - keynote_inbound_integration_reference - nagios_inbound_integration_reference - pingdom_inbound_integration_reference - sql_monitor_inbound_integration_reference - events_api_v2_inbound_integration_reference - inbound_integration_reference TeamReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - team_reference WebhooksV1Message: type: object description: A message containing information about a single PagerDuty action. readOnly: true properties: id: type: string format: uuid description: Uniquely identifies this outgoing webhook message; can be used for idempotency when processing the messages. readOnly: true type: type: string description: The type of action being reported by this message. enum: - incident.trigger - incident.acknowledge - incident.unacknowledge - incident.resolve - incident.assign - incident.escalate - incident.delegate readOnly: true created_on: type: string format: date-time description: The date/time when the incident changed state. readOnly: true data: type: object properties: incident: $ref: '#/components/schemas/WebhooksV1IncidentData' AlertCount: type: object properties: triggered: type: integer description: The count of triggered alerts grouped into this incident resolved: type: integer description: The count of resolved alerts grouped into this incident all: type: integer description: The total count of alerts grouped into this incident Extension: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: name: type: string description: The name of the extension. type: type: string description: The type of object being created. default: extension enum: - extension endpoint_url: type: string format: url description: The url of the extension. extension_objects: type: array description: The objects for which the extension applies items: $ref: '#/components/schemas/ServiceReference' extension_schema: $ref: '#/components/schemas/ExtensionSchemaReference' temporarily_disabled: type: boolean readOnly: true description: Whether or not this extension is temporarily disabled; for example, a webhook extension that is repeatedly rejected by the server. default: false config: type: object description: The object that contains extension configuration values depending on the extension schema specification. required: - extension_objects - extension_schema - name example: id: PJU23I3 endpoint_url: https://example.com/receive_a_pagerduty_webhook name: My Webhook summary: My Webhook type: extension extension_schema: id: PJFWPEP type: extension_schema_reference extension_objects: - id: PIJ90N7 type: service_reference config: anykey: anyvalue ExhaustEscalationPathLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - exhaust_escalation_path_log_entry ConferenceBridge: type: object properties: conference_number: type: string description: The phone number of the conference call for the conference bridge. Phone numbers should be formatted like +1 415-555-1212,,,,1234#, where a comma (,) represents a one-second wait and pound (#) completes access code input. conference_url: type: string format: url description: An URL for the conference bridge. This could be a link to a web conference or Slack channel. IncidentUrgencyRule: allOf: - $ref: '#/components/schemas/IncidentUrgencyType' - type: object properties: during_support_hours: $ref: '#/components/schemas/IncidentUrgencyType' outside_support_hours: $ref: '#/components/schemas/IncidentUrgencyType' User: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: name: type: string description: The name of the user. maxLength: 100 type: type: string description: The type of object being created. default: user enum: - user email: type: string format: email description: The user's email address. minLength: 6 maxLength: 100 time_zone: type: string format: tzinfo description: The preferred time zone name. If null, the account's time zone will be used. color: type: string description: The schedule color. role: description: The user role. Account must have the `read_only_users` ability to set a user as a `read_only_user` or a `read_only_limited_user`, and must have advanced permissions abilities to set a user as `observer` or `restricted_access`. type: string enum: - admin - limited_user - observer - owner - read_only_user - restricted_access - read_only_limited_user - user avatar_url: type: string format: url description: The URL of the user's avatar. readOnly: true description: type: string description: The user's bio. nullable: true invitation_sent: type: boolean readOnly: true description: If true, the user has an outstanding invitation. job_title: type: string description: The user's title. maxLength: 100 teams: type: array readOnly: true description: The list of teams to which the user belongs. Account must have the `teams` ability to set this. items: $ref: '#/components/schemas/TeamReference' contact_methods: type: array readOnly: true description: The list of contact methods for the user. items: $ref: '#/components/schemas/ContactMethodReference' notification_rules: readOnly: true type: array description: The list of notification rules for the user. items: $ref: '#/components/schemas/NotificationRuleReference' required: - name - email - type example: type: user name: Earline Greenholt email: 125.greenholt.earline@graham.name time_zone: America/Lima color: green role: admin job_title: Director of Engineering avatar_url: https://secure.gravatar.com/avatar/1d1a39d4635208d5664082a6c654a73f.png?d=mm&r=PG description: I'm the boss TimeBasedAlertGroupingConfiguration: type: object title: Time Grouping description: The configuration for Time Based Alert Grouping properties: timeout: type: integer description: The duration in minutes within which to automatically group incoming Alerts. To continue grouping Alerts until the Incident is resolved, set this value to 0. LogEntry: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: type: type: string enum: - acknowledge_log_entry - annotate_log_entry - assign_log_entry - delegate_log_entry - escalate_log_entry - exhaust_escalation_path_log_entry - notify_log_entry - reach_ack_limit_log_entry - reach_trigger_limit_log_entry - repeat_escalation_path_log_entry - resolve_log_entry - snooze_log_entry - trigger_log_entry - unacknowledge_log_entry - urgency_change_log_entry created_at: type: string format: date-time readOnly: true description: Time at which the log entry was created. channel: $ref: '#/components/schemas/Channel' agent: $ref: '#/components/schemas/AgentReference' note: type: string readOnly: true description: Optional field containing a note, if one was included with the log entry. contexts: type: array readOnly: true description: Contexts to be included with the trigger such as links to graphs or images. items: $ref: '#/components/schemas/Context' service: $ref: '#/components/schemas/ServiceReference' incident: $ref: '#/components/schemas/IncidentReference' teams: type: array readOnly: true description: Will consist of references unless included items: $ref: '#/components/schemas/TeamReference' event_details: type: object readOnly: true properties: description: type: string description: Additional details about the event. UrgencyChangeLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - urgency_change_log_entry WebhookIncidentAction: allOf: - $ref: '#/components/schemas/Action' - type: object properties: type: type: string description: 'The type of action being reported by this message. * `incident.trigger` - Sent when an incident is newly created/triggered. * `incident.acknowledge` - Sent when an incident is acknowledged by a user. * `incident.unacknowledge` - Sent when an incident is unacknowledged due to its acknowledgement timing out. * `incident.resolve` - Sent when an incident has been resolved. * `incident.assign` - Sent when an incident has been assigned to another user. Often occurs in concert with an `acknowledge`. * `incident.escalate` - Sent when an incident has been escalated to another user in the same escalation chain. * `incident.delegate` - Sent when an incident has been reassigned to another escalation policy. * `incident.annotate` - Sent when a note is created on an incident. ' enum: - incident.trigger - incident.acknowledge - incident.unacknowledge - incident.resolve - incident.assign - incident.escalate - incident.delegate - incident.annotate incident: $ref: '#/components/schemas/Incident' log_entries: type: array description: Log Entries that correspond to the action this Webhook is reporting. Includes the channels. items: oneOf: - $ref: '#/components/schemas/AcknowledgeLogEntry' - $ref: '#/components/schemas/AnnotateLogEntry' - $ref: '#/components/schemas/AssignLogEntry' - $ref: '#/components/schemas/DelegateLogEntry' - $ref: '#/components/schemas/EscalateLogEntry' - $ref: '#/components/schemas/ExhaustEscalationPathLogEntry' - $ref: '#/components/schemas/NotifyLogEntry' - $ref: '#/components/schemas/ReachAckLimitLogEntry' - $ref: '#/components/schemas/ReachTriggerLimitLogEntry' - $ref: '#/components/schemas/RepeatEscalationPathLogEntry' - $ref: '#/components/schemas/ResolveLogEntry' - $ref: '#/components/schemas/SnoozeLogEntry' - $ref: '#/components/schemas/TriggerLogEntry' - $ref: '#/components/schemas/UnacknowledgeLogEntry' - $ref: '#/components/schemas/UrgencyChangeLogEntry' example: id: bb4fcb00-6324-11e6-b9aa-22000affca53 type: incident.resolve triggered_at: '2016-08-15T20:13:28Z' log_entries: - id: R0FFIOTKIU30MN7XWR99SI0 type: resolve_log_entry summary: Resolved by Earline Greenholt self: https://api.pagerduty.com/log_entries/R0FFIOTKIU30MN7XWR99SI0 html_url: null created_at: '2017-09-22T18:37:29+00:00' agent: id: PLMUP47 type: user_reference summary: Earline Greenholt self: https://api.pagerduty.com/users/PXPGF42 html_url: https://subdomain.pagerduty.com/users/PXPGF42 channel: type: slack user: id: U60DQ6ZXY name: alisdair team: id: T029K7I8 domain: subdomain channel: id: C6981DRAW name: subdomain-ops service: id: PN49J75 type: service_reference summary: Cool Service self: https://api.pagerduty.com/services/PNTDJ30 html_url: https://subdomain.pagerduty.com/service-directory/PNTDJ30 incident: id: PVO5OB2 type: incident_reference summary: The server is on fire. self: https://api.pagerduty.com/incidents/PT4KHLK html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK teams: - id: PQ9K7I8 type: team_reference summary: Engineering self: https://api.pagerduty.com/teams/PQ9K7I8 html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8 webhook: type: webhook summary: webhook self: https://api.pagerduty.com/webhooks/PPGPXHO html_url: 'null' name: My Webhook endpoint_url: https://example.com webhook_object: id: PNTDJ30 type: service_reference summary: Cool Service self: 'null' html_url: 'null' config: anykey: anyvalue outbound_integration: id: PJFWPEP type: outbound_integration_reference summary: Generic Webhook V2 self: 'null' html_url: 'null' incident: id: PT4KHLK type: incident summary: The server is on fire. self: https://api.pagerduty.com/incidents/PT4KHLK html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK incident_number: 1234 created_at: '2015-10-06T21:30:42Z' status: resolved pending_actions: - type: unacknowledge at: '2015-11-10T01:02:52Z' - type: resolve at: '2015-11-10T04:31:52Z' incident_key: baf7cf21b1da41b4b0221008339ff357 service: id: PIJ90N7 type: service_reference summary: My Application Service self: https://api.pagerduty.com/services/PIJ90N7 html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7 name: My Application Service description: 'null' auto_resolve_timeout: 14400 acknowledgement_timeout: 600 created_at: '2015-11-06T11:12:51-05:00' status: active last_incident_timestamp: 'null' integrations: - id: PQ12345 type: generic_email_inbound_integration_reference summary: Email Integration self: https://api.pagerduty.com/services/PIJ90N7/integrations/PQ12345 html_url: https://subdomain.pagerduty.com/services/PIJ90N7/integrations/PQ12345 escalation_policy: id: PT20YPA type: escalation_policy_reference summary: Another Escalation Policy self: https://api.pagerduty.com/escalation_policies/PT20YPA html_url: https://subdomain.pagerduty.com/escalation_policies/PT20YPA teams: - id: PQ9K7I8 type: team_reference summary: Engineering self: https://api.pagerduty.com/teams/PQ9K7I8 html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8 incident_urgency_rule: type: use_support_hours during_support_hours: type: constant urgency: high outside_support_hours: type: constant urgency: low support_hours: type: fixed_time_per_day time_zone: America/Lima start_time: 09:00:00 end_time: '17:00:00' days_of_week: - 1 - 2 - 3 - 4 - 5 scheduled_actions: - type: urgency_change at: type: named_time name: support_hours_start to_urgency: high assignments: - at: '2015-11-10T00:31:52Z' assignee: id: PXPGF42 type: user_reference summary: Earline Greenholt self: https://api.pagerduty.com/users/PXPGF42 html_url: https://subdomain.pagerduty.com/users/PXPGF42 acknowledgements: - at: '2015-11-10T00:32:52Z' acknowledger: id: PXPGF42 type: user_reference summary: Earline Greenholt self: https://api.pagerduty.com/users/PXPGF42 html_url: https://subdomain.pagerduty.com/users/PXPGF42 last_status_change_at: '2015-10-06T21:38:23Z' last_status_change_by: id: PXPGF42 type: user_reference summary: Earline Greenholt self: https://api.pagerduty.com/users/PXPGF42 html_url: https://subdomain.pagerduty.com/users/PXPGF42 first_trigger_log_entry: id: Q02JTSNZWHSEKV type: trigger_log_entry_reference summary: Triggered through the API self: https://api.pagerduty.com/log_entries/Q02JTSNZWHSEKV?incident_id=PT4KHLK html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK/log_entries/Q02JTSNZWHSEKV escalation_policy: id: PT20YPA type: escalation_policy_reference summary: Another Escalation Policy self: https://api.pagerduty.com/escalation_policies/PT20YPA html_url: https://subdomain.pagerduty.com/escalation_policies/PT20YPA teams: - id: PQ9K7I8 type: team_reference summary: Engineering self: https://api.pagerduty.com/teams/PQ9K7I8 html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8 urgency: high Action: type: object description: A message containing information about a single PagerDuty action. readOnly: true properties: id: type: string format: uuid description: Uniquely identifies this outgoing webhook message; can be used for idempotency when processing the messages. readOnly: true triggered_at: type: string format: date-time description: The date/time when this message was was sent. readOnly: true webhook: $ref: '#/components/schemas/Webhook' UnacknowledgeLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - unacknowledge_log_entry Webhook: type: object description: Information about the configured webhook. readOnly: true properties: endpoint_url: type: string format: url description: The url endpoint the webhook payload is sent to. name: type: string description: The name of the webhook. webhook_object: $ref: '#/components/schemas/WebhookObject' config: type: object description: The object that contains webhook configuration values depending on the webhook type specification. outbound_integration: $ref: '#/components/schemas/OutboundIntegrationReference' example: id: PPGPXHO type: webhook summary: webhook name: My Webhook endpoint_url: https://example.com webhook_object: id: PNTDJ30 type: service_reference config: anykey: anyvalue outbound_integration: id: PJFWPEP type: outbound_integration_reference UserReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - user_reference WebhooksV1IncidentData: type: object description: The incident details at the time of the state change. readOnly: true properties: id: type: string readOnly: true incident_number: type: integer description: The number of the incident. This is unique across the account. readOnly: true created_on: type: string format: date-time description: The date/time the incident was first triggered. readOnly: true status: type: string description: The current status of the incident. enum: - triggered - acknowledged - resolved readOnly: true html_url: type: string format: url readOnly: true incident_key: type: string description: The incident's de-duplication key. readOnly: true service: $ref: '#/components/schemas/WebhooksV1Service' assigned_to_user: $ref: '#/components/schemas/WebhooksV1AssignedToUser' assigned_to: type: array items: $ref: '#/components/schemas/WebhooksV1AssignedTo' readOnly: true trigger_summary_data: type: object properties: subject: type: string readOnly: true readOnly: true trigger_details_html_url: type: string format: url readOnly: true last_status_change_on: type: string format: date-time readOnly: true description: The time at which the status of the incident last changed. last_status_change_by: $ref: '#/components/schemas/WebhooksV1AssignedToUser' number_of_escalations: type: integer minimum: 0 description: Number of times the incident has been escalated. readOnly: true urgency: type: string enum: - high - low readOnly: true WebhooksV1Service: type: object description: The service on which the incident occurred. properties: id: type: string readOnly: true name: type: string description: The name of the service. readOnly: true html_url: type: string format: url readOnly: true deleted_at: type: string format: date-time description: The date/time the service was deleted, if it has been removed. readOnly: true description: type: string description: The description of the service. readOnly: true AcknowledgeLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: acknowledgement_timeout: type: integer description: Duration for which the acknowledgement lasts, in seconds. Services can contain an `acknowledgement_timeout` property, which specifies the length of time acknowledgements should last for. Each time an incident is acknowledged, this timeout is copied into the acknowledgement log entry. This property is optional, as older log entries may not contain it. It may also be `null`, as acknowledgements can be performed on incidents whose services have no `acknowledgement_timeout` set. type: type: string enum: - acknowledgement_log_entry EscalationPolicy: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: type: type: string description: The type of object being created. default: escalation_policy enum: - escalation_policy name: type: string description: The name of the escalation policy. description: type: string description: Escalation policy description. num_loops: type: integer description: The number of times the escalation policy will repeat after reaching the end of its escalation. default: 0 minimum: 0 on_call_handoff_notifications: type: string description: Determines how on call handoff notifications will be sent for users on the escalation policy. Defaults to "if_has_services". enum: - if_has_services - always escalation_rules: type: array items: $ref: '#/components/schemas/EscalationRule' services: type: array items: $ref: '#/components/schemas/ServiceReference' minLength: 0 readOnly: true teams: type: array description: Team associated with the policy. Account must have the `teams` ability to use this parameter. Only one team may be associated with the policy. items: $ref: '#/components/schemas/TeamReference' minLength: 0 required: - type - name - escalation_rules example: id: PQIL2IX type: escalation_policy name: Engineering Escalation Policy escalation_rules: - escalation_delay_in_minutes: 30 targets: - id: PEYSGVF type: user_reference escalation_rule_assignment_strategy: - type: round_robin services: - id: PIJ90N7 type: service_reference num_loops: 2 on_call_handoff_notifications: if_has_services teams: - id: PQ9K7I8 type: team_reference description: Here is the ep for the engineering team. Acknowledgement: type: object properties: at: type: string format: date-time description: Time at which the acknowledgement was created. acknowledger: oneOf: - $ref: '#/components/schemas/AcknowledgerReference' - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/Service' required: - at - acknowledger EscalationTargetReference: allOf: - $ref: '#/components/schemas/Reference' - type: object description: The escalation target is the entity that will be assigned an incident upon escalation. properties: type: enum: - user - schedule - user_reference - schedule_reference type: string RepeatEscalationPathLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - repeat_escalation_path_log_entry AgentReference: allOf: - $ref: '#/components/schemas/Reference' - type: object description: The agent (user, service or integration) that created or modified the Incident Log Entry. properties: type: enum: - user_reference - service_reference - integration_reference type: string readOnly: true AssignLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: assignees: type: array readOnly: true description: An array of assigned Users for this log entry items: $ref: '#/components/schemas/UserReference' type: type: string enum: - assign_log_entry TriggerLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - trigger_log_entry ResponderRequest: type: object properties: incident: $ref: '#/components/schemas/IncidentReference' requester: $ref: '#/components/schemas/UserReference' requested_at: type: string description: The time the request was made message: type: string description: The message sent with the responder request responder_request_targets: type: array description: The array of targets the responder request is being sent to items: $ref: '#/components/schemas/ResponderRequestTargetReference' AnnotateLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: type: type: string enum: - annotate_log_entry AlertGroupingParameters: type: object description: 'Defines how alerts on this service will be automatically grouped into incidents. Note that the alert grouping features are available only on certain plans. To turn grouping off set the type to null. ' properties: type: type: string nullable: true enum: - time - intelligent - content_based - null config: anyOf: - $ref: '#/components/schemas/FlexibleTimeWindowIntelligentAlertGroupingConfig' - $ref: '#/components/schemas/TimeBasedAlertGroupingConfiguration' - $ref: '#/components/schemas/ContentBasedAlertGroupingConfiguration' SupportHours: type: object properties: type: type: string description: The type of support hours default: fixed_time_per_day enum: - fixed_time_per_day time_zone: type: string format: activesupport-time-zone description: The time zone for the support hours days_of_week: type: array readOnly: true items: type: integer readOnly: true description: The days of the week (1 through 7, for Monday through Sunday) start_time: type: string format: time description: The support hours' starting time of day (date portion is ignored) end_time: type: string format: time description: The support hours' ending time of day (date portion is ignored) AddonReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: src: type: string format: url description: The URL source of the Addon name: type: string description: The user entered name of the Addon. type: type: string enum: - full_page_addon_reference - incident_show_addon_reference WebhookObject: allOf: - $ref: '#/components/schemas/Reference' - type: object description: The webhook object (service) that the webhook belongs to. properties: type: type: string enum: - service - service_reference AutoPauseNotificationsParameters: title: AutoPauseNotificationsParameters type: object description: Defines how alerts on this service are automatically suspended for a period of time before triggering, when identified as likely being transient. Note that automatically pausing notifications is only available on certain plans. properties: enabled: type: boolean default: false description: Indicates whether alerts should be automatically suspended when identified as transient timeout: type: integer enum: - 120 - 180 - 300 - 600 - 900 description: Indicates in seconds how long alerts should be suspended before triggering example: enabled: true timeout: 300 WebhooksV1AssignedTo: type: object readOnly: true properties: at: type: string format: date-time description: Time at which the assignment was created. object: allOf: - $ref: '#/components/schemas/WebhooksV1AssignedToUser' - properties: type: type: string enum: - user ScheduledAction: type: object properties: type: type: string description: The type of schedule action. Must be set to urgency_change. enum: - urgency_change at: type: object description: Represents when scheduled action will occur. properties: type: type: string description: Must be set to named_time. enum: - named_time name: type: string description: Designates either the start or the end of support hours. enum: - support_hours_start - support_hours_end required: - type - name to_urgency: type: string description: Urgency level. Must be set to high. enum: - high required: - type - at - to_urgency IncidentsRespondersReference: type: object properties: state: type: string description: The status of the responder being added to the incident example: pending user: $ref: '#/components/schemas/UserReference' incident: $ref: '#/components/schemas/IncidentReference' updated_at: type: string message: type: string description: The message sent with the responder request requester: $ref: '#/components/schemas/UserReference' requested_at: type: string DelegateLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: assignees: type: array readOnly: true description: An array of assigned Users for this log entry items: $ref: '#/components/schemas/UserReference' type: type: string enum: - delegate_log_entry Incident: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object properties: incident_number: type: integer readOnly: true description: The number of the incident. This is unique across your account. title: type: string readOnly: false description: A succinct description of the nature, symptoms, cause, or effect of the incident. created_at: type: string format: date-time description: The time the incident was first triggered. example: '2019-12-01T20:00:00Z' readOnly: true updated_at: type: string format: date-time example: '2019-12-01T21:02:00Z' description: The time the incident was last modified. status: type: string description: The current status of the incident. enum: - triggered - acknowledged - resolved incident_key: type: string readOnly: true description: The incident's de-duplication key. service: description: The service the incident is on. If the `include[]=services` query parameter is provided, the full service definition will be returned. oneOf: - $ref: '#/components/schemas/ServiceReference' - $ref: '#/components/schemas/Service' assignments: type: array description: List of all assignments for this incident. This list will be empty if the `Incident.status` is `resolved`. Returns a user reference for each assignment. Full user definitions will be returned if the `include[]=assignees` query parameter is provided. items: $ref: '#/components/schemas/Assignment' assigned_via: type: string description: How the current incident assignments were decided. Note that `direct_assignment` incidents will not escalate up the attached `escalation_policy` enum: - escalation_policy - direct_assignment readOnly: true last_status_change_at: type: string format: date-time description: The time the status of the incident last changed. If the incident is not currently acknowledged or resolved, this will be the incident's `updated_at`. example: '2019-12-01T21:01:00Z' readOnly: true resolved_at: type: string format: date-time example: '2019-12-01T21:01:00Z' description: The time the incident became "resolved" or `null` if the incident is not resolved. first_trigger_log_entry: description: The first log entry on the incident. The log entry will be of type `TriggerLogEntry` and will represent information about how the incident was triggered. If the `include[]=first_trigger_log_entries` query parameter is provided, the full log entry definition will be returned. oneOf: - $ref: '#/components/schemas/LogEntryReference' - $ref: '#/components/schemas/TriggerLogEntry' alert_counts: $ref: '#/components/schemas/AlertCount' is_mergeable: type: boolean description: Whether the incident is mergeable. Only incidents that have alerts, or that are manually created can be merged. readOnly: true escalation_policy: description: The escalation policy attached to the service that the incident is on. If the `include[]=escalation_policies` query parameter is provided, the full escalation policy definition will be returned. oneOf: - $ref: '#/components/schemas/EscalationPolicyReference' - $ref: '#/components/schemas/EscalationPolicy' teams: type: array description: The teams involved in the incident’s lifecycle. If the `include[]=teams` query parameter is provided, the full team definitions will be returned. items: oneOf: - $ref: '#/components/schemas/TeamReference' - $ref: '#/components/schemas/Team' pending_actions: type: array readOnly: true description: The list of pending_actions on the incident. A pending_action object contains a type of action which can be escalate, unacknowledge, resolve or urgency_change. A pending_action object contains at, the time at which the action will take place. An urgency_change pending_action will contain to, the urgency that the incident will change to. items: $ref: '#/components/schemas/IncidentAction' acknowledgements: type: array description: List of all acknowledgements for this incident. This list will be empty if the `Incident.status` is `resolved` or `triggered`. If the `include[]=acknowledgers` query parameter is provided, the full user or service definitions will be returned for each acknowledgement entry. items: $ref: '#/components/schemas/Acknowledgement' alert_grouping: description: Describes the alert grouping state of this incident. Will be null if the incident has no alerts. type: object properties: grouping_type: type: string enum: - basic - advanced - rules started_at: type: string format: date-time ended_at: type: string format: date-time alert_grouping_active: type: boolean last_status_change_by: description: The entity that last changed the status of the incident. If the `include[]=agents` query parameter is provided, the full user/service/integration definition will be returned. oneOf: - $ref: '#/components/schemas/AgentReference' - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/Service' priority: $ref: '#/components/schemas/Priority' resolve_reason: $ref: '#/components/schemas/ResolveReason' conference_bridge: description: The conference bridge information attached to the incident. Only returned if the `include[]=conference_bridge` query parameter is provided. allOf: - $ref: '#/components/schemas/ConferenceBridge' incidents_responders: description: The responders on the incident. Only returned if the account has access to the [responder requests](https://support.pagerduty.com/docs/add-responders) feature. type: array readOnly: true items: $ref: '#/components/schemas/IncidentsRespondersReference' responder_requests: description: Previous responder requests made on this incident. Only returned if the account has access to the [responder requests](https://support.pagerduty.com/docs/add-responders) feature. type: array readOnly: true items: $ref: '#/components/schemas/ResponderRequest' urgency: type: string enum: - high - low description: The current urgency of the incident. body: description: The additional incident body details. Only returned if the `include[]=body` query parameter is provided. allOf: - $ref: '#/components/schemas/IncidentBody' IncidentUrgencyType: type: object properties: type: type: string description: 'The type of incident urgency: whether it''s constant, or it''s dependent on the support hours.' default: constant enum: - constant - use_support_hours urgency: type: string description: The incidents' urgency, if type is constant. default: high enum: - low - high - severity_based ContactMethodReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - email_contact_method_reference - phone_contact_method_reference - push_notification_contact_method_reference - sms_contact_method_reference WebhooksV1AssignedToUser: type: object description: The user assigned to the incident. readOnly: true properties: id: type: string readOnly: true name: type: string description: The user's name. readOnly: true email: type: string format: email description: The user's email address. readOnly: true html_url: type: string format: url readOnly: true Reference: allOf: - $ref: '#/components/schemas/Tag/allOf/0' - type: object required: - type - id EscalateLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: assignees: type: array readOnly: true description: An array of assigned Users for this log entry items: $ref: '#/components/schemas/UserReference' type: type: string enum: - escalate_log_entry ServiceReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - service_reference SnoozeLogEntry: allOf: - $ref: '#/components/schemas/LogEntry' - type: object properties: changed_actions: type: array items: $ref: '#/components/schemas/IncidentAction' type: type: string enum: - snooze_log_entry EscalationPolicyReference: allOf: - $ref: '#/components/schemas/Reference' - type: object properties: type: type: string enum: - escalation_policy_reference IncidentAction: description: An incident action is a pending change to an incident that will automatically happen at some future time. type: object properties: type: type: string enum: - unacknowledge - escalate - resolve - urgency_change at: type: string format: date-time to: description: The urgency that the incident will change to. This field is only present when the type is `urgency_change`. type: string enum: - high discriminator: propertyName: type required: - type - at Pagination: type: object properties: offset: type: integer description: Echoes offset pagination property. readOnly: true limit: type: integer description: Echoes limit pagination property. readOnly: true more: type: boolean description: Indicates if there are additional records to return readOnly: true total: type: integer description: The total number of records matching the given query. nullable: true readOnly: true Tag: allOf: - type: object properties: id: type: string readOnly: true summary: type: string nullable: true readOnly: true description: A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. type: type: string readOnly: true description: A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference. self: type: string nullable: true readOnly: true format: url description: the API show URL at which the object is accessible html_url: type: string nullable: true readOnly: true format: url description: a URL at which the entity is uniquely displayed in the Web app - type: object properties: type: type: string description: The type of object being created. default: tag enum: - tag label: type: string description: The label of the tag. maxLength: 191 required: - label - type example: type: tag label: Batman parameters: header_Accept: name: Accept description: The `Accept` header is used as a versioning header. in: header required: true schema: type: string default: application/vnd.pagerduty+json;version=2 header_Content-Type: name: Content-Type in: header required: true schema: type: string default: application/json enum: - application/json offset_total: name: total in: query required: false description: 'By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated. See our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information. ' schema: default: false type: boolean id: name: id description: The ID of the resource. in: path required: true schema: type: string extension_schema_id: name: extension_schema_id in: query description: Filter the extensions by extension vendor id. schema: type: string offset_limit: name: limit in: query required: false description: The number of results per page. schema: type: integer query: name: query in: query description: Filters the result, showing only the records whose name matches the query. required: false schema: type: string offset_offset: name: offset in: query required: false description: Offset to start pagination search results. schema: type: integer extension_object_id: name: extension_object_id description: The id of the extension object you want to filter by. in: query schema: type: string include_extensions_id: name: include[] in: query description: Array of additional details to include. explode: true schema: type: string enum: - extension_schemas - extension_objects - temporarily_disabled uniqueItems: true include_extensions: name: include[] in: query description: Array of additional details to include. explode: true schema: type: string enum: - extension_objects - extension_schemas uniqueItems: true responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/responses/Conflict/content/application~1json/schema' PaymentRequired: description: 'Account does not have the abilities to perform the action. Please review the response for the required abilities. You can also use the [Abilities API](#resource_Abilities) to determine what features are available to your account. ' content: application/json: schema: $ref: '#/components/responses/Conflict/content/application~1json/schema' ArgumentError: description: Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work. content: application/json: schema: $ref: '#/components/responses/Conflict/content/application~1json/schema' Unauthorized: description: 'Caller did not supply credentials or did not provide the correct credentials. If you are using an API key, it may be invalid or your Authorization header may be malformed. ' content: application/json: schema: $ref: '#/components/responses/Conflict/content/application~1json/schema' Conflict: description: The request conflicts with the current state of the server. content: application/json: schema: type: object properties: error: type: object properties: code: type: integer readOnly: true message: type: string readOnly: true description: Error message string errors: type: array readOnly: true items: type: string readOnly: true description: Human-readable error details example: message: Not Found code: 2100 Forbidden: description: 'Caller is not authorized to view the requested resource. While your authentication is valid, the authenticated user or token does not have permission to perform this action. ' content: application/json: schema: $ref: '#/components/responses/Conflict/content/application~1json/schema' securitySchemes: api_key: type: apiKey name: Authorization in: header description: The API Key with format `Token token=`