API route inventory
Generated inventory of implemented HTTP API route modules.
This page classifies route modules implemented under src/app/api. It is an
implementation inventory, not a public stability promise. Alert-ingestion
contracts live in the provider pages; webhook, health, metrics, SCIM, and OIDC
surfaces use their dedicated references. Everything in the internal section is
explicitly unsupported for third-party automation.
Supported general-purpose contracts are documented separately:
Runtime proof scope
The documentation runtime journey smoke-probes every route classified as a supported public API and rejects server failures. A smoke probe is reachability and failure-envelope evidence, not a complete behavioral contract test. Deeper runtime assertions currently cover three groups: authentication/error-envelope behavior, incident list/create/read/update plus idempotent replay, and Events API validation. Certification therefore reports these separately as public APIs smoke-probed and deep contract groups; it does not claim that every public route has a full success/authorization/validation/concurrency matrix.
Application and internal UI endpoints
These routes support the OpsKnight UI and are not a supported external API contract. Do not build external automation against them unless a dedicated contract page says otherwise.
GET /api/action-items/owners—src/app/api/action-items/owners/route.tsPOST /api/admin/generate-reset-link—src/app/api/admin/generate-reset-link/route.tsPOST /api/admin/incident-collaboration/meetings/[meetingId]/retry-cleanup—src/app/api/admin/incident-collaboration/meetings/[meetingId]/retry-cleanup/route.tsGET, POST /api/admin/incident-collaboration—src/app/api/admin/incident-collaboration/route.tsGET, PATCH /api/admin/notifications/capacity—src/app/api/admin/notifications/capacity/route.tsPOST /api/admin/notifications/operations/[id]/retry—src/app/api/admin/notifications/operations/[id]/retry/route.tsGET /api/admin/notifications/operations—src/app/api/admin/notifications/operations/route.tsPOST /api/admin/notifications/providers/[key]/test—src/app/api/admin/notifications/providers/[key]/test/route.tsPOST /api/admin/rollups/backfill—src/app/api/admin/rollups/backfill/route.tsGET /api/admin/rollups/health—src/app/api/admin/rollups/health/route.tsDELETE /api/admin/rollups—src/app/api/admin/rollups/route.tsGET /api/admin/sla-drift—src/app/api/admin/sla-drift/route.tsGET /api/admin/sla-performance—src/app/api/admin/sla-performance/route.tsPOST /api/admin/war-rooms/[warRoomId]/repair—src/app/api/admin/war-rooms/[warRoomId]/repair/route.tsGET /api/admin/war-rooms/[warRoomId]—src/app/api/admin/war-rooms/[warRoomId]/route.tsGET /api/admin/war-rooms—src/app/api/admin/war-rooms/route.tsGET /api/analytics/export—src/app/api/analytics/export/route.tsGET, POST /api/auth/[...nextauth]—src/app/api/auth/[...nextauth]/route.tsPOST /api/auth/forgot-password—src/app/api/auth/forgot-password/route.tsGET /api/auth/oidc/logout-url—src/app/api/auth/oidc/logout-url/route.tsPOST /api/auth/reset-password—src/app/api/auth/reset-password/route.tsGET /api/avatar—src/app/api/avatar/route.tsGET /api/compliance/control-center—src/app/api/compliance/control-center/route.tsGET /api/compliance/controls/[id]/evaluations—src/app/api/compliance/controls/[id]/evaluations/route.tsGET /api/compliance/controls/[id]/evidence—src/app/api/compliance/controls/[id]/evidence/route.tsGET /api/compliance/controls/[id]/framework-mappings—src/app/api/compliance/controls/[id]/framework-mappings/route.tsGET /api/compliance/controls—src/app/api/compliance/controls/route.tsPOST /api/compliance/drift/[id]/acknowledge—src/app/api/compliance/drift/[id]/acknowledge/route.tsGET /api/compliance/drift/[id]—src/app/api/compliance/drift/[id]/route.tsGET /api/compliance/drift—src/app/api/compliance/drift/route.tsGET /api/compliance/encryption/retirement-readiness—src/app/api/compliance/encryption/retirement-readiness/route.tsGET, POST /api/compliance/encryption/runs/[id]—src/app/api/compliance/encryption/runs/[id]/route.tsGET, POST /api/compliance/encryption/runs—src/app/api/compliance/encryption/runs/route.tsGET /api/compliance/encryption/status—src/app/api/compliance/encryption/status/route.tsGET /api/compliance/evaluations/[id]/evidence—src/app/api/compliance/evaluations/[id]/evidence/route.tsPOST /api/compliance/evaluations—src/app/api/compliance/evaluations/route.tsGET /api/compliance/evidence—src/app/api/compliance/evidence/route.tsPOST /api/compliance/exports/preview—src/app/api/compliance/exports/preview/route.tsPOST /api/compliance/exports—src/app/api/compliance/exports/route.tsGET /api/compliance/frameworks/[id]/requirements/[requirementId]—src/app/api/compliance/frameworks/[id]/requirements/[requirementId]/route.tsGET /api/compliance/frameworks/[id]/requirements—src/app/api/compliance/frameworks/[id]/requirements/route.tsGET /api/compliance/frameworks/[id]—src/app/api/compliance/frameworks/[id]/route.tsGET /api/compliance/frameworks—src/app/api/compliance/frameworks/route.tsGET /api/compliance/monitoring—src/app/api/compliance/monitoring/route.tsPOST /api/compliance/monitoring/runs—src/app/api/compliance/monitoring/runs/route.tsGET /api/compliance/privacy-discovery—src/app/api/compliance/privacy-discovery/route.tsPOST /api/compliance/privacy-requests/[id]/assign—src/app/api/compliance/privacy-requests/[id]/assign/route.tsPOST /api/compliance/privacy-requests/[id]/erasure/execute—src/app/api/compliance/privacy-requests/[id]/erasure/execute/route.tsGET /api/compliance/privacy-requests/[id]/erasure/preview—src/app/api/compliance/privacy-requests/[id]/erasure/preview/route.tsGET /api/compliance/privacy-requests/[id]/export/[artifactId]/download—src/app/api/compliance/privacy-requests/[id]/export/[artifactId]/download/route.tsPOST /api/compliance/privacy-requests/[id]/export—src/app/api/compliance/privacy-requests/[id]/export/route.tsGET /api/compliance/privacy-requests/[id]—src/app/api/compliance/privacy-requests/[id]/route.tsPOST /api/compliance/privacy-requests/[id]/transition—src/app/api/compliance/privacy-requests/[id]/transition/route.tsGET, POST /api/compliance/privacy-requests—src/app/api/compliance/privacy-requests/route.tsGET /api/compliance/privacy-requests/subjects—src/app/api/compliance/privacy-requests/subjects/route.tsPOST /api/compliance/retention-holds/[id]/release—src/app/api/compliance/retention-holds/[id]/release/route.tsGET /api/compliance/retention-holds/[id]—src/app/api/compliance/retention-holds/[id]/route.tsGET, POST /api/compliance/retention-holds—src/app/api/compliance/retention-holds/route.tsGET /api/dashboard/analytics—src/app/api/dashboard/analytics/route.tsGET /api/dashboard/metrics—src/app/api/dashboard/metrics/route.tsGET, PUT, DELETE /api/dashboards/[id]—src/app/api/dashboards/[id]/route.tsGET, POST /api/dashboards—src/app/api/dashboards/route.tsPOST /api/events—src/app/api/events/route.tsGET /api/events/stream—src/app/api/events/stream/route.tsGET /api/incidents/[id]/collaboration—src/app/api/incidents/[id]/collaboration/route.tsGET /api/incidents/[id]/context—src/app/api/incidents/[id]/context/route.tsPOST /api/incidents/[id]/custom-fields—src/app/api/incidents/[id]/custom-fields/route.tsGET, POST /api/incidents/[id]/meeting—src/app/api/incidents/[id]/meeting/route.tsGET, PATCH /api/incidents/[id]—src/app/api/incidents/[id]/route.tsPOST, PATCH /api/incidents/[id]/status—src/app/api/incidents/[id]/status/route.tsPOST /api/incidents/[id]/war-rooms/[roomId]/abandon—src/app/api/incidents/[id]/war-rooms/[roomId]/abandon/route.tsPOST /api/incidents/[id]/war-rooms/[roomId]/close—src/app/api/incidents/[id]/war-rooms/[roomId]/close/route.tsPOST /api/incidents/[id]/war-rooms/[roomId]/project—src/app/api/incidents/[id]/war-rooms/[roomId]/project/route.tsPOST /api/incidents/[id]/war-rooms/[roomId]/reconcile—src/app/api/incidents/[id]/war-rooms/[roomId]/reconcile/route.tsPOST /api/incidents/[id]/war-rooms/[roomId]/sync—src/app/api/incidents/[id]/war-rooms/[roomId]/sync/route.tsPOST /api/incidents/[id]/war-rooms/microsoft-teams—src/app/api/incidents/[id]/war-rooms/microsoft-teams/route.tsGET, POST /api/incidents/[id]/war-rooms—src/app/api/incidents/[id]/war-rooms/route.tsPOST /api/incidents/create—src/app/api/incidents/create/route.tsGET /api/incidents/export—src/app/api/incidents/export/route.tsGET, POST /api/incidents—src/app/api/incidents/route.tsPOST /api/jira/test—src/app/api/jira/test/route.tsPOST /api/jira/webhook—src/app/api/jira/webhook/route.tsPOST /api/logs/ingest—src/app/api/logs/ingest/route.tsGET, POST, PATCH, DELETE /api/microsoft-teams/destinations—src/app/api/microsoft-teams/destinations/route.tsGET /api/microsoft-teams/discovery/channels—src/app/api/microsoft-teams/discovery/channels/route.tsGET /api/microsoft-teams/discovery/teams—src/app/api/microsoft-teams/discovery/teams/route.tsGET, POST /api/microsoft-teams/messages—src/app/api/microsoft-teams/messages/route.tsGET /api/microsoft-teams/package—src/app/api/microsoft-teams/package/route.tsPOST /api/microsoft-teams/test—src/app/api/microsoft-teams/test/route.tsPOST, PATCH /api/mobile/incidents/[id]/status—src/app/api/mobile/incidents/[id]/status/route.tsPOST /api/mobile/refresh—src/app/api/mobile/refresh/route.tsGET /api/notifications/history—src/app/api/notifications/history/route.tsGET, PATCH /api/notifications—src/app/api/notifications/route.tsGET /api/notifications/stream—src/app/api/notifications/stream/route.tsPOST /api/notifications/test-push—src/app/api/notifications/test-push/route.tsGET /api/prefer-desktop—src/app/api/prefer-desktop/route.tsGET /api/public-logs—src/app/api/public-logs/route.tsGET /api/realtime/stream—src/app/api/realtime/stream/route.tsGET /api/reports/metrics—src/app/api/reports/metrics/route.tsGET /api/schedules/[id]/calendar.ics—src/app/api/schedules/[id]/calendar.ics/route.tsGET /api/schedules/[id]/oncall—src/app/api/schedules/[id]/oncall/route.tsGET /api/schedules/[id]—src/app/api/schedules/[id]/route.tsGET /api/schedules—src/app/api/schedules/route.tsGET /api/search—src/app/api/search/route.tsGET /api/services/[id]—src/app/api/services/[id]/route.tsGET /api/services—src/app/api/services/route.tsGET, POST /api/settings/app-url—src/app/api/settings/app-url/route.tsGET, DELETE /api/settings/chatops/identities—src/app/api/settings/chatops/identities/route.tsPATCH, DELETE /api/settings/custom-fields/[id]—src/app/api/settings/custom-fields/[id]/route.tsGET, POST /api/settings/custom-fields—src/app/api/settings/custom-fields/route.tsGET /api/settings/email-providers—src/app/api/settings/email-providers/route.tsPOST, DELETE /api/settings/microsoft-teams—src/app/api/settings/microsoft-teams/route.tsGET, POST /api/settings/notifications—src/app/api/settings/notifications/route.tsGET, POST, PUT /api/settings/retention—src/app/api/settings/retention/route.tsPOST, DELETE /api/settings/slack-oauth—src/app/api/settings/slack-oauth/route.tsPOST, PATCH, DELETE /api/settings/status-page/announcements—src/app/api/settings/status-page/announcements/route.tsPOST, DELETE /api/settings/status-page/api-tokens—src/app/api/settings/status-page/api-tokens/route.tsPOST /api/settings/status-page—src/app/api/settings/status-page/route.tsPOST, PATCH /api/settings/status-pages/[pageId]/[section]—src/app/api/settings/status-pages/[pageId]/[section]/route.tsPOST /api/settings/status-pages/[pageId]/make-default—src/app/api/settings/status-pages/[pageId]/make-default/route.tsPOST /api/settings/status-pages/[pageId]/publish—src/app/api/settings/status-pages/[pageId]/publish/route.tsGET, POST, DELETE /api/settings/status-pages—src/app/api/settings/status-pages/route.tsGET /api/sidebar-stats—src/app/api/sidebar-stats/route.tsGET, PATCH, DELETE /api/sla-definitions/[id]—src/app/api/sla-definitions/[id]/route.tsGET, POST /api/sla-definitions—src/app/api/sla-definitions/route.tsGET /api/sla/compliance—src/app/api/sla/compliance/route.tsGET /api/sla/stream—src/app/api/sla/stream/route.tsPOST /api/slack/actions—src/app/api/slack/actions/route.tsPOST /api/slack/channels/leave—src/app/api/slack/channels/leave/route.tsGET, POST /api/slack/channels—src/app/api/slack/channels/route.tsPOST /api/slack/commands—src/app/api/slack/commands/route.tsGET, POST, DELETE /api/slack/destinations—src/app/api/slack/destinations/route.tsDELETE /api/slack/disconnect—src/app/api/slack/disconnect/route.tsPOST /api/slack/events—src/app/api/slack/events/route.tsGET /api/slack/oauth/callback—src/app/api/slack/oauth/callback/route.tsGET /api/slack/oauth—src/app/api/slack/oauth/route.tsPOST /api/slack/test—src/app/api/slack/test/route.tsPOST /api/slack/war-room—src/app/api/slack/war-room/route.tsGET /api/status-page/domains—src/app/api/status-page/domains/route.tsGET /api/status-page/logo/[id]—src/app/api/status-page/logo/[id]/route.tsPOST /api/status-page/subscribe—src/app/api/status-page/subscribe/route.tsGET, DELETE /api/status-page/subscribers—src/app/api/status-page/subscribers/route.tsGET, POST, PATCH, DELETE /api/status-page/webhooks—src/app/api/status-page/webhooks/route.tsPOST /api/status-page/webhooks/test—src/app/api/status-page/webhooks/test/route.tsGET /api/status/[slug]/history—src/app/api/status/[slug]/history/route.tsGET /api/status/[slug]—src/app/api/status/[slug]/route.tsGET /api/status/[slug]/rss—src/app/api/status/[slug]/rss/route.tsPOST /api/status/[slug]/subscribe—src/app/api/status/[slug]/subscribe/route.tsGET /api/status/[slug]/uptime-export—src/app/api/status/[slug]/uptime-export/route.tsGET /api/status/history—src/app/api/status/history/route.tsGET /api/status—src/app/api/status/route.tsGET /api/status/rss—src/app/api/status/rss/route.tsPOST /api/status/subscribe—src/app/api/status/subscribe/route.tsPOST /api/status/subscriptions/unsubscribe—src/app/api/status/subscriptions/unsubscribe/route.tsPOST /api/status/subscriptions/verify—src/app/api/status/subscriptions/verify/route.tsGET /api/status/uptime-export—src/app/api/status/uptime-export/route.tsGET /api/system/vapid-public-key—src/app/api/system/vapid-public-key/route.tsGET /api/teams/[id]/available-users—src/app/api/teams/[id]/available-users/route.tsPOST, DELETE /api/user/push-subscription—src/app/api/user/push-subscription/route.tsPOST /api/user/push-subscription/status—src/app/api/user/push-subscription/status/route.tsGET, POST, DELETE /api/user/sessions—src/app/api/user/sessions/route.tsGET /api/users/[id]/avatar—src/app/api/users/[id]/avatar/route.tsGET, PUT /api/v1/integrations/[id]/response-policy—src/app/api/v1/integrations/[id]/response-policy/route.tsGET, PUT /api/v1/response-policy/classification—src/app/api/v1/response-policy/classification/route.tsGET /api/v1/response-policy/diff—src/app/api/v1/response-policy/diff/route.tsGET /api/v1/response-policy/history—src/app/api/v1/response-policy/history/route.tsPOST /api/v1/response-policy/preview—src/app/api/v1/response-policy/preview/route.tsPOST /api/v1/response-policy/restore—src/app/api/v1/response-policy/restore/route.tsGET, PUT /api/v1/response-policy/sla—src/app/api/v1/response-policy/sla/route.tsGET, PUT /api/v1/response-policy/support-hours—src/app/api/v1/response-policy/support-hours/route.tsGET, PUT /api/v1/response-policy/workspace—src/app/api/v1/response-policy/workspace/route.tsGET /api/v1/service-objectives/[id]/evaluate—src/app/api/v1/service-objectives/[id]/evaluate/route.tsGET /api/v1/service-objectives/[id]/history—src/app/api/v1/service-objectives/[id]/history/route.tsGET, PATCH, DELETE /api/v1/service-objectives/[id]—src/app/api/v1/service-objectives/[id]/route.tsGET /api/v1/service-objectives/[id]/snapshots—src/app/api/v1/service-objectives/[id]/snapshots/route.tsGET /api/v1/service-objectives/[id]/versions—src/app/api/v1/service-objectives/[id]/versions/route.tsGET, POST /api/v1/service-objectives—src/app/api/v1/service-objectives/route.tsGET, PUT /api/v1/services/[id]/response-policy—src/app/api/v1/services/[id]/response-policy/route.tsGET /api/widgets/data—src/app/api/widgets/data/route.tsGET /api/widgets/stream—src/app/api/widgets/stream/route.ts
Operator health and metrics endpoints
GET /api/health/deep—src/app/api/health/deep/route.tsGET /api/health—src/app/api/health/route.tsGET /api/metrics—src/app/api/metrics/route.ts
Alert ingestion endpoints
POST /api/integrations/appdynamics—src/app/api/integrations/appdynamics/route.tsPOST /api/integrations/azure—src/app/api/integrations/azure/route.tsPOST /api/integrations/better-uptime—src/app/api/integrations/better-uptime/route.tsPOST /api/integrations/bitbucket—src/app/api/integrations/bitbucket/route.tsPOST /api/integrations/cloudwatch—src/app/api/integrations/cloudwatch/route.tsPOST /api/integrations/datadog—src/app/api/integrations/datadog/route.tsPOST /api/integrations/dynatrace—src/app/api/integrations/dynatrace/route.tsPOST /api/integrations/elastic—src/app/api/integrations/elastic/route.tsGET, POST /api/integrations/failures—src/app/api/integrations/failures/route.tsPOST /api/integrations/github—src/app/api/integrations/github/route.tsPOST /api/integrations/gitlab—src/app/api/integrations/gitlab/route.tsPOST /api/integrations/google-cloud-monitoring—src/app/api/integrations/google-cloud-monitoring/route.tsPOST /api/integrations/grafana—src/app/api/integrations/grafana/route.tsGET, POST /api/integrations/health—src/app/api/integrations/health/route.tsPOST /api/integrations/honeycomb—src/app/api/integrations/honeycomb/route.tsPOST /api/integrations/icinga—src/app/api/integrations/icinga/route.tsPOST /api/integrations/manageengine—src/app/api/integrations/manageengine/route.tsPOST /api/integrations/nagios—src/app/api/integrations/nagios/route.tsPOST /api/integrations/newrelic—src/app/api/integrations/newrelic/route.tsPOST /api/integrations/pagerduty—src/app/api/integrations/pagerduty/route.tsPOST /api/integrations/pagerduty/v2/enqueue—src/app/api/integrations/pagerduty/v2/enqueue/route.tsPOST /api/integrations/pingdom—src/app/api/integrations/pingdom/route.tsPOST /api/integrations/prometheus—src/app/api/integrations/prometheus/route.tsPOST /api/integrations/sentry—src/app/api/integrations/sentry/route.tsPOST /api/integrations/splunk-observability—src/app/api/integrations/splunk-observability/route.tsPOST /api/integrations/splunk-oncall—src/app/api/integrations/splunk-oncall/route.tsPOST /api/integrations/uptime-kuma—src/app/api/integrations/uptime-kuma/route.tsPOST /api/integrations/uptimerobot—src/app/api/integrations/uptimerobot/route.tsPOST /api/integrations/vercel—src/app/api/integrations/vercel/route.tsPOST /api/integrations/webhook—src/app/api/integrations/webhook/route.tsPOST /api/integrations/zabbix—src/app/api/integrations/zabbix/route.ts
Identity protocol endpoints
GET, PUT, PATCH, DELETE /api/scim/v2/Groups/[id]—src/app/api/scim/v2/Groups/[id]/route.tsGET, POST /api/scim/v2/Groups—src/app/api/scim/v2/Groups/route.tsGET /api/scim/v2/ResourceTypes/[id]—src/app/api/scim/v2/ResourceTypes/[id]/route.tsGET /api/scim/v2/ResourceTypes—src/app/api/scim/v2/ResourceTypes/route.tsGET /api/scim/v2/Schemas/[id]—src/app/api/scim/v2/Schemas/[id]/route.tsGET /api/scim/v2/Schemas—src/app/api/scim/v2/Schemas/route.tsGET /api/scim/v2/ServiceProviderConfig—src/app/api/scim/v2/ServiceProviderConfig/route.tsGET, PUT, PATCH, DELETE /api/scim/v2/Users/[id]—src/app/api/scim/v2/Users/[id]/route.tsGET, POST, PATCH /api/scim/v2/Users—src/app/api/scim/v2/Users/route.ts
Provider callback and webhook endpoints
POST /api/webhooks/notifications/provider-feedback—src/app/api/webhooks/notifications/provider-feedback/route.tsPOST /api/webhooks/notifications/twilio—src/app/api/webhooks/notifications/twilio/route.tsPOST /api/webhooks/notifications/twilio/voice/gather—src/app/api/webhooks/notifications/twilio/voice/gather/route.tsPOST /api/webhooks/notifications/twilio/voice/status—src/app/api/webhooks/notifications/twilio/voice/status/route.ts
Last updated for v2.0.0
Edit this page on GitHub