VX Agents

OpenAPI Marketplace · Developer Tools

PagerDuty Incidents

v1.0.0 · 12 endpoints · 0 connections · shared by vx.ai

Lets an agent work PagerDuty incidents: see who is on call, list and read open incidents with their alerts, timeline and notes, add notes, acknowledge, resolve or reassign incidents, and open a new incident on a service. Curated from PagerDuty's official OpenAPI specification.

Connect this API to an AI agent Browse all specs

What you can do with PagerDuty Incidents via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /users/me getCurrentUser Get the user that owns the API token
GET /oncalls listOnCalls See who is on call, per schedule and escalation policy
GET /services listServices List services, optionally filtered by name
GET /services/{id} getService Get a service and its escalation policy
GET /incidents listIncidents List incidents by status, service, urgency or date
POST /incidents createIncident Open a new incident on a service (pages the on-call)
GET /incidents/{id} getIncident Get an incident's status, assignees and service
PUT /incidents/{id} updateIncident Acknowledge, resolve, reassign or change urgency of an incident
GET /incidents/{id}/alerts listIncidentAlerts List the alerts grouped into an incident
GET /incidents/{id}/log_entries listIncidentLogEntries Get an incident's timeline (triggers, notifications, acks)
GET /incidents/{id}/notes listIncidentNotes List notes on an incident
POST /incidents/{id}/notes createIncidentNote Add a note to an incident

Authentication

apiToken

API key — sent as the Authorization header

PagerDuty REST API key, sent as Authorization: Token token=<key>.

How to get a credential

  1. User token (recommended): in PagerDuty open My Profile > User Settings > Create API User Token. It acts as you and respects your role.
  2. Account key (admins): Integrations > API Access Keys > Create New API Key. Untick Read-only if the agent must acknowledge, resolve or create incidents.
  3. Copy the key (shown once) and enter the credential value as Token token=<your-key>.

Permissions used

REST API keys are not scoped per endpoint; access follows the key type and your role.

Access Operations
Read getCurrentUser (user token only), listIncidents, getIncident, listIncidentAlerts, listIncidentLogEntries, listIncidentNotes, listOnCalls, listServices, getService
Write (not read-only) createIncident, updateIncident, createIncidentNote

Common errors

  • 401 Unauthorized: the value must be Token token=<key> (not Bearer), or the key was revoked.
  • 403 Forbidden: a read-only key was used for a write, or your role cannot see that team's incidents.
  • 400 Bad Request: the From header is missing or is not the email of a PagerDuty user (required on writes with account keys), or the body is malformed.
  • 429 Too Many Requests: about 960 requests/minute per key; back off and retry after a few seconds.

Store the key as a VX Agents credential so it is never pasted into chat.

Usage guide

Setup

  • Add a PagerDuty REST API key as the credential, entered as Token token=<key> (a user token is best: actions are logged under your name).
  • Preset From to the email of your PagerDuty user. Write operations (updateIncident, createIncident, createIncidentNote) require it.
  • Accept is pinned to application/vnd.pagerduty+json;version=2; leave it as is.

Respond to an incident

  1. listOnCalls (optionally schedule_ids[], escalation_policy_ids[], earliest=true) to see who is on call now.
  2. listIncidents with statuses[]=triggered and statuses[]=acknowledged (optionally service_ids[], urgencies[]=high, since/until) to find open incidents.
  3. getIncident with the incident id for title, status, urgency, service and assignees.
  4. listIncidentAlerts for the raw alert details, listIncidentLogEntries (is_overview=true for a short timeline), and listIncidentNotes for what responders already wrote.
  5. createIncidentNote with {"note": {"content": "..."}} to record findings.
  6. Show the user the planned change and wait for confirmation, then updateIncident with {"incident": {"type": "incident_reference", "status": "acknowledged"}} or "resolved" (add resolution). Reassign with assignments: [{"assignee": {"id": "<user id>", "type": "user_reference"}}], or change urgency / escalation_level.

Open a new incident

  1. listServices with query (service name) to get the service id.
  2. Confirm with the user first: a new incident pages the on-call responder.
  3. createIncident with {"incident": {"type": "incident", "title": "...", "service": {"id": "<service id>", "type": "service_reference"}, "urgency": "high", "body": {"type": "incident_body", "details": "..."}}}. Add incident_key to avoid duplicates.

Good to know

  • Ids are short strings like PABC123; the incident incident_number is the human number shown in the UI.
  • Times are ISO 8601 (e.g. 2026-10-14T08:00:00Z); since/until cover at most 6 months.
  • Lists use limit (max 100) and offset; check more in the response for another page.
  • getCurrentUser only works with a user token, not an account-level key.
  • This spec cannot delete or merge incidents or change services.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “PagerDuty Incidents” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs