{"openapi":"3.1.0","info":{"title":"PagerDuty Status Pages (BYOK) API","version":"0.1.0","description":"PagerDuty Status Pages (BYOK) lets an AI assistant read your own PagerDuty Status Pages data through the PagerDuty Status Pages API with a key you supply (REST API key). Read-only: 8 tools (list_status_pages, list_status_page_services, list_status_page_severities, list_status_page_statuses, list_status_page_impacts, list_posts, list_post_updates, get_post_postmortem). The BYOK key travels with...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-pagerduty-status-pages.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-pagerduty-status-pages/docs"},"termsOfService":"https://connectorbay.com/byok-pagerduty-status-pages/terms"},"servers":[{"url":"https://byok-pagerduty-status-pages.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-pagerduty-status-pages/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_status_pages":{"post":{"operationId":"list_status_pages","summary":"List status pages with name, public or private type, URL and publish time. Use for \"Which PagerDuty status pages do I ha","description":"List status pages with name, public or private type, URL and publish time. Use for \"Which PagerDuty status pages do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_type":{"anyOf":[{"enum":["public","private"],"type":"string"},{"type":"null"}],"default":null,"description":"Only public or only private status pages.","title":"Status Page Type"}},"title":"list_status_pagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_status_page_services":{"post":{"operationId":"list_status_page_services","summary":"List the services shown on a status page, with the business service each maps to. Use for \"Which components appear on Pa","description":"List the services shown on a status page, with the business service each maps to. Use for \"Which components appear on PagerDuty status page PSP0001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"}},"required":["status_page_id"],"title":"list_status_page_servicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_status_page_severities":{"post":{"operationId":"list_status_page_severities","summary":"List the severity levels available for posts of a status page. Use for \"Which severities can PagerDuty status page PSP00","description":"List the severity levels available for posts of a status page. Use for \"Which severities can PagerDuty status page PSP0001 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_type":{"anyOf":[{"enum":["incident","maintenance"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items for this post type.","title":"Post Type"}},"required":["status_page_id"],"title":"list_status_page_severitiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_status_page_statuses":{"post":{"operationId":"list_status_page_statuses","summary":"List the statuses (investigating, identified, monitoring ...) available for posts of a status page. Use for \"Which statu","description":"List the statuses (investigating, identified, monitoring ...) available for posts of a status page. Use for \"Which statuses can PagerDuty status page PSP0001 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_type":{"anyOf":[{"enum":["incident","maintenance"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items for this post type.","title":"Post Type"}},"required":["status_page_id"],"title":"list_status_page_statusesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_status_page_impacts":{"post":{"operationId":"list_status_page_impacts","summary":"List the impact levels (operational, degraded, outage ...) a status page can assign to a service. Use for \"Which impact ","description":"List the impact levels (operational, degraded, outage ...) a status page can assign to a service. Use for \"Which impact levels does PagerDuty status page PSP0001 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_type":{"anyOf":[{"enum":["incident","maintenance"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items for this post type.","title":"Post Type"}},"required":["status_page_id"],"title":"list_status_page_impactsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_posts":{"post":{"operationId":"list_posts","summary":"List incident and maintenance posts of a status page with title, start and end time, linked resources and their updates.","description":"List incident and maintenance posts of a status page with title, start and end time, linked resources and their updates. Use for \"What incidents were posted on PagerDuty status page PSP0001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_type":{"anyOf":[{"enum":["incident","maintenance"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items for this post type.","title":"Post Type"},"reviewed_status":{"anyOf":[{"enum":["approved","not_reviewed"],"type":"string"},{"type":"null"}],"default":null,"description":"Only posts with this review status.","title":"Reviewed Status"}},"required":["status_page_id"],"title":"list_postsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_post_updates":{"post":{"operationId":"list_post_updates","summary":"List the updates of one status page post: message, status, severity, impacted services and report time. Use for \"What up","description":"List the updates of one status page post: message, status, severity, impacted services and report time. Use for \"What updates were posted for PagerDuty post PPOST01\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_id":{"description":"Post ID from list_posts.","maxLength":40,"title":"Post Id","type":"string"},"reviewed_status":{"anyOf":[{"enum":["approved","not_reviewed"],"type":"string"},{"type":"null"}],"default":null,"description":"Only updates with this review status.","title":"Reviewed Status"}},"required":["status_page_id","post_id"],"title":"list_post_updatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_post_postmortem":{"post":{"operationId":"get_post_postmortem","summary":"Get the postmortem message attached to a status page post. Use for \"Show the postmortem of PagerDuty post PPOST01\".","description":"Get the postmortem message attached to a status page post. Use for \"Show the postmortem of PagerDuty post PPOST01\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_page_id":{"description":"Status page ID from list_status_pages.","maxLength":40,"title":"Status Page Id","type":"string"},"post_id":{"description":"Post ID from list_posts.","maxLength":40,"title":"Post Id","type":"string"}},"required":["status_page_id","post_id"],"title":"get_post_postmortemArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}