### Example response for Get Service Orchestration Source: https://docs.pagerduty.com/developer/api/reference/rest/event-orchestrations/get-orch-path-service Shows a sample 200 response body with the orchestration_path object, including rule sets 'start' and 'step-two' with their rules, conditions, and actions. ```json { "orchestration_path": { "type": "service", "parent": { "id": "PC2D9ML", "self": "https://api.pagerduty.com/service/PC2D9ML", "type": "service_reference" }, "self": "https://api.pagerduty.com/event_orchestrations/service/PC2D9ML", "sets": [ { "id": "start", "rules": [ { "label": "Always apply some consistent event transformations to every event sent to this Service", "id": "c91f72f3", "conditions": [], "actions": { "variables": [ { "name": "hostname", "path": "event.component", "value": "hostname: (.*)", "type": "regex" } ], "extractions": [ { "template": "{{variables.hostname}}", "target": "event.custom_details.hostname" }, { "source": "event.source", "regex": "www (.*) service", "target": "event.source" } ], "pagerduty_automation_actions": [ { "action_id": "01CSB5SMOKCKVRI5GN0LJG7SMB", "trigger_types": [ "alert_triggered" ] } ], "route_to": "step-two", "incident_custom_field_updates": [ { "id": "PEXCK89", "value": "#my-team-channel" }, { "id": "PN1C4A2", "value": "{{event.timestamp}}" } ] } } ] }, { "id": "step-two", "rules": [ { "label": "All critical alerts should be treated as P1 incidents", "id": "7c54529d", "conditions": [ { "expression": "event.severity matches 'critical'" } ], "actions": { "annotate": "Please use our P1 runbook: https://docs.test/p1-runbook", "priority": "P0IN2KQ", "suppress": false, "incident_custom_field_updates": [ { "id": "PEXCK89", "value": "#p1-incident-response" } ] } }, { "label": "If there's something wrong on the canary let the team know about it in our deployments Slack channel", "id": "1f6d9a33", "conditions": [ { "expression": "event.custom_details.hostname matches part 'canary'" } ], "actions": { "automation_actions": [ { "name": "Canary Slack Notification", "url": "https://our-slack-listerner.test/send-notification", "auto_send": true, "headers": [ { "key": "X-Notification-Source", "value": "PagerDuty Incident Webhook" } ] } ] } } ] } ] } } ``` -------------------------------- ### Example response for get user Source: https://docs.pagerduty.com/developer/api/reference/scim/users/get-user Example JSON response returned by the get user endpoint, showing user details such as displayName, id, and roles. ```json { "active": true, "displayName": "Fake User", "entitlements": [ { "type": "license", "value": "PABC123" } ], "externalId": "00ujl29u0le5T6Aj10h7", "id": "AGKWDNQ24N4SXBBWYENPROSIYQ", "meta": { "resourceType": "User" }, "roles": [ { "primary": true, "type": "base", "value": "user" } ], "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "timezone": "America/New_York", "title": "Software Developer", "userName": "fake.user@example.com" } ``` -------------------------------- ### Example response for get override Source: https://docs.pagerduty.com/developer/api/reference/rest/schedules_v3/get-override Example JSON response returned by the endpoint, containing the override details such as ID, type, start time, and end time. ```json { "override": { "id": "ABCDE12345FGHIJ67890KLMNO", "type": "override_shift", "start_time": "2025-03-15T09:00:00Z", "end_time": "2025-03-15T17:00:00Z" } } ``` -------------------------------- ### Get a vendor response example Source: https://docs.pagerduty.com/developer/api/reference/rest/vendors/get-vendor Example response body for a successful GET request to /vendors/{id}. Shows the vendor object with fields such as id, type, summary, self, name, website_url, logo_url, thumbnail_url, description, and integration_guide_url. ```json { "vendor": [ { "id": "PZQ6AUS", "type": "vendor", "summary": "Amazon CloudWatch", "self": "https://api.pagerduty.com/vendors/PZQ6AUS", "name": "Amazon CloudWatch", "website_url": "https://aws.amazon.com/cloudwatch", "logo_url": "https://s3.amazonaws.com/pdpartner/cloudwatch_large.png", "thumbnail_url": "https://s3.amazonaws.com/pdpartner/cloudwatch_thumb.png", "description": "Amazon Web Services CloudWatch provides monitoring for AWS cloud resources and customer-run applications. AWS can collect data, gain insight, and alert users to fix problems within applications and organizations. AWS CloudWatch gives system-wide visibility into resource utilization and notifications can be set for when any metrics cross a specified threshold.", "integration_guide_url": "http://www.pagerduty.com/docs/guides/aws-cloudwatch-integration-guide/" } ] } ``` -------------------------------- ### Get an Add-on Response Example Source: https://docs.pagerduty.com/developer/api/reference/rest/add-ons/get-addon Example response body for a successful GET request to the Add-ons endpoint. It contains the Add-on details including its ID, type, name, source URL, and associated services. ```json { "addon": { "id": "PKX7F81", "type": "incident_show_addon", "name": "Service Runbook", "src": "https://intranet.example.com/runbook.html", "services": [ { "id": "PIJ90N7", "type": "service", "summary": "My Application Service", "self": "https://api.pagerduty.com/services/PIJ90N7", "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7" } ] } } ``` -------------------------------- ### GET /addons Source: https://docs.pagerduty.com/developer/api/reference/rest/add-ons/list-addon Lists all Add-ons installed on your account. Supports pagination and filtering. ```APIDOC ## GET /addons ### Description List all of the Add-ons installed on your account. Add-ons are pieces of functionality that developers can write to insert new functionality into PagerDuty's UI. ### Method GET ### Endpoint `https://api.pagerduty.com/addons` ### Authorization - **Authorization** (string, header) - Required - The API Key with format `Token token=`. Scoped OAuth requires: `addons.read`. ### Header Parameters - **Accept** (string) - Required - The `Accept` header is used as a versioning header. Default: `"application/vnd.pagerduty+json;version=2"`. - **Content-Type** (string) - Required - Default: `"application/json"`. Value in: `"application/json"`. ### Query Parameters - **limit** (integer) - Optional - The number of results per page. - **offset** (integer) - Optional - Offset to start pagination search results. - **total** (boolean) - Optional - By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated. Default: `false`. - **include[]** (array of string) - Optional - Array of additional Models to include in response. Value in: `"services"`. - **service_ids[]** (array of string) - Optional - Filters the results, showing only Add-ons for the given services. - **filter** (string) - Optional - Filters the results, showing only Add-ons of the given type. Value in: `"full_page_addon"`, `"incident_show_addon"`. ### Request Example ``` curl -X GET "https://api.pagerduty.com/addons" \ -H "Accept: application/vnd.pagerduty+json;version=2" \ -H "Content-Type: application/json" \ -H "Authorization: Token token=y_NbAkKc66ryYTWUXYEu" ``` ### Response #### Success Response (200) - **addons** (array) - List of Add-on objects. - **id** (string) - The ID of the Add-on. - **type** (string) - The type of the Add-on reference. - **summary** (string) - A short summary of the Add-on. - **self** (string) - The API resource URL. - **html_url** (string or null) - The HTML URL. - **name** (string) - The name of the Add-on. - **src** (string) - The source URL of the Add-on. - **limit** (integer) - The number of results per page. - **offset** (integer) - Offset to start pagination search results. - **more** (boolean) - Indicates if there are more results. - **total** (integer or null) - The total number of results (if `total` is set to `true`). #### Response Example ``` { "addons": [ { "id": "PKX7619", "type": "full_page_addon_reference", "summary": "Internal Status Page", "self": "https://api.pagerduty.com/addons/PKX7619", "html_url": null, "name": "Internal Status Page", "src": "https://intranet.example.com/status" } ], "limit": 25, "offset": 0, "more": false, "total": null } ``` ### Error Responses - **400** - Bad Request - **401** - Unauthorized - **403** - Forbidden - **429** - Too Many Requests ``` -------------------------------- ### Example response for getting an Automation Action Source: https://docs.pagerduty.com/developer/api/reference/rest/automation-actions/get-automation-action Shows the JSON response body returned by the GET request, containing the action details such as name, type, and permissions. ```json { "action": { "action_data_reference": { "script": "java --version" }, "action_type": "script", "type": "action", "creation_time": "2022-11-08T14:54:02.267989Z", "description": "Restarts apache on the us-west-2-shopping-cart host", "id": "01DA2MLYN0J5EFC1LKWXUKDDKT", "modify_time": "2022-11-08T14:54:02.267989Z", "name": "Restart apache", "only_invocable_on_unresolved_incidents": false, "allow_invocation_manually": true, "allow_invocation_from_event_orchestration": true, "map_to_all_services": false, "privileges": { "permissions": [ "read", "update", "delete", "invoke" ] }, "services": [ { "id": "PRDRWUJ", "type": "service_reference" } ], "teams": [ { "id": "PQ9K7I8", "type": "team_reference" } ] } } ``` -------------------------------- ### Install an Add-on with cURL and Response Source: https://docs.pagerduty.com/developer/api/reference/rest/add-ons/create-addon Install an add-on by sending a POST request to /addons with the addon configuration. The response returns the created addon object with its id, type, summary, self, html_url, name, and src fields. ```bash curl -X POST "https://api.pagerduty.com/addons" \ -H "Accept: application/vnd.pagerduty+json;version=2" \ -H "Content-Type: application/json" \ -H "Authorization: Token token=y_NbAkKc66ryYTWUXYEu" \ -H "Content-Type: application/json" \ -d '{ "addon": { "type": "full_page_addon", "name": "Internal Status Page", "src": "https://intranet.example.com/status" } }' ``` ```json { "addon": { "id": "PKX7619", "type": "full_page_addon_reference", "summary": "Internal Status Page", "self": "https://api.pagerduty.com/addons/PKX7619", "html_url": null, "name": "Internal Status Page", "src": "https://intranet.example.com/status" } } ``` -------------------------------- ### Response: List License Allocations Source: https://docs.pagerduty.com/developer/api/reference/rest/licenses/list-license-allocations Example response body for a successful request. Shows a license allocation with license details, user reference, and allocation timestamp, plus pagination metadata. ```json { "license_allocations": [ { "license": { "id": "PIP248G", "name": "Business (Full User)", "description": "Event Intelligence", "valid_roles": [ "owner", "admin", "user", "limited_user", "observer", "restricted_access" ], "role_group": "FullUser", "summary": "Business (Full User)", "type": "license", "self": null, "html_url": null }, "user": { "id": "PIP248H", "type": "user_reference" }, "allocated_at": "2021-06-01T00:00:00-05:00" } ], "offset": 0, "limit": 1, "more": false, "total": 2 } ``` -------------------------------- ### Response: Get Event Orchestration Router (200) Source: https://docs.pagerduty.com/developer/api/reference/rest/event-orchestrations/get-orch-path-router Example 200 response body returned by the Get Router endpoint. It contains the orchestration_path object with the router type, parent reference, routing rules in the start set, catch_all actions, and metadata such as created_at, updated_at, and version. ```json { "orchestration_path": { "type": "router", "parent": { "id": "b02e973d-9620-4e0a-9edc-00fedf7d4694", "self": "https://api.pagerduty.com/event_orchestrations/b02e973d-9620-4e0a-9edc-00fedf7d4694", "type": "event_orchestration_reference" }, "self": "https://api.pagerduty.com/event_orchestrations/b02e973d-9620-4e0a-9edc-00fedf7d4694/router", "sets": [ { "id": "start", "rules": [ { "label": "Events relating to our relational database", "id": "1c26698b", "conditions": [ { "expression": "event.summary matches part 'database'" }, { "expression": "event.source matches regex 'db[0-9]+-server'" } ], "actions": { "route_to": "PB31XBA" } }, { "label": "Events relating to our www app server", "id": "d9801904", "conditions": [ { "expression": "event.summary matches part 'www'" } ], "actions": { "route_to": "PC2D9ML" } } ] } ], "catch_all": { "actions": { "route_to": "unrouted" } }, "created_at": "2021-11-18T16:42:01Z", "created_by": { "id": "P8B9WR8", "self": "https://api.pagerduty.com/users/P8B9WR8", "type": "user_reference" }, "updated_at": "2021-11-18T16:42:01Z", "updated_by": { "id": "P8B9WR8", "self": "https://api.pagerduty.com/users/P8B9WR8", "type": "user_reference" }, "version": "9co0z4b152oICsoV91_PW2.ww8ip_xap" } } ``` -------------------------------- ### Install and run PagerDuty runner on Ubuntu Source: https://docs.pagerduty.com/ai-automation/automation/automation-actions.md Commands to update Ubuntu, install Java 11, create and navigate to the runner directory, move and rename credentials, download the runner jar, list files, launch the runner, and optionally tail the log. ```shell sudo apt-get update ``` ```shell sudo apt install openjdk-11-jre-headless ``` ```shell mkdir automation_runner ``` ```shell cd automation_runner ``` ```shell mv credentials.pdrunner-creds .pdrunner-creds ``` ```shell wget https://runbook-actions.pagerduty.com/pd-runner.jar ``` ```shell ls -larths ``` ```shell java -jar pd-runner.jar ``` ```shell tail -f /home/ubuntu/automation_runner/runner/logs/runner.log ``` -------------------------------- ### Install PagerDuty Backstage plugins Source: https://docs.pagerduty.com/integrations/backstage-integration-guide.md Install the PagerDuty frontend and backend plugins in a Backstage app from the root directory. ```shell yarn --cwd packages/app add @pagerduty/backstage-plugin yarn --cwd packages/backend add @pagerduty/backstage-plugin-backend ``` -------------------------------- ### 200 response for Get Scribe transcripts Source: https://docs.pagerduty.com/developer/api/reference/rest/incidents/get-incident-scribe-transcripts Example 200 response body containing a list of completed Scribe transcripts. Each entry includes the format, start and end times, scribe ID, and a presigned download URL that expires after one hour. ```json { "scribe_transcripts": [ { "format": "enhanced", "started_at": "2026-09-28T09:22:57.896Z", "scribe_id": "AGQOOUXTMR3TPA3ULKC7KHPZCQ", "ended_at": "2026-09-28T09:24:50.097Z", "download_url": "https://s3.us-west-2.amazonaws.com/example-bucket/AGQOOUXTMR3TPA3ULKC7KHPZCQ_enhanced_transcript.json?X-Amz-Expires=3600&X-Amz-Signature=EXAMPLE" } ] } ``` -------------------------------- ### Example response for listing services Source: https://docs.pagerduty.com/developer/api/reference/rest/services/list-services Shows a sample JSON response with a service object and pagination fields. ```json { "services": [ { "id": "PIJ90N7", "summary": "My Application Service", "type": "service", "self": "https://api.pagerduty.com/services/PIJ90N7", "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7", "name": "My Application Service", "auto_resolve_timeout": 14400, "acknowledgement_timeout": 600, "created_at": "2015-11-06T11:12:51-05:00", "status": "active", "alert_creation": "create_alerts_and_incidents", "alert_grouping_parameters": { "type": "intelligent" }, "integrations": [ { "id": "PQ12345", "type": "generic_email_inbound_integration_reference", "summary": "Email Integration", "self": "https://api.pagerduty.com/services/PIJ90N7/integrations/PQ12345", "html_url": "https://subdomain.pagerduty.com/services/PIJ90N7/integrations/PQ12345" } ], "escalation_policy": { "id": "PT20YPA", "type": "escalation_policy_reference", "summary": "Another Escalation Policy", "self": "https://api.pagerduty.com/escalation_policies/PT20YPA", "html_url": "https://subdomain.pagerduty.com/escalation_policies/PT20YPA" }, "teams": [ { "id": "PQ9K7I8", "type": "team_reference", "summary": "Engineering", "self": "https://api.pagerduty.com/teams/PQ9K7I8", "html_url": "https://subdomain.pagerduty.com/teams/PQ9K7I8" } ], "incident_urgency_rule": { "type": "use_support_hours", "during_support_hours": { "type": "constant", "urgency": "high" }, "outside_support_hours": { "type": "constant", "urgency": "low" } }, "support_hours": { "type": "fixed_time_per_day", "time_zone": "America/Lima", "start_time": "09:00:00", "end_time": "17:00:00", "days_of_week": [ 1, 2, 3, 4, 5 ] }, "scheduled_actions": [ { "type": "urgency_change", "at": { "type": "named_time", "name": "support_hours_start" }, "to_urgency": "high" } ], "auto_pause_notifications_parameters": { "enabled": true, "timeout": 300 } } ], "limit": 25, "offset": 0, "more": false, "total": null } ``` -------------------------------- ### Example response for Get a tag Source: https://docs.pagerduty.com/developer/api/reference/rest/tags/get-tag Example response body for a successful GET request to the tags endpoint. It shows the tag object with fields such as type, summary, self, label, id, and html_url. ```json { "tag": { "type": "tag", "summary": "Batman", "self": "https://api.pagerduty.com/tags/P5IYCNZ", "label": "Batman", "id": "P5IYCNZ", "html_url": null } } ``` -------------------------------- ### Example response for listing user sessions Source: https://docs.pagerduty.com/developer/api/reference/rest/users/get-user-sessions Example response body for a successful request. Contains a user_sessions array with session details such as id, user_id, created_at, summary (user agent), and type. ```json { "user_sessions": [ { "id": "PXPGF42", "user_id": "PXPGF42", "created_at": "2018-10-06T21:30:42Z", "summary": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36", "type": "browser" } ] } ``` -------------------------------- ### Example response for Get Related Incidents Source: https://docs.pagerduty.com/developer/api/reference/rest/incidents/get-related-incidents Example response body for the Get Related Incidents endpoint. Shows the structure of related incidents with machine learning inferred and service dependency relationships. ```json { "related_incidents": [ { "incident": { "id": "PR2P3RW", "created_at": "2020-11-18T13:08:14Z", "self": "https://api.pagerduty.com/incidents/PR2P3RW", "title": "The server is on fire." }, "relationships": [ { "type": "machine_learning_inferred", "metadata": { "grouping_classification": "similar_contents", "user_feedback": { "positive_feedback_count": 12, "negative_feedback_count": 3 } } }, { "type": "service_dependency", "metadata": { "dependent_services": { "id": "P1L1YEE", "type": "business_service_reference", "self": "https://api.pagerduty.com/business_services/P1L1YEE" }, "supporting_services": { "id": "PNGCNV2", "type": "technical_service_reference", "self": "https://api.pagerduty.com/services/PNGCNV2" } } } ] } ] } ``` -------------------------------- ### Start and Verify PagerDuty Agent Source: https://docs.pagerduty.com/integrations/pagerduty-agent-integration-guide.md Start and check the PagerDuty Agent. Use systemctl for systemd-based systems (e.g., Ubuntu 16.04) or service for SysV init-based systems (e.g., Ubuntu 14.04). If the daemon fails to start, check /var/log/pdagent/pdagentd.log. ```shell systemctl start pdagent.service ``` ```shell sudo systemctl start pdagent sudo systemctl status pdagent ``` ```shell sudo service pdagent start sudo service pdagent status ``` -------------------------------- ### Example response for get alert Source: https://docs.pagerduty.com/developer/api/reference/rest/incidents/get-incident-alert Example JSON response returned by the Get an alert endpoint. It includes alert details such as id, type, summary, status, and references to the associated service and incident. ```json { "alert": { "id": "PT4KHLK", "type": "alert", "summary": "The server is on fire.", "self": "https://api.pagerduty.com/incident/PT4KHLX/alerts/PT4KHLK", "html_url": "https://subdomain.pagerduty.com/alerts/PT4KHLK", "created_at": "2015-10-06T21:30:42Z", "status": "resolved", "alert_key": "baf7cf21b1da41b4b0221008339ff357", "service": { "id": "PIJ90N7", "type": "service_reference", "summary": "My Mail Service", "self": "https://api.pagerduty.com/services/PIJ90N7", "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7" }, "incident": { "id": "PT4KHLX", "type": "incident_reference", "summary": "[#1234] The server is on fire.", "self": "https://api.pagerduty.com/incidents/PT4KHLX", "html_url": "https://subdomain.pagerduty.com/incidents/PT4KHLX" }, "suppressed": false, "severity": "critical", "integration": { "id": "PQ12345", "type": "generic_email_inbound_integration_reference", "summary": "Email Integration", "self": "https://api.pagerduty.com/services/PIJ90N7/integrations/PQ12345", "html_url": "https://subdomain.pagerduty.com/services/PIJ90N7/integrations/PQ12345" } } } ``` -------------------------------- ### Sample response for list rules Source: https://docs.pagerduty.com/developer/api/reference/integration-jira-service/rules/get-rules Example JSON response containing a list of rules with configuration details such as services, projects, issue types, and autocreate incident settings. ```json { "rules": [ { "name": "Sample Rule", "enabled": true, "created_at": "2020-06-02T12:42:37Z", "config": { "sync_comments": true, "services": [ { "id": "PLW70S2", "type": "service_reference", "label": "Jira Integration", "html_url": "https://subdomain.pagerduty.com/service-directory/PLW70S2" }, { "id": "PR5R1T1", "type": "service_reference", "label": "Jira Performance Tests", "html_url": "https://subdomain.pagerduty.com/service-directory/PR5R1T1" } ], "projects": [ { "key": "PD", "id": "10000", "label": "PagerDuty", "html_url": "http://jira.example.com/projects/PD", "icon": "http://jira.example.com/secure/projectavatar?avatarId=10324" }, { "key": "HD", "id": "10001", "label": "Helpdesk", "html_url": "http://jira.example.com/projects/HD", "icon": "http://jira.example.com/secure/projectavatar?avatarId=10324" } ], "issue_types": [ { "id": "10002", "icon": "http://jira.example.com/images/icons/issuetypes/story.svg", "label": "Story" }, { "id": "10003", "icon": "http://jira.example.com/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype", "label": "Task" }, { "id": "10004", "icon": "http://jira.example.com/secure/viewavatar?size=xsmall&avatarId=10303&avatarType=issuetype", "label": "Bug" } ], "autocreate_incidents": true, "autocreate_incidents_config": [ { "jql": "issuetype=Bug", "on_create": true, "on_update": true, "target_service": { "id": "PR5R1T1", "type": "service_reference" }, "actions": [ { "key": "jira_field_set_priority", "label": "Set Priority", "icon": "jira", "isDisabled": false }, { "key": "jira_field_set_labels", "label": "Set Labels", "icon": "jira", "isDisabled": false }, { "key": "pd_set_priority", "label": "Set Incident Priority", "icon": "pd", "isDisabled": false } ], "actions_params": { "jira_field_set_priority": { "label": "Highest", "icon": "http://jira.example.com/images/icons/priorities/highest.svg", "name": "Highest", "id": "1" }, "jira_field_set_labels": [ { "label": "Service name", "icon": "pd", "key": "incident.service.summary" } ], "pd_set_priority": { "id": "PZQ39X0" } } } ] } } ] } ``` -------------------------------- ### Example response for getting an extension vendor Source: https://docs.pagerduty.com/developer/api/reference/rest/extension-schemas/get-extension-schema Example JSON response body returned by the GET /extension_schemas/{id} endpoint. It contains the extension schema details such as id, type, summary, and send_types. ```json { "extension_schema": { "id": "PJFWPEP", "type": "extension_schema", "summary": "Generic Webhook", "self": "https://api.pagerduty.com/extension_schemas/PJFWPEP", "description": "Long description here", "guide_url": "https://developer.pagerduty.com", "icon_url": "https://extension.com/extension.png", "key": "generic_webhook", "label": "Generic Webhook", "logo_url": "https://extension.com/logo.png", "send_types": [ "trigger", "acknowledge", "resolve", "delegate", "escalate", "unacknowledge", "assign" ], "url": "" } } ``` -------------------------------- ### Install Perl SSL libraries on Debian-based systems Source: https://docs.pagerduty.com/integrations/nagios-troubleshooting-guide.md Install required Perl libraries for SSL support on Debian-based systems (e.g., Ubuntu) using aptitude. This is typically step 1 of the integration guide and is necessary when behind a proxy. ```shell aptitude install libwww-perl libcrypt-ssleay-perl ``` -------------------------------- ### Example response for Get Event Enrichment rules Source: https://docs.pagerduty.com/developer/api/reference/rest/event-enrichments/get-event-enrichment-rules Example JSON response returned by the GET endpoint. It contains the orchestration path, rule sets, conditions, actions, and metadata such as created_at and version. ```json { "orchestration_path": { "type": "event_enrichment", "parent": { "id": "AGN4PVDO2F5AZIVWETZ42I6IP4", "type": "event_enrichment_reference", "self": "https://api.pagerduty.com/enrichment/event_enrichments/AGN4PVDO2F5AZIVWETZ42I6IP4" }, "self": "https://api.pagerduty.com/enrichment/event_enrichments/AGN4PVDO2F5AZIVWETZ42I6IP4/rules", "sets": [ { "id": "start", "rules": [ { "id": "ef760c4b", "label": "Enrich events that have an `Application:` in their summary", "conditions": [ { "expression": "event.summary matches part 'Application:'" } ], "actions": { "enrichments": [ { "schema_to_search": "9f194d8d-0f58-4c5c-b1d2-a5adf7171821", "search_values": [ { "path": "event.custom_details.app", "query_field_name": "app_name" } ], "target": "event.custom_details.app_metadata" } ] } } ] } ], "created_at": "2026-02-04T20:02:23Z", "created_by": { "id": "P3HAR9Y", "type": "user_reference", "self": "https://api.pagerduty.com/users/P3HAR9Y" }, "updated_at": "2026-02-10T23:53:48Z", "updated_by": null, "version": "1TpoWwY9xTKVAM2qYmiDl0kN.o9PBQDV" } } ``` -------------------------------- ### Example 200 response for Get a log entry Source: https://docs.pagerduty.com/developer/api/reference/rest/log-entries/get-log-entry Example 200 response body for a successful GET request to /log_entries/{id}. Shows a trigger_log_entry with incident, agent, channel, teams, and event_details fields. ```json { "log_entry": { "id": "Q02JTSNZWHSEKV", "type": "trigger_log_entry", "summary": "Triggered through the API", "self": "https://api.pagerduty.com/log_entries/Q02JTSNZWHSEKV?incident_id=PT4KHLK", "html_url": "https://subdomain.pagerduty.com/incidents/PT4KHLK/log_entries/Q02JTSNZWHSEKV", "created_at": "2015-11-07T00:14:20Z", "agent": { "id": "PIJ90N7", "type": "service_reference", "summary": "My Mail Service", "self": "https://api.pagerduty.com/services/PIJ90N7", "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7" }, "channel": { "type": "api" }, "incident": { "id": "PT4KHLK", "type": "incident_reference", "summary": "[#1234] The server is on fire.", "self": "https://api.pagerduty.com/incidents/PT4KHLK", "html_url": "https://subdomain.pagerduty.com/incidents/PT4KHLK" }, "teams": [ { "id": "PQ9K7I8", "type": "team_reference", "summary": "Engineering", "self": "https://api.pagerduty.com/teams/PQ9K7I8", "html_url": "https://subdomain.pagerduty.com/teams/PQ9K7I8" } ], "contexts": [], "event_details": { "description": "Tasks::SFDCValidator - PD_Data__c - duplicates" } } } ``` -------------------------------- ### Legacy Backend System: Create and Register PagerDuty Plugin Source: https://docs.pagerduty.com/integrations/backstage-integration-guide.md Legacy backend system setup: create the plugin file and then import and register it in the main backend index. The first block defines the plugin using createRouter from @pagerduty/backstage-plugin-backend; the second block shows how to import it and add a route for the PagerDuty APIs. ```typescript import { Router } from 'express'; import { PluginEnvironment } from '../types'; import { createRouter } from '@pagerduty/backstage-plugin-backend'; export default async function createPlugin( env: PluginEnvironment, ): Promise { return await createRouter({ config: env.config, logger: env.logger, }); } ``` ```typescript import pagerduty from './plugins/pagerduty'; // ... async function main() { // … const pagerdutyEnv = useHotMemoize(module, () => createEnv('pagerduty')); // ... apiRouter.use('/pagerduty', await pagerduty(pagerdutyEnv)); ``` -------------------------------- ### Get incident response example Source: https://docs.pagerduty.com/developer/api/reference/rest/incidents/get-incident Example response body for a successful GET request to /incidents/{id}. Shows the incident object with fields like id, status, assignments, escalation policy, and priority. ```json { "incident": { "id": "PT4KHLK", "type": "incident", "summary": "[#1234] The server is on fire.", "self": "https://api.pagerduty.com/incidents/PT4KHLK", "html_url": "https://subdomain.pagerduty.com/incidents/PT4KHLK", "incident_number": 1234, "title": "The server is on fire.", "created_at": "2015-10-06T21:30:42Z", "updated_at": "2015-10-06T21:40:23Z", "status": "acknowledged", "incident_key": "baf7cf21b1da41b4b0221008339ff357", "service": { "id": "PIJ90N7", "type": "service_reference", "summary": "My Mail Service", "self": "https://api.pagerduty.com/services/PIJ90N7", "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7" }, "assignments": [ { "at": "2015-11-10T00:31:52Z", "assignee": { "id": "PXPGF42", "type": "user_reference", "summary": "Earline Greenholt", "self": "https://api.pagerduty.com/users/PXPGF42", "html_url": "https://subdomain.pagerduty.com/users/PXPGF42" } } ], "assigned_via": "escalation_policy", "last_status_change_at": "2015-10-06T21:38:23Z", "resolved_at": null, "first_trigger_log_entry": { "id": "Q02JTSNZWHSEKV", "type": "trigger_log_entry_reference", "summary": "Triggered through the API", "self": "https://api.pagerduty.com/log_entries/Q02JTSNZWHSEKV?incident_id=PT4KHLK", "html_url": "https://subdomain.pagerduty.com/incidents/PT4KHLK/log_entries/Q02JTSNZWHSEKV" }, "alert_counts": { "all": 2, "triggered": 1, "resolved": 1 }, "is_mergeable": true, "incident_type": { "name": "incident_default" }, "escalation_policy": { "id": "PT20YPA", "type": "escalation_policy_reference", "summary": "Another Escalation Policy", "self": "https://api.pagerduty.com/escalation_policies/PT20YPA", "html_url": "https://subdomain.pagerduty.com/escalation_policies/PT20YPA" }, "teams": [ { "id": "PQ9K7I8", "type": "team_reference", "summary": "Engineering", "self": "https://api.pagerduty.com/teams/PQ9K7I8", "html_url": "https://subdomain.pagerduty.com/teams/PQ9K7I8" } ], "pending_actions": [ { "type": "unacknowledge", "at": "2015-11-10T01:02:52Z" }, { "type": "resolve", "at": "2015-11-10T04:31:52Z" } ], "acknowledgements": [ { "at": "2015-11-10T00:32:52Z", "acknowledger": { "id": "PXPGF42", "type": "user_reference", "summary": "Earline Greenholt", "self": "https://api.pagerduty.com/users/PXPGF42", "html_url": "https://subdomain.pagerduty.com/users/PXPGF42" } } ], "alert_grouping": { "grouping_type": "advanced", "started_at": "2015-10-06T21:30:42Z", "ended_at": null, "alert_grouping_active": true }, "last_status_change_by": { "id": "PXPGF42", "type": "user_reference", "summary": "Earline Greenholt", "self": "https://api.pagerduty.com/users/PXPGF42", "html_url": "https://subdomain.pagerduty.com/users/PXPGF42" }, "priority": { "id": "P53ZZH5", "type": "priority_reference", "summary": "P2" } } } ``` -------------------------------- ### Example response for listing user's OAuth delegations Source: https://docs.pagerduty.com/developer/api/reference/rest/users/list-user-delegations Example JSON response from the GET request. Shows an `oauth_delegations` array with delegation details, plus pagination fields `limit`, `more`, and `next_cursor`. ```json { "oauth_delegations": [ { "id": "e53326c6-a713-409c-8f7e-ps1xczid", "type": "web", "client_id": "PagerDutyLogin", "self": "https://api.pagerduty.com/users/PXPGF42/oauth_delegations/e53326c6-a713-409c-8f7e-ps1xczid", "created_at": "2026-01-01T12:00:00Z", "expires_at": "2026-01-08T12:00:00Z", "status": "issued", "scope": "openid profile" } ], "limit": 25, "more": false, "next_cursor": null } ```