naftiko: 1.0.0-alpha2 info: label: PagerDuty API — Incidents description: 'PagerDuty API — Incidents. 26 operations. Lead operation: PagerDuty List incidents. Self-contained Naftiko capability covering one Pagerduty business surface.' tags: - Pagerduty - Incidents created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PAGERDUTY_API_KEY: PAGERDUTY_API_KEY capability: consumes: - type: http namespace: pagerduty-incidents baseUri: https://api.pagerduty.com description: PagerDuty API — Incidents business capability. Self-contained, no shared references. resources: - name: incidents path: /incidents operations: - name: listincidents method: GET description: PagerDuty List incidents outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidents method: PUT description: PagerDuty Manage incidents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: createincident method: POST description: PagerDuty Create an Incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id path: /incidents/{id} operations: - name: getincident method: GET description: PagerDuty Get an incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincident method: PUT description: PagerDuty Update an incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-alerts path: /incidents/{id}/alerts operations: - name: listincidentalerts method: GET description: PagerDuty List alerts for an incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidentalerts method: PUT description: PagerDuty Manage alerts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-alerts-alert_id path: /incidents/{id}/alerts/{alert_id} operations: - name: getincidentalert method: GET description: PagerDuty Get an alert outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidentalert method: PUT description: PagerDuty Update an alert outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-business_services-impacts path: /incidents/{id}/business_services/impacts operations: - name: getincidentimpactedbusinessservices method: GET description: PagerDuty List Business Services impacted by the given Incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-id-business_services-business_service_id-impacts path: /incidents/{id}/business_services/{business_service_id}/impacts operations: - name: putincidentmanualbusinessserviceassociation method: PUT description: PagerDuty Manually change an Incident's Impact on a Business Service. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-custom_fields-values path: /incidents/{id}/custom_fields/values operations: - name: getincidentfieldvalues method: GET description: PagerDuty Get Custom Field Values outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setincidentfieldvalues method: PUT description: PagerDuty Update Custom Field Values outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-log_entries path: /incidents/{id}/log_entries operations: - name: listincidentlogentries method: GET description: PagerDuty List log entries for an incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-id-merge path: /incidents/{id}/merge operations: - name: mergeincidents method: PUT description: PagerDuty Merge incidents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-notes path: /incidents/{id}/notes operations: - name: listincidentnotes method: GET description: PagerDuty List notes for an incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincidentnote method: POST description: PagerDuty Create a note on an incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-outlier_incident path: /incidents/{id}/outlier_incident operations: - name: getoutlierincident method: GET description: PagerDuty Get Outlier Incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-id-past_incidents path: /incidents/{id}/past_incidents operations: - name: getpastincidents method: GET description: PagerDuty Get Past Incidents outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-id-related_incidents path: /incidents/{id}/related_incidents operations: - name: getrelatedincidents method: GET description: PagerDuty Get Related Incidents outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-id-responder_requests path: /incidents/{id}/responder_requests operations: - name: createincidentresponderrequest method: POST description: PagerDuty Create a responder request for an incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-snooze path: /incidents/{id}/snooze operations: - name: createincidentsnooze method: POST description: PagerDuty Snooze an incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-status_updates path: /incidents/{id}/status_updates operations: - name: createincidentstatusupdate method: POST description: PagerDuty Create a status update on an incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-status_updates-subscribers path: /incidents/{id}/status_updates/subscribers operations: - name: getincidentnotificationsubscribers method: GET description: PagerDuty List Notification Subscribers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincidentnotificationsubscribers method: POST description: PagerDuty Add Notification Subscribers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: incidents-id-status_updates-unsubscribe path: /incidents/{id}/status_updates/unsubscribe operations: - name: removeincidentnotificationsubscribers method: POST description: PagerDuty Remove Notification Subscriber outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Authorization value: '{{env.PAGERDUTY_API_KEY}}' placement: header exposes: - type: rest namespace: pagerduty-incidents-rest port: 8080 description: REST adapter for PagerDuty API — Incidents. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/incidents name: incidents description: REST surface for incidents. operations: - method: GET name: listincidents description: PagerDuty List incidents call: pagerduty-incidents.listincidents outputParameters: - type: object mapping: $. - method: PUT name: updateincidents description: PagerDuty Manage incidents call: pagerduty-incidents.updateincidents with: body: rest.body outputParameters: - type: object mapping: $. - method: POST name: createincident description: PagerDuty Create an Incident call: pagerduty-incidents.createincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id} name: incidents-id description: REST surface for incidents-id. operations: - method: GET name: getincident description: PagerDuty Get an incident call: pagerduty-incidents.getincident outputParameters: - type: object mapping: $. - method: PUT name: updateincident description: PagerDuty Update an incident call: pagerduty-incidents.updateincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/alerts name: incidents-id-alerts description: REST surface for incidents-id-alerts. operations: - method: GET name: listincidentalerts description: PagerDuty List alerts for an incident call: pagerduty-incidents.listincidentalerts outputParameters: - type: object mapping: $. - method: PUT name: updateincidentalerts description: PagerDuty Manage alerts call: pagerduty-incidents.updateincidentalerts with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/alerts/{alert-id} name: incidents-id-alerts-alert-id description: REST surface for incidents-id-alerts-alert_id. operations: - method: GET name: getincidentalert description: PagerDuty Get an alert call: pagerduty-incidents.getincidentalert outputParameters: - type: object mapping: $. - method: PUT name: updateincidentalert description: PagerDuty Update an alert call: pagerduty-incidents.updateincidentalert with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/business-services/impacts name: incidents-id-business-services-impacts description: REST surface for incidents-id-business_services-impacts. operations: - method: GET name: getincidentimpactedbusinessservices description: PagerDuty List Business Services impacted by the given Incident call: pagerduty-incidents.getincidentimpactedbusinessservices outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/business-services/{business-service-id}/impacts name: incidents-id-business-services-business-service-id-impacts description: REST surface for incidents-id-business_services-business_service_id-impacts. operations: - method: PUT name: putincidentmanualbusinessserviceassociation description: PagerDuty Manually change an Incident's Impact on a Business Service. call: pagerduty-incidents.putincidentmanualbusinessserviceassociation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/custom-fields/values name: incidents-id-custom-fields-values description: REST surface for incidents-id-custom_fields-values. operations: - method: GET name: getincidentfieldvalues description: PagerDuty Get Custom Field Values call: pagerduty-incidents.getincidentfieldvalues outputParameters: - type: object mapping: $. - method: PUT name: setincidentfieldvalues description: PagerDuty Update Custom Field Values call: pagerduty-incidents.setincidentfieldvalues with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/log-entries name: incidents-id-log-entries description: REST surface for incidents-id-log_entries. operations: - method: GET name: listincidentlogentries description: PagerDuty List log entries for an incident call: pagerduty-incidents.listincidentlogentries outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/merge name: incidents-id-merge description: REST surface for incidents-id-merge. operations: - method: PUT name: mergeincidents description: PagerDuty Merge incidents call: pagerduty-incidents.mergeincidents with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/notes name: incidents-id-notes description: REST surface for incidents-id-notes. operations: - method: GET name: listincidentnotes description: PagerDuty List notes for an incident call: pagerduty-incidents.listincidentnotes outputParameters: - type: object mapping: $. - method: POST name: createincidentnote description: PagerDuty Create a note on an incident call: pagerduty-incidents.createincidentnote with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/outlier-incident name: incidents-id-outlier-incident description: REST surface for incidents-id-outlier_incident. operations: - method: GET name: getoutlierincident description: PagerDuty Get Outlier Incident call: pagerduty-incidents.getoutlierincident outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/past-incidents name: incidents-id-past-incidents description: REST surface for incidents-id-past_incidents. operations: - method: GET name: getpastincidents description: PagerDuty Get Past Incidents call: pagerduty-incidents.getpastincidents outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/related-incidents name: incidents-id-related-incidents description: REST surface for incidents-id-related_incidents. operations: - method: GET name: getrelatedincidents description: PagerDuty Get Related Incidents call: pagerduty-incidents.getrelatedincidents outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/responder-requests name: incidents-id-responder-requests description: REST surface for incidents-id-responder_requests. operations: - method: POST name: createincidentresponderrequest description: PagerDuty Create a responder request for an incident call: pagerduty-incidents.createincidentresponderrequest with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/snooze name: incidents-id-snooze description: REST surface for incidents-id-snooze. operations: - method: POST name: createincidentsnooze description: PagerDuty Snooze an incident call: pagerduty-incidents.createincidentsnooze with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/status-updates name: incidents-id-status-updates description: REST surface for incidents-id-status_updates. operations: - method: POST name: createincidentstatusupdate description: PagerDuty Create a status update on an incident call: pagerduty-incidents.createincidentstatusupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/status-updates/subscribers name: incidents-id-status-updates-subscribers description: REST surface for incidents-id-status_updates-subscribers. operations: - method: GET name: getincidentnotificationsubscribers description: PagerDuty List Notification Subscribers call: pagerduty-incidents.getincidentnotificationsubscribers outputParameters: - type: object mapping: $. - method: POST name: createincidentnotificationsubscribers description: PagerDuty Add Notification Subscribers call: pagerduty-incidents.createincidentnotificationsubscribers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/incidents/{id}/status-updates/unsubscribe name: incidents-id-status-updates-unsubscribe description: REST surface for incidents-id-status_updates-unsubscribe. operations: - method: POST name: removeincidentnotificationsubscribers description: PagerDuty Remove Notification Subscriber call: pagerduty-incidents.removeincidentnotificationsubscribers with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: pagerduty-incidents-mcp port: 9090 transport: http description: MCP adapter for PagerDuty API — Incidents. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pagerduty-list-incidents description: PagerDuty List incidents hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.listincidents outputParameters: - type: object mapping: $. - name: pagerduty-manage-incidents description: PagerDuty Manage incidents hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.updateincidents with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-create-incident description: PagerDuty Create an Incident hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincident with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-incident description: PagerDuty Get an incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getincident outputParameters: - type: object mapping: $. - name: pagerduty-update-incident description: PagerDuty Update an incident hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.updateincident with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-alerts-incident description: PagerDuty List alerts for an incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.listincidentalerts outputParameters: - type: object mapping: $. - name: pagerduty-manage-alerts description: PagerDuty Manage alerts hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.updateincidentalerts with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-alert description: PagerDuty Get an alert hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getincidentalert outputParameters: - type: object mapping: $. - name: pagerduty-update-alert description: PagerDuty Update an alert hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.updateincidentalert with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-business-services-impacted description: PagerDuty List Business Services impacted by the given Incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getincidentimpactedbusinessservices outputParameters: - type: object mapping: $. - name: pagerduty-manually-change-incident-s-impact description: PagerDuty Manually change an Incident's Impact on a Business Service. hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.putincidentmanualbusinessserviceassociation with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-custom-field-values description: PagerDuty Get Custom Field Values hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getincidentfieldvalues outputParameters: - type: object mapping: $. - name: pagerduty-update-custom-field-values description: PagerDuty Update Custom Field Values hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.setincidentfieldvalues with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-log-entries-incident description: PagerDuty List log entries for an incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.listincidentlogentries outputParameters: - type: object mapping: $. - name: pagerduty-merge-incidents description: PagerDuty Merge incidents hints: readOnly: false destructive: false idempotent: true call: pagerduty-incidents.mergeincidents with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-notes-incident description: PagerDuty List notes for an incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.listincidentnotes outputParameters: - type: object mapping: $. - name: pagerduty-create-note-incident description: PagerDuty Create a note on an incident hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincidentnote with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-outlier-incident description: PagerDuty Get Outlier Incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getoutlierincident outputParameters: - type: object mapping: $. - name: pagerduty-get-past-incidents description: PagerDuty Get Past Incidents hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getpastincidents outputParameters: - type: object mapping: $. - name: pagerduty-get-related-incidents description: PagerDuty Get Related Incidents hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getrelatedincidents outputParameters: - type: object mapping: $. - name: pagerduty-create-responder-request-incident description: PagerDuty Create a responder request for an incident hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincidentresponderrequest with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-snooze-incident description: PagerDuty Snooze an incident hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincidentsnooze with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-create-status-update-incident description: PagerDuty Create a status update on an incident hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincidentstatusupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-notification-subscribers description: PagerDuty List Notification Subscribers hints: readOnly: true destructive: false idempotent: true call: pagerduty-incidents.getincidentnotificationsubscribers outputParameters: - type: object mapping: $. - name: pagerduty-add-notification-subscribers description: PagerDuty Add Notification Subscribers hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.createincidentnotificationsubscribers with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-remove-notification-subscriber description: PagerDuty Remove Notification Subscriber hints: readOnly: false destructive: false idempotent: false call: pagerduty-incidents.removeincidentnotificationsubscribers with: body: tools.body outputParameters: - type: object mapping: $.