naftiko: 1.0.0-alpha2 info: label: PagerDuty API — Add-Ons description: 'PagerDuty API — Add-Ons. 5 operations. Lead operation: PagerDuty List installed Add-ons. Self-contained Naftiko capability covering one Pagerduty business surface.' tags: - Pagerduty - Add-Ons created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PAGERDUTY_API_KEY: PAGERDUTY_API_KEY capability: consumes: - type: http namespace: pagerduty-add-ons baseUri: https://api.pagerduty.com description: PagerDuty API — Add-Ons business capability. Self-contained, no shared references. resources: - name: addons path: /addons operations: - name: listaddon method: GET description: PagerDuty List installed Add-ons outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createaddon method: POST description: PagerDuty Install an Add-on outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: addons-id path: /addons/{id} operations: - name: getaddon method: GET description: PagerDuty Get an Add-on outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteaddon method: DELETE description: PagerDuty Delete an Add-on outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateaddon method: PUT description: PagerDuty Update an Add-on 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-add-ons-rest port: 8080 description: REST adapter for PagerDuty API — Add-Ons. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/addons name: addons description: REST surface for addons. operations: - method: GET name: listaddon description: PagerDuty List installed Add-ons call: pagerduty-add-ons.listaddon outputParameters: - type: object mapping: $. - method: POST name: createaddon description: PagerDuty Install an Add-on call: pagerduty-add-ons.createaddon with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/addons/{id} name: addons-id description: REST surface for addons-id. operations: - method: GET name: getaddon description: PagerDuty Get an Add-on call: pagerduty-add-ons.getaddon outputParameters: - type: object mapping: $. - method: DELETE name: deleteaddon description: PagerDuty Delete an Add-on call: pagerduty-add-ons.deleteaddon outputParameters: - type: object mapping: $. - method: PUT name: updateaddon description: PagerDuty Update an Add-on call: pagerduty-add-ons.updateaddon with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: pagerduty-add-ons-mcp port: 9090 transport: http description: MCP adapter for PagerDuty API — Add-Ons. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pagerduty-list-installed-add-ons description: PagerDuty List installed Add-ons hints: readOnly: true destructive: false idempotent: true call: pagerduty-add-ons.listaddon outputParameters: - type: object mapping: $. - name: pagerduty-install-add description: PagerDuty Install an Add-on hints: readOnly: false destructive: false idempotent: false call: pagerduty-add-ons.createaddon with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-add description: PagerDuty Get an Add-on hints: readOnly: true destructive: false idempotent: true call: pagerduty-add-ons.getaddon outputParameters: - type: object mapping: $. - name: pagerduty-delete-add description: PagerDuty Delete an Add-on hints: readOnly: false destructive: true idempotent: true call: pagerduty-add-ons.deleteaddon outputParameters: - type: object mapping: $. - name: pagerduty-update-add description: PagerDuty Update an Add-on hints: readOnly: false destructive: false idempotent: true call: pagerduty-add-ons.updateaddon with: body: tools.body outputParameters: - type: object mapping: $.