openapi: 3.1.0 info: title: Incident.io API description: >- The incident.io REST API provides programmatic access to incidents, alerts, catalog, custom fields, escalations, on-call schedules, status pages, and workflows. Authentication is performed via Bearer tokens issued in the incident.io dashboard. version: 2.0.0 contact: name: incident.io Support url: https://incident.io license: name: Proprietary url: https://incident.io/terms x-generated-from: https://api-docs.incident.io x-generated-by: claude-crawl-2026-05-08 servers: - url: https://api.incident.io/v2 description: Production security: - bearerAuth: [] tags: - name: Actions - name: Alerts - name: Alert Attributes - name: Alert Routes - name: Alert Sources - name: API Keys - name: Catalog Entries - name: Catalog Types - name: Custom Fields - name: Escalation Paths - name: Escalations - name: Follow-ups - name: Incidents - name: Incident Roles - name: Incident Statuses - name: Incident Types - name: Maintenance Windows - name: Postmortem Documents - name: Schedules - name: Severities - name: Status Pages - name: Teams - name: Users - name: Utilities - name: Workflows paths: /actions: get: tags: [Actions] operationId: listActions summary: List actions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /actions/{id}: get: tags: [Actions] operationId: getAction summary: Get a single action parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /alerts: get: tags: [Alerts] operationId: listAlerts summary: List alerts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /alerts/{id}: get: tags: [Alerts] operationId: getAlert summary: Show a single alert parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /alert-events: post: tags: [Alerts] operationId: createAlertEvent summary: Create an alert event requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /alert-attributes: get: tags: [Alert Attributes] operationId: listAlertAttributes summary: List alert attributes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Alert Attributes] operationId: createAlertAttribute summary: Create alert attribute requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /alert-attributes/{id}: get: tags: [Alert Attributes] operationId: getAlertAttribute summary: Show alert attribute parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Alert Attributes] operationId: updateAlertAttribute summary: Update alert attribute parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Alert Attributes] operationId: deleteAlertAttribute summary: Delete alert attribute parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /alert-routes: get: tags: [Alert Routes] operationId: listAlertRoutes summary: List alert routes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Alert Routes] operationId: createAlertRoute summary: Create alert route requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /alert-routes/{id}: get: tags: [Alert Routes] operationId: getAlertRoute summary: Show alert route parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Alert Routes] operationId: updateAlertRoute summary: Update alert route parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Alert Routes] operationId: deleteAlertRoute summary: Delete alert route parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /alert-sources: get: tags: [Alert Sources] operationId: listAlertSources summary: List alert sources responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Alert Sources] operationId: createAlertSource summary: Create alert source requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /alert-sources/{id}: get: tags: [Alert Sources] operationId: getAlertSource summary: Show alert source parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Alert Sources] operationId: updateAlertSource summary: Update alert source parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Alert Sources] operationId: deleteAlertSource summary: Delete alert source parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /api-keys: get: tags: [API Keys] operationId: listApiKeys summary: List API keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [API Keys] operationId: createApiKey summary: Create API key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /api-keys/{id}: get: tags: [API Keys] operationId: getApiKey summary: Show API key parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [API Keys] operationId: updateApiKey summary: Update API key parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [API Keys] operationId: deleteApiKey summary: Delete API key parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /api-keys/{id}/rotate: post: tags: [API Keys] operationId: rotateApiKey summary: Rotate API key parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /catalog-entries: get: tags: [Catalog Entries] operationId: listCatalogEntries summary: List catalog entries responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Catalog Entries] operationId: createCatalogEntry summary: Create catalog entry requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /catalog-entries/{id}: get: tags: [Catalog Entries] operationId: getCatalogEntry parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Catalog Entries] operationId: updateCatalogEntry parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Catalog Entries] operationId: deleteCatalogEntry parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /catalog-types: get: tags: [Catalog Types] operationId: listCatalogTypes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Catalog Types] operationId: createCatalogType requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /catalog-types/{id}: get: tags: [Catalog Types] operationId: getCatalogType parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Catalog Types] operationId: updateCatalogType parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Catalog Types] operationId: deleteCatalogType parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /custom-fields: get: tags: [Custom Fields] operationId: listCustomFields responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Custom Fields] operationId: createCustomField requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /custom-fields/{id}: get: tags: [Custom Fields] operationId: getCustomField parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Custom Fields] operationId: updateCustomField parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Custom Fields] operationId: deleteCustomField parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /escalation-paths: get: tags: [Escalation Paths] operationId: listEscalationPaths responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Escalation Paths] operationId: createEscalationPath requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /escalation-paths/{id}: get: tags: [Escalation Paths] operationId: getEscalationPath parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Escalation Paths] operationId: updateEscalationPath parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Escalation Paths] operationId: deleteEscalationPath parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /escalations: get: tags: [Escalations] operationId: listEscalations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Escalations] operationId: createEscalation requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /escalations/{id}: get: tags: [Escalations] operationId: getEscalation parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /follow-ups: get: tags: [Follow-ups] operationId: listFollowUps responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /follow-ups/{id}: get: tags: [Follow-ups] operationId: getFollowUp parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /incidents: get: tags: [Incidents] operationId: listIncidents responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Incidents] operationId: createIncident requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /incidents/{id}: get: tags: [Incidents] operationId: getIncident parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Incidents] operationId: updateIncident parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /incident-roles: get: tags: [Incident Roles] operationId: listIncidentRoles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Incident Roles] operationId: createIncidentRole requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /incident-roles/{id}: get: tags: [Incident Roles] operationId: getIncidentRole parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Incident Roles] operationId: updateIncidentRole parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Incident Roles] operationId: deleteIncidentRole parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /incident-statuses: get: tags: [Incident Statuses] operationId: listIncidentStatuses responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Incident Statuses] operationId: createIncidentStatus requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /incident-statuses/{id}: get: tags: [Incident Statuses] operationId: getIncidentStatus parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Incident Statuses] operationId: updateIncidentStatus parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Incident Statuses] operationId: deleteIncidentStatus parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /incident-types: get: tags: [Incident Types] operationId: listIncidentTypes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /incident-types/{id}: get: tags: [Incident Types] operationId: getIncidentType parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /maintenance-windows: get: tags: [Maintenance Windows] operationId: listMaintenanceWindows responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Maintenance Windows] operationId: createMaintenanceWindow requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /maintenance-windows/{id}: get: tags: [Maintenance Windows] operationId: getMaintenanceWindow parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Maintenance Windows] operationId: updateMaintenanceWindow parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Maintenance Windows] operationId: deleteMaintenanceWindow parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /postmortem-documents: get: tags: [Postmortem Documents] operationId: listPostmortemDocuments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /postmortem-documents/{id}: get: tags: [Postmortem Documents] operationId: getPostmortemDocument parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Postmortem Documents] operationId: updatePostmortemDocument parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /schedules: get: tags: [Schedules] operationId: listSchedules responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Schedules] operationId: createSchedule requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /schedules/{id}: get: tags: [Schedules] operationId: getSchedule parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Schedules] operationId: updateSchedule parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Schedules] operationId: deleteSchedule parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /severities: get: tags: [Severities] operationId: listSeverities responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Severities] operationId: createSeverity requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /severities/{id}: get: tags: [Severities] operationId: getSeverity parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Severities] operationId: updateSeverity parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Severities] operationId: deleteSeverity parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted /status-pages: get: tags: [Status Pages] operationId: listStatusPages responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /status-pages/{id}: get: tags: [Status Pages] operationId: getStatusPage parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /teams: get: tags: [Teams] operationId: listTeams responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /teams/{id}: get: tags: [Teams] operationId: getTeam parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /users: get: tags: [Users] operationId: listUsers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' /users/{id}: get: tags: [Users] operationId: getUser parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /utilities/identity: get: tags: [Utilities] operationId: getIdentity summary: Test API key identity responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' /utilities/openapi-v2: get: tags: [Utilities] operationId: getOpenApiV2 summary: Get the OpenAPI v2 definition responses: '200': description: OK /utilities/openapi-v3: get: tags: [Utilities] operationId: getOpenApiV3 summary: Get the OpenAPI v3 definition responses: '200': description: OK /workflows: get: tags: [Workflows] operationId: listWorkflows responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: tags: [Workflows] operationId: createWorkflow requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Resource' /workflows/{id}: get: tags: [Workflows] operationId: getWorkflow parameters: - $ref: '#/components/parameters/IdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' put: tags: [Workflows] operationId: updateWorkflow parameters: - $ref: '#/components/parameters/IdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Resource' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Resource' delete: tags: [Workflows] operationId: deleteWorkflow parameters: - $ref: '#/components/parameters/IdParam' responses: '204': description: Deleted components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key parameters: IdParam: name: id in: path required: true schema: type: string schemas: Resource: type: object additionalProperties: true ListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Resource' pagination_meta: type: object additionalProperties: true