{"openapi":"3.1.0","info":{"title":"PagerDuty Event Orchestrations (BYOK) API","version":"0.1.0","description":"PagerDuty Event Orchestrations (BYOK) lets an AI assistant read your own PagerDuty Event Orchestrations data through the PagerDuty Event Orchestrations API with a key you supply (REST API key). Read-only: 10 tools (list_orchestrations, get_orchestration, get_router_rules, get_global_rules, get_unrouted_rules, get_service_orchestration, get_service_orchestration_status,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-pagerduty-event-orchestrations.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-pagerduty-event-orchestrations/docs"},"termsOfService":"https://connectorbay.com/byok-pagerduty-event-orchestrations/terms"},"servers":[{"url":"https://byok-pagerduty-event-orchestrations.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-pagerduty-event-orchestrations/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_orchestrations":{"post":{"operationId":"list_orchestrations","summary":"List global event orchestrations with name, description, team, number of routes and update time. Routing keys are not re","description":"List global event orchestrations with name, description, team, number of routes and update time. Routing keys are not returned by this tool. Use for \"Which PagerDuty event orchestrations do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sort_by":{"anyOf":[{"enum":["name:asc","name:desc","routes:asc","routes:desc","created_at:asc","created_at:desc"],"type":"string"},{"type":"null"}],"default":"name:asc","description":"Sort field and direction.","title":"Sort By"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"title":"list_orchestrationsArguments","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_orchestration":{"post":{"operationId":"get_orchestration","summary":"Get one global event orchestration by id: name, description, team, route count and version. Routing keys are not returne","description":"Get one global event orchestration by id: name, description, team, route count and version. Routing keys are not returned by this tool. Use for \"Show PagerDuty event orchestration PORCH01\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orchestration_id":{"description":"Event orchestration ID from list_orchestrations.","maxLength":60,"title":"Orchestration Id","type":"string"}},"required":["orchestration_id"],"title":"get_orchestrationArguments","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_router_rules":{"post":{"operationId":"get_router_rules","summary":"Get the router rules of a global orchestration: rule sets with conditions and the service each rule routes to, plus the ","description":"Get the router rules of a global orchestration: rule sets with conditions and the service each rule routes to, plus the catch-all route. Use for \"How does PagerDuty orchestration PORCH01 route events to services\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orchestration_id":{"description":"Event orchestration ID from list_orchestrations.","maxLength":60,"title":"Orchestration Id","type":"string"}},"required":["orchestration_id"],"title":"get_router_rulesArguments","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_global_rules":{"post":{"operationId":"get_global_rules","summary":"Get the global rules of an orchestration (applied to every event): rule sets with conditions and actions such as severit","description":"Get the global rules of an orchestration (applied to every event): rule sets with conditions and actions such as severity, priority, suppress or annotate, plus the catch-all. Use for \"What global rules does PagerDuty orchestration PORCH01 apply\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orchestration_id":{"description":"Event orchestration ID from list_orchestrations.","maxLength":60,"title":"Orchestration Id","type":"string"}},"required":["orchestration_id"],"title":"get_global_rulesArguments","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_unrouted_rules":{"post":{"operationId":"get_unrouted_rules","summary":"Get the unrouted rules of an orchestration (applied to events that match no router rule). Use for \"What happens to unrou","description":"Get the unrouted rules of an orchestration (applied to events that match no router rule). Use for \"What happens to unrouted events in PagerDuty orchestration PORCH01\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orchestration_id":{"description":"Event orchestration ID from list_orchestrations.","maxLength":60,"title":"Orchestration Id","type":"string"}},"required":["orchestration_id"],"title":"get_unrouted_rulesArguments","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_service_orchestration":{"post":{"operationId":"get_service_orchestration","summary":"Get the service event orchestration of a service: rule sets with conditions and actions plus the catch-all. Use for \"Wha","description":"Get the service event orchestration of a service: rule sets with conditions and actions plus the catch-all. Use for \"What event rules does PagerDuty service PXYZ789 apply\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Service ID (for example 'PXYZ789').","maxLength":40,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"get_service_orchestrationArguments","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_service_orchestration_status":{"post":{"operationId":"get_service_orchestration_status","summary":"Tell whether events of a service are evaluated by its service orchestration (true) or by its legacy ruleset (false). Use","description":"Tell whether events of a service are evaluated by its service orchestration (true) or by its legacy ruleset (false). Use for \"Is the service orchestration active for PagerDuty service PXYZ789\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Service ID (for example 'PXYZ789').","maxLength":40,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"get_service_orchestration_statusArguments","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_orchestration_cache_variables":{"post":{"operationId":"list_orchestration_cache_variables","summary":"List cache variables of a global orchestration (event data stored for use in rule conditions): name, source, regex and e","description":"List cache variables of a global orchestration (event data stored for use in rule conditions): name, source, regex and enabled state. Use for \"Which cache variables does PagerDuty orchestration PORCH01 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orchestration_id":{"description":"Event orchestration ID from list_orchestrations.","maxLength":60,"title":"Orchestration Id","type":"string"}},"required":["orchestration_id"],"title":"list_orchestration_cache_variablesArguments","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_service_cache_variables":{"post":{"operationId":"list_service_cache_variables","summary":"List cache variables of a service orchestration: name, source, regex and enabled state. Use for \"Which cache variables d","description":"List cache variables of a service orchestration: name, source, regex and enabled state. Use for \"Which cache variables does PagerDuty service PXYZ789 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Service ID (for example 'PXYZ789').","maxLength":40,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"list_service_cache_variablesArguments","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_rulesets":{"post":{"operationId":"list_rulesets","summary":"List legacy rulesets (end-of-life event rules) with name, team and creation time. Routing keys are not returned by this ","description":"List legacy rulesets (end-of-life event rules) with name, team and creation time. Routing keys are not returned by this tool. Use for \"Which legacy PagerDuty rulesets exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"title":"list_rulesetsArguments","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}}}}