naftiko: 1.0.0-alpha2 info: label: PagerDuty API — Business Services description: 'PagerDuty API — Business Services. 16 operations. Lead operation: PagerDuty List Business Services. Self-contained Naftiko capability covering one Pagerduty business surface.' tags: - Pagerduty - Business Services created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PAGERDUTY_API_KEY: PAGERDUTY_API_KEY capability: consumes: - type: http namespace: pagerduty-business-services baseUri: https://api.pagerduty.com description: PagerDuty API — Business Services business capability. Self-contained, no shared references. resources: - name: business_services path: /business_services operations: - name: listbusinessservices method: GET description: PagerDuty List Business Services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createbusinessservice method: POST description: PagerDuty Create 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: business_services-impactors path: /business_services/impactors operations: - name: getbusinessservicetoplevelimpactors method: GET description: PagerDuty List Impactors affecting Business Services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business_services-impacts path: /business_services/impacts operations: - name: getbusinessserviceimpacts method: GET description: PagerDuty List Business Services sorted by impacted status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business_services-priority_thresholds path: /business_services/priority_thresholds operations: - name: getbusinessserviceprioritythresholds method: GET description: PagerDuty Get the global priority threshold for a Business Service to be considered impacted by an Incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletebusinessserviceprioritythresholds method: DELETE description: PagerDuty Deletes the account-level priority threshold for Business Service impact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: putbusinessserviceprioritythresholds method: PUT description: PagerDuty Set the Account-level priority threshold for Business Service impact. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: business_services-id path: /business_services/{id} operations: - name: getbusinessservice method: GET description: PagerDuty Get a Business Service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletebusinessservice method: DELETE description: PagerDuty Delete a Business Service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatebusinessservice method: PUT description: PagerDuty Update 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: business_services-id-account_subscription path: /business_services/{id}/account_subscription operations: - name: createbusinessserviceaccountsubscription method: POST description: PagerDuty Create Business Service Account Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removebusinessserviceaccountsubscription method: DELETE description: PagerDuty Delete Business Service Account Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business_services-id-subscribers path: /business_services/{id}/subscribers operations: - name: getbusinessservicesubscribers method: GET description: PagerDuty List Business Service Subscribers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createbusinessservicenotificationsubscribers method: POST description: PagerDuty Create Business Service Subscribers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: business_services-id-supporting_services-impacts path: /business_services/{id}/supporting_services/impacts operations: - name: getbusinessservicesupportingserviceimpacts method: GET description: PagerDuty List the supporting Business Services for the given Business Service Id, sorted by impacted status. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business_services-id-unsubscribe path: /business_services/{id}/unsubscribe operations: - name: removebusinessservicenotificationsubscriber method: POST description: PagerDuty Remove Business Service Subscribers 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-business-services-rest port: 8080 description: REST adapter for PagerDuty API — Business Services. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/business-services name: business-services description: REST surface for business_services. operations: - method: GET name: listbusinessservices description: PagerDuty List Business Services call: pagerduty-business-services.listbusinessservices outputParameters: - type: object mapping: $. - method: POST name: createbusinessservice description: PagerDuty Create a Business Service call: pagerduty-business-services.createbusinessservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/business-services/impactors name: business-services-impactors description: REST surface for business_services-impactors. operations: - method: GET name: getbusinessservicetoplevelimpactors description: PagerDuty List Impactors affecting Business Services call: pagerduty-business-services.getbusinessservicetoplevelimpactors outputParameters: - type: object mapping: $. - path: /v1/business-services/impacts name: business-services-impacts description: REST surface for business_services-impacts. operations: - method: GET name: getbusinessserviceimpacts description: PagerDuty List Business Services sorted by impacted status call: pagerduty-business-services.getbusinessserviceimpacts outputParameters: - type: object mapping: $. - path: /v1/business-services/priority-thresholds name: business-services-priority-thresholds description: REST surface for business_services-priority_thresholds. operations: - method: GET name: getbusinessserviceprioritythresholds description: PagerDuty Get the global priority threshold for a Business Service to be considered impacted by an Incident call: pagerduty-business-services.getbusinessserviceprioritythresholds outputParameters: - type: object mapping: $. - method: DELETE name: deletebusinessserviceprioritythresholds description: PagerDuty Deletes the account-level priority threshold for Business Service impact call: pagerduty-business-services.deletebusinessserviceprioritythresholds outputParameters: - type: object mapping: $. - method: PUT name: putbusinessserviceprioritythresholds description: PagerDuty Set the Account-level priority threshold for Business Service impact. call: pagerduty-business-services.putbusinessserviceprioritythresholds with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/business-services/{id} name: business-services-id description: REST surface for business_services-id. operations: - method: GET name: getbusinessservice description: PagerDuty Get a Business Service call: pagerduty-business-services.getbusinessservice outputParameters: - type: object mapping: $. - method: DELETE name: deletebusinessservice description: PagerDuty Delete a Business Service call: pagerduty-business-services.deletebusinessservice outputParameters: - type: object mapping: $. - method: PUT name: updatebusinessservice description: PagerDuty Update a Business Service call: pagerduty-business-services.updatebusinessservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/business-services/{id}/account-subscription name: business-services-id-account-subscription description: REST surface for business_services-id-account_subscription. operations: - method: POST name: createbusinessserviceaccountsubscription description: PagerDuty Create Business Service Account Subscription call: pagerduty-business-services.createbusinessserviceaccountsubscription outputParameters: - type: object mapping: $. - method: DELETE name: removebusinessserviceaccountsubscription description: PagerDuty Delete Business Service Account Subscription call: pagerduty-business-services.removebusinessserviceaccountsubscription outputParameters: - type: object mapping: $. - path: /v1/business-services/{id}/subscribers name: business-services-id-subscribers description: REST surface for business_services-id-subscribers. operations: - method: GET name: getbusinessservicesubscribers description: PagerDuty List Business Service Subscribers call: pagerduty-business-services.getbusinessservicesubscribers outputParameters: - type: object mapping: $. - method: POST name: createbusinessservicenotificationsubscribers description: PagerDuty Create Business Service Subscribers call: pagerduty-business-services.createbusinessservicenotificationsubscribers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/business-services/{id}/supporting-services/impacts name: business-services-id-supporting-services-impacts description: REST surface for business_services-id-supporting_services-impacts. operations: - method: GET name: getbusinessservicesupportingserviceimpacts description: PagerDuty List the supporting Business Services for the given Business Service Id, sorted by impacted status. call: pagerduty-business-services.getbusinessservicesupportingserviceimpacts outputParameters: - type: object mapping: $. - path: /v1/business-services/{id}/unsubscribe name: business-services-id-unsubscribe description: REST surface for business_services-id-unsubscribe. operations: - method: POST name: removebusinessservicenotificationsubscriber description: PagerDuty Remove Business Service Subscribers call: pagerduty-business-services.removebusinessservicenotificationsubscriber with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: pagerduty-business-services-mcp port: 9090 transport: http description: MCP adapter for PagerDuty API — Business Services. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pagerduty-list-business-services description: PagerDuty List Business Services hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.listbusinessservices outputParameters: - type: object mapping: $. - name: pagerduty-create-business-service description: PagerDuty Create a Business Service hints: readOnly: false destructive: false idempotent: false call: pagerduty-business-services.createbusinessservice with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-impactors-affecting-business description: PagerDuty List Impactors affecting Business Services hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessservicetoplevelimpactors outputParameters: - type: object mapping: $. - name: pagerduty-list-business-services-sorted description: PagerDuty List Business Services sorted by impacted status hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessserviceimpacts outputParameters: - type: object mapping: $. - name: pagerduty-get-global-priority-threshold description: PagerDuty Get the global priority threshold for a Business Service to be considered impacted by an Incident hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessserviceprioritythresholds outputParameters: - type: object mapping: $. - name: pagerduty-deletes-account-level-priority description: PagerDuty Deletes the account-level priority threshold for Business Service impact hints: readOnly: false destructive: true idempotent: true call: pagerduty-business-services.deletebusinessserviceprioritythresholds outputParameters: - type: object mapping: $. - name: pagerduty-set-account-level-priority description: PagerDuty Set the Account-level priority threshold for Business Service impact. hints: readOnly: false destructive: false idempotent: true call: pagerduty-business-services.putbusinessserviceprioritythresholds with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-business-service description: PagerDuty Get a Business Service hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessservice outputParameters: - type: object mapping: $. - name: pagerduty-delete-business-service description: PagerDuty Delete a Business Service hints: readOnly: false destructive: true idempotent: true call: pagerduty-business-services.deletebusinessservice outputParameters: - type: object mapping: $. - name: pagerduty-update-business-service description: PagerDuty Update a Business Service hints: readOnly: false destructive: false idempotent: true call: pagerduty-business-services.updatebusinessservice with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-create-business-service-account description: PagerDuty Create Business Service Account Subscription hints: readOnly: false destructive: false idempotent: false call: pagerduty-business-services.createbusinessserviceaccountsubscription outputParameters: - type: object mapping: $. - name: pagerduty-delete-business-service-account description: PagerDuty Delete Business Service Account Subscription hints: readOnly: false destructive: true idempotent: true call: pagerduty-business-services.removebusinessserviceaccountsubscription outputParameters: - type: object mapping: $. - name: pagerduty-list-business-service-subscribers description: PagerDuty List Business Service Subscribers hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessservicesubscribers outputParameters: - type: object mapping: $. - name: pagerduty-create-business-service-subscribers description: PagerDuty Create Business Service Subscribers hints: readOnly: false destructive: false idempotent: false call: pagerduty-business-services.createbusinessservicenotificationsubscribers with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-supporting-business-services description: PagerDuty List the supporting Business Services for the given Business Service Id, sorted by impacted status. hints: readOnly: true destructive: false idempotent: true call: pagerduty-business-services.getbusinessservicesupportingserviceimpacts outputParameters: - type: object mapping: $. - name: pagerduty-remove-business-service-subscribers description: PagerDuty Remove Business Service Subscribers hints: readOnly: false destructive: false idempotent: false call: pagerduty-business-services.removebusinessservicenotificationsubscriber with: body: tools.body outputParameters: - type: object mapping: $.