naftiko: 1.0.0-alpha2 info: label: PagerDuty API — Status Pages description: 'PagerDuty API — Status Pages. 27 operations. Lead operation: PagerDuty List Status Pages. Self-contained Naftiko capability covering one Pagerduty business surface.' tags: - Pagerduty - Status Pages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PAGERDUTY_API_KEY: PAGERDUTY_API_KEY capability: consumes: - type: http namespace: pagerduty-status-pages baseUri: https://api.pagerduty.com description: PagerDuty API — Status Pages business capability. Self-contained, no shared references. resources: - name: status_pages path: /status_pages operations: - name: liststatuspages method: GET description: PagerDuty List Status Pages outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-impacts path: /status_pages/{id}/impacts operations: - name: liststatuspageimpacts method: GET description: PagerDuty List Status Page Impacts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-impacts-impact_id path: /status_pages/{id}/impacts/{impact_id} operations: - name: getstatuspageimpact method: GET description: PagerDuty Get a Status Page Impact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-posts path: /status_pages/{id}/posts operations: - name: liststatuspageposts method: GET description: PagerDuty List Status Page Posts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createstatuspagepost method: POST description: PagerDuty Create a Status Page Post outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: status_pages-id-posts-post_id path: /status_pages/{id}/posts/{post_id} operations: - name: getstatuspagepost method: GET description: PagerDuty Get a Status Page Post outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatestatuspagepost method: PUT description: PagerDuty Update a Status Page Post outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletestatuspagepost method: DELETE description: PagerDuty Delete a Status Page Post outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-posts-post_id-post_updates path: /status_pages/{id}/posts/{post_id}/post_updates operations: - name: liststatuspagepostupdates method: GET description: PagerDuty List Status Page Post Updates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createstatuspagepostupdate method: POST description: PagerDuty Create a Status Page Post Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: status_pages-id-posts-post_id-post_updates-post_update_id path: /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id} operations: - name: getpostupdate method: GET description: PagerDuty Get a Status Page Post Update outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatestatuspagepostupdate method: PUT description: PagerDuty Update a Status Page Post Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletestatuspagepostupdate method: DELETE description: PagerDuty Delete a Status Page Post Update outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-posts-post_id-postmortem path: /status_pages/{id}/posts/{post_id}/postmortem operations: - name: getpostmortem method: GET description: PagerDuty Get a Post Postmortem outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createstatuspagepostmortem method: POST description: PagerDuty Create a Post Postmortem outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: updatestatuspagepostmortem method: PUT description: PagerDuty Update a Post Postmortem outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletestatuspagepostmortem method: DELETE description: PagerDuty Delete a Post Postmortem outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-services path: /status_pages/{id}/services operations: - name: liststatuspageservices method: GET description: PagerDuty List Status Page Services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-services-service_id path: /status_pages/{id}/services/{service_id} operations: - name: getstatuspageservice method: GET description: PagerDuty Get a Status Page Service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-severities path: /status_pages/{id}/severities operations: - name: liststatuspageseverities method: GET description: PagerDuty List Status Page Severities outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-severities-severity_id path: /status_pages/{id}/severities/{severity_id} operations: - name: getstatuspageseverity method: GET description: PagerDuty Get a Status Page Severity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-statuses path: /status_pages/{id}/statuses operations: - name: liststatuspagestatuses method: GET description: PagerDuty List Status Page Statuses outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-statuses-status_id path: /status_pages/{id}/statuses/{status_id} operations: - name: getstatuspagestatus method: GET description: PagerDuty Get a Status Page Status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: status_pages-id-subscriptions path: /status_pages/{id}/subscriptions operations: - name: liststatuspagesubscriptions method: GET description: PagerDuty List Status Page Subscriptions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createstatuspagesubscription method: POST description: PagerDuty Create a Status Page Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: status_pages-id-subscriptions-subscription_id path: /status_pages/{id}/subscriptions/{subscription_id} operations: - name: getstatuspagesubscription method: GET description: PagerDuty Get a Status Page Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletestatuspagesubscription method: DELETE description: PagerDuty Delete a Status Page Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authorization value: '{{env.PAGERDUTY_API_KEY}}' placement: header exposes: - type: rest namespace: pagerduty-status-pages-rest port: 8080 description: REST adapter for PagerDuty API — Status Pages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/status-pages name: status-pages description: REST surface for status_pages. operations: - method: GET name: liststatuspages description: PagerDuty List Status Pages call: pagerduty-status-pages.liststatuspages outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/impacts name: status-pages-id-impacts description: REST surface for status_pages-id-impacts. operations: - method: GET name: liststatuspageimpacts description: PagerDuty List Status Page Impacts call: pagerduty-status-pages.liststatuspageimpacts outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/impacts/{impact-id} name: status-pages-id-impacts-impact-id description: REST surface for status_pages-id-impacts-impact_id. operations: - method: GET name: getstatuspageimpact description: PagerDuty Get a Status Page Impact call: pagerduty-status-pages.getstatuspageimpact outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/posts name: status-pages-id-posts description: REST surface for status_pages-id-posts. operations: - method: GET name: liststatuspageposts description: PagerDuty List Status Page Posts call: pagerduty-status-pages.liststatuspageposts outputParameters: - type: object mapping: $. - method: POST name: createstatuspagepost description: PagerDuty Create a Status Page Post call: pagerduty-status-pages.createstatuspagepost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/posts/{post-id} name: status-pages-id-posts-post-id description: REST surface for status_pages-id-posts-post_id. operations: - method: GET name: getstatuspagepost description: PagerDuty Get a Status Page Post call: pagerduty-status-pages.getstatuspagepost outputParameters: - type: object mapping: $. - method: PUT name: updatestatuspagepost description: PagerDuty Update a Status Page Post call: pagerduty-status-pages.updatestatuspagepost with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletestatuspagepost description: PagerDuty Delete a Status Page Post call: pagerduty-status-pages.deletestatuspagepost outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/posts/{post-id}/post-updates name: status-pages-id-posts-post-id-post-updates description: REST surface for status_pages-id-posts-post_id-post_updates. operations: - method: GET name: liststatuspagepostupdates description: PagerDuty List Status Page Post Updates call: pagerduty-status-pages.liststatuspagepostupdates outputParameters: - type: object mapping: $. - method: POST name: createstatuspagepostupdate description: PagerDuty Create a Status Page Post Update call: pagerduty-status-pages.createstatuspagepostupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/posts/{post-id}/post-updates/{post-update-id} name: status-pages-id-posts-post-id-post-updates-post-update-id description: REST surface for status_pages-id-posts-post_id-post_updates-post_update_id. operations: - method: GET name: getpostupdate description: PagerDuty Get a Status Page Post Update call: pagerduty-status-pages.getpostupdate outputParameters: - type: object mapping: $. - method: PUT name: updatestatuspagepostupdate description: PagerDuty Update a Status Page Post Update call: pagerduty-status-pages.updatestatuspagepostupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletestatuspagepostupdate description: PagerDuty Delete a Status Page Post Update call: pagerduty-status-pages.deletestatuspagepostupdate outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/posts/{post-id}/postmortem name: status-pages-id-posts-post-id-postmortem description: REST surface for status_pages-id-posts-post_id-postmortem. operations: - method: GET name: getpostmortem description: PagerDuty Get a Post Postmortem call: pagerduty-status-pages.getpostmortem outputParameters: - type: object mapping: $. - method: POST name: createstatuspagepostmortem description: PagerDuty Create a Post Postmortem call: pagerduty-status-pages.createstatuspagepostmortem with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatestatuspagepostmortem description: PagerDuty Update a Post Postmortem call: pagerduty-status-pages.updatestatuspagepostmortem with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletestatuspagepostmortem description: PagerDuty Delete a Post Postmortem call: pagerduty-status-pages.deletestatuspagepostmortem outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/services name: status-pages-id-services description: REST surface for status_pages-id-services. operations: - method: GET name: liststatuspageservices description: PagerDuty List Status Page Services call: pagerduty-status-pages.liststatuspageservices outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/services/{service-id} name: status-pages-id-services-service-id description: REST surface for status_pages-id-services-service_id. operations: - method: GET name: getstatuspageservice description: PagerDuty Get a Status Page Service call: pagerduty-status-pages.getstatuspageservice outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/severities name: status-pages-id-severities description: REST surface for status_pages-id-severities. operations: - method: GET name: liststatuspageseverities description: PagerDuty List Status Page Severities call: pagerduty-status-pages.liststatuspageseverities outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/severities/{severity-id} name: status-pages-id-severities-severity-id description: REST surface for status_pages-id-severities-severity_id. operations: - method: GET name: getstatuspageseverity description: PagerDuty Get a Status Page Severity call: pagerduty-status-pages.getstatuspageseverity outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/statuses name: status-pages-id-statuses description: REST surface for status_pages-id-statuses. operations: - method: GET name: liststatuspagestatuses description: PagerDuty List Status Page Statuses call: pagerduty-status-pages.liststatuspagestatuses outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/statuses/{status-id} name: status-pages-id-statuses-status-id description: REST surface for status_pages-id-statuses-status_id. operations: - method: GET name: getstatuspagestatus description: PagerDuty Get a Status Page Status call: pagerduty-status-pages.getstatuspagestatus outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/subscriptions name: status-pages-id-subscriptions description: REST surface for status_pages-id-subscriptions. operations: - method: GET name: liststatuspagesubscriptions description: PagerDuty List Status Page Subscriptions call: pagerduty-status-pages.liststatuspagesubscriptions outputParameters: - type: object mapping: $. - method: POST name: createstatuspagesubscription description: PagerDuty Create a Status Page Subscription call: pagerduty-status-pages.createstatuspagesubscription with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-pages/{id}/subscriptions/{subscription-id} name: status-pages-id-subscriptions-subscription-id description: REST surface for status_pages-id-subscriptions-subscription_id. operations: - method: GET name: getstatuspagesubscription description: PagerDuty Get a Status Page Subscription call: pagerduty-status-pages.getstatuspagesubscription outputParameters: - type: object mapping: $. - method: DELETE name: deletestatuspagesubscription description: PagerDuty Delete a Status Page Subscription call: pagerduty-status-pages.deletestatuspagesubscription outputParameters: - type: object mapping: $. - type: mcp namespace: pagerduty-status-pages-mcp port: 9090 transport: http description: MCP adapter for PagerDuty API — Status Pages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pagerduty-list-status-pages description: PagerDuty List Status Pages hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspages outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-impacts description: PagerDuty List Status Page Impacts hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspageimpacts outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-impact description: PagerDuty Get a Status Page Impact hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspageimpact outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-posts description: PagerDuty List Status Page Posts hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspageposts outputParameters: - type: object mapping: $. - name: pagerduty-create-status-page-post description: PagerDuty Create a Status Page Post hints: readOnly: false destructive: false idempotent: false call: pagerduty-status-pages.createstatuspagepost with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-post description: PagerDuty Get a Status Page Post hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspagepost outputParameters: - type: object mapping: $. - name: pagerduty-update-status-page-post description: PagerDuty Update a Status Page Post hints: readOnly: false destructive: false idempotent: true call: pagerduty-status-pages.updatestatuspagepost with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-delete-status-page-post description: PagerDuty Delete a Status Page Post hints: readOnly: false destructive: true idempotent: true call: pagerduty-status-pages.deletestatuspagepost outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-post description: PagerDuty List Status Page Post Updates hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspagepostupdates outputParameters: - type: object mapping: $. - name: pagerduty-create-status-page-post-2 description: PagerDuty Create a Status Page Post Update hints: readOnly: false destructive: false idempotent: false call: pagerduty-status-pages.createstatuspagepostupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-post-2 description: PagerDuty Get a Status Page Post Update hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getpostupdate outputParameters: - type: object mapping: $. - name: pagerduty-update-status-page-post-2 description: PagerDuty Update a Status Page Post Update hints: readOnly: false destructive: false idempotent: true call: pagerduty-status-pages.updatestatuspagepostupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-delete-status-page-post-2 description: PagerDuty Delete a Status Page Post Update hints: readOnly: false destructive: true idempotent: true call: pagerduty-status-pages.deletestatuspagepostupdate outputParameters: - type: object mapping: $. - name: pagerduty-get-post-postmortem description: PagerDuty Get a Post Postmortem hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getpostmortem outputParameters: - type: object mapping: $. - name: pagerduty-create-post-postmortem description: PagerDuty Create a Post Postmortem hints: readOnly: false destructive: false idempotent: false call: pagerduty-status-pages.createstatuspagepostmortem with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-update-post-postmortem description: PagerDuty Update a Post Postmortem hints: readOnly: false destructive: false idempotent: true call: pagerduty-status-pages.updatestatuspagepostmortem with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-delete-post-postmortem description: PagerDuty Delete a Post Postmortem hints: readOnly: false destructive: true idempotent: true call: pagerduty-status-pages.deletestatuspagepostmortem outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-services description: PagerDuty List Status Page Services hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspageservices outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-service description: PagerDuty Get a Status Page Service hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspageservice outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-severities description: PagerDuty List Status Page Severities hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspageseverities outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-severity description: PagerDuty Get a Status Page Severity hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspageseverity outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-statuses description: PagerDuty List Status Page Statuses hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspagestatuses outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-status description: PagerDuty Get a Status Page Status hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspagestatus outputParameters: - type: object mapping: $. - name: pagerduty-list-status-page-subscriptions description: PagerDuty List Status Page Subscriptions hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.liststatuspagesubscriptions outputParameters: - type: object mapping: $. - name: pagerduty-create-status-page-subscription description: PagerDuty Create a Status Page Subscription hints: readOnly: false destructive: false idempotent: false call: pagerduty-status-pages.createstatuspagesubscription with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-get-status-page-subscription description: PagerDuty Get a Status Page Subscription hints: readOnly: true destructive: false idempotent: true call: pagerduty-status-pages.getstatuspagesubscription outputParameters: - type: object mapping: $. - name: pagerduty-delete-status-page-subscription description: PagerDuty Delete a Status Page Subscription hints: readOnly: false destructive: true idempotent: true call: pagerduty-status-pages.deletestatuspagesubscription outputParameters: - type: object mapping: $.