Authenticate with a PagerDuty API token in the Authorization header: Token token=YOUR_TOKEN, with Accept: application/vnd.pagerduty+json;version=2
Retrieve schedule IDs: GET /schedules to list all schedules or GET /schedules/{id} to fetch a specific schedule's layers and current on-call assignments
Create a schedule override: POST /schedules/{id}/overrides with a body containing an array of override objects, each with start (ISO 8601), end (ISO 8601), and a user object with id and type: user_reference
List existing overrides: GET /schedules/{id}/overrides?since=START&until=END to retrieve overrides within a time range and detect conflicts
Delete an override: DELETE /schedules/{id}/overrides/{override_id} to remove a previously created override
Retrieve the current on-call user for a schedule: GET /oncalls?schedule_ids[]=SCHEDULE_ID&time_zone=UTC to confirm the override took effect
Known gotchas
Override start and end times must be in ISO 8601 format with explicit timezone offsets; ambiguous times can result in overrides applied to unintended windows
A single POST to /overrides can create multiple overrides in one request by passing an array — use this for bulk shift swaps to reduce API calls
Overrides do not stack; if two overrides cover the same window, the one created most recently takes precedence — check for conflicts before creating bulk overrides
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp