ilert Alerts API

The Alerts API from ilert — 11 operation(s) for alerts.

OpenAPI Specification

ilert-alerts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: ilert REST Alert Actions Alerts API
  description: "# Introduction\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](#tag/events). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n\n You may download ilert's latest [OpenAPI.json {...} here](https://api.ilert.com/api-docs/openapi.json).\n\n If you are looking for a classic Swagger-UI view you may also open [this link](https://api.ilert.com/api-docs/swagger-ui). \n\n ## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n ## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team.  \n\n ## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute     | Description \n ------------- | ------------- \n status  | the corresponsing HTTP status code  \n message  | a human readable description of the error \n code  | error code, used to identify error type  \n\n ## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please <a href='https://docs.ilert.com/rest-api/api-version-history' target='_blank'>take a look here</a>."
  version: v2.2026.5-r.3
  x-logo:
    url: ./ilert-logo-spaced.png
    backgroundColor: '#fafafa'
    altText: ilert documentation logo
servers:
- url: /api
security:
- apiKey: []
tags:
- name: Alerts
paths:
  /alerts:
    get:
      tags:
      - Alerts
      summary: List alerts (optionally matching certain criteria that are specified by query parameters).
      description: "**Sample URLs**\n* List only alerts that are either in state `PENDING` or `ACCEPTED`: <br /> https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED\n* List only alerts that belong to the alert source with ID `1243` or `1743` and where user `jd` is a responder: <br />\n  https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd\n* Paginate first batch for a range of alerts (note: query parameters should be url encoded): <br />\n https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Fetch next page, assuming equal to max-results were returned: <br/>\n https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Pagination should be done based on the `reportTime` field using the parameters `from` and `until` as well as `start-index`. When building a local alert state store the `id` field should be used as identifier. The `alertKey` field is not suitable for this, as it is used to group related alerts to each other."
      parameters:
      - name: start-index
        in: query
        description: an integer specifying the starting point (beginning with 0) when paging through a list of entities
        schema:
          type: integer
          format: int32
          default: 0
      - name: max-results
        in: query
        description: the maximum number of results when paging through a list of entities.
        schema:
          maximum: 100
          type: integer
          format: int32
          default: 50
      - name: include
        in: query
        description: Describes optional properties that should be included in the response. You may declare multiple. (nextEscalationUser)
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - nextEscalationUser
      - name: states
        in: query
        description: state of the alert
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - PENDING
            - ACCEPTED
            - RESOLVED
      - name: sources
        in: query
        description: alert source IDs of the alert's alert source
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: policies
        in: query
        description: escalation policy IDs of the alert's escalation policy
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: responders
        in: query
        description: user ids of the user that is a responder of the alert
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: from
        in: query
        description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime
        schema:
          type: string
          format: date-time
      - name: until
        in: query
        description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Alert'
    post:
      tags:
      - Alerts
      summary: Create alerts with customised parameters without requiring events from monitoring tools that use our Events API.
      description: 'ATTENTION: do not use this endpoint to create monitoring related (or high volumes of) alerts, use ''/api/events'' instead, you have been warned! Escalation of the alert will be based on the alert source''s escalation policy or may be overridden by providing a specific escalation policy or lastly specific set of responders (users), latter will only notify the user(s) and will not escalate any further.'
      requestBody:
        description: the alert
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualAlert'
        required: true
      responses:
        '201':
          description: the created and freshly escalated alert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
      x-codegen-request-body-name: alert
  /alerts/count:
    get:
      tags:
      - Alerts
      summary: Get the alert count matching the specified criteria.
      parameters:
      - name: states
        in: query
        description: state of the alert
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - PENDING
            - ACCEPTED
            - RESOLVED
      - name: sources
        in: query
        description: alert source IDs of the alert's alert source
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: responders
        in: query
        description: user ids of the user that is a responder of the alert
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: from
        in: query
        description: from date
        schema:
          type: string
          format: date-time
      - name: until
        in: query
        description: until date
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: the number of alerts matching the specified criteria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
  /alerts/{id}:
    get:
      tags:
      - Alerts
      summary: Get the alert with the specified id.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      - name: include
        in: query
        description: Describes optional properties that should be included in the response. You may declare multiple. (escalationRules, nextEscalationUser, customDetails)
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - escalationRules
            - nextEscalationUser
            - customDetails
      responses:
        '200':
          description: alert object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
  /alerts/{id}/suggested-responders:
    get:
      tags:
      - Alerts
      summary: Get available (assignable) responders for the alert with the specified id.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      - name: lang
        in: query
        description: locale for response text eg. 'en' or 'de'
        schema:
          type: string
      responses:
        '200':
          description: the list of alert responders
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuggestedResponder'
  /alerts/{id}/responders:
    post:
      tags:
      - Alerts
      summary: Add an additional responder to the alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '201':
          description: the created alert responder object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponder'
        '404':
          description: Responder did not exist
          content: {}
        '405':
          description: Responder is already present on the alert
          content: {}
  /alerts/{id}/responders/{user-id}:
    delete:
      tags:
      - Alerts
      summary: Remove a responder from the alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      - name: user-id
        in: path
        description: numeric user id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Responder has been removed
          content: {}
        '404':
          description: Responder did not exist
          content: {}
  /alerts/{id}/assign:
    put:
      tags:
      - Alerts
      summary: Assign the alert.
      description: Either provide a user-id, policy-id (escalation policy) or schedule-id (on-call schedule) that the specific alert should be assigned to.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      - name: user
        in: query
        description: numeric user id
        schema:
          type: string
      - name: policy
        in: query
        description: numeric policy id
        schema:
          type: string
      - name: schedule
        in: query
        description: numeric schedule id
        schema:
          type: string
      responses:
        '200':
          description: the updated alert object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
  /alerts/{id}/accept:
    put:
      tags:
      - Alerts
      summary: Accept the Alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '200':
          description: the updated alert object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
  /alerts/{id}/resolve:
    put:
      tags:
      - Alerts
      summary: Resolve the alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '200':
          description: the updated alert object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
  /alerts/{id}/notifications:
    get:
      tags:
      - Alerts
      summary: Get notifications for the specified alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '200':
          description: a list of notification objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Notification'
  /alerts/{id}/log-entries:
    get:
      tags:
      - Alerts
      summary: Get log entries for the specified alert.
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      - name: lang
        in: query
        description: log entry language
        schema:
          type: string
          enum:
          - en
          - de
      - name: start-index
        in: query
        description: an integer specifying the starting point (beginning with 0) when paging through a list of entities
        schema:
          type: integer
          format: int32
          default: 0
      - name: max-results
        in: query
        description: the maximum number of results when paging through a list of entities.
        schema:
          maximum: 100
          type: integer
          format: int32
          default: 50
      - name: include
        in: query
        description: Describes optional properties that should be included in the response. You may declare multiple. (vars)
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - vars
      - name: filter-types
        in: query
        description: filter-type (group) of the log
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - NOTIFICATIONS
            - ALERT_SOURCE_EVENTS
            - CALL_ROUTING_EVENTS
            - ALERT_UPDATES
            - CONNECTOR_EVENTS
            - INCIDENT_COMMUNICATIONS
      responses:
        '200':
          description: list of log entries
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LogEntry'
components:
  schemas:
    ServiceStatus:
      type: string
      description: the service status
      enum:
      - OPERATIONAL
      - UNDER_MAINTENANCE
      - DEGRADED
      - PARTIAL_OUTAGE
      - MAJOR_OUTAGE
    IntegrationType:
      type: string
      enum:
      - NAGIOS
      - ICINGA
      - EMAIL2
      - SMS
      - API
      - HEARTBEAT2
      - PRTG
      - PINGDOM
      - CLOUDWATCH
      - AWSPHD
      - STACKDRIVER
      - INSTANA
      - ZABBIX
      - SOLARWINDS
      - PROMETHEUS
      - NEWRELIC
      - GRAFANA
      - GITHUB
      - DATADOG
      - UPTIMEROBOT
      - APPDYNAMICS
      - DYNATRACE
      - TOPDESK
      - STATUSCAKE
      - MONITOR
      - TOOL
      - CHECKMK
      - AUTOTASK
      - AWSBUDGET
      - SYSDIG
      - SERVERDENSITY
      - ZAPIER
      - KENTIXAM
      - JIRA
      - CONSUL
      - ZAMMAD
      - SPLUNK
      - SERVICENOW
      - SEARCHGUARD
      - KUBERNETES
      - SIGNALFX
      - AZUREALERTS
      - TERRAFORMCLOUD
      - SENTRY
      - SEMATEXT
      - SUMOLOGIC
      - RAYGUN
      - MXTOOLBOX
      - ESWATCHER
      - AMAZONSNS
      - KAPACITOR
      - CORTEXXSOAR
      - ZENDESK
      - AUVIK
      - SENSU
      - NCENTRAL
      - JUMPCLOUD
      - SALESFORCE
      - GUARDDUTY
      - STATUSHUB
      - IXON
      - APIFORTRESS
      - FRESHSERVICE
      - APPSIGNAL
      - LIGHTSTEP
      - IBMCLOUDFUNCTIONS
      - CROWDSTRIKE
      - HUMIO
      - OHDEAR
      - MONGODBATLAS
      - GITLAB
      - HYPERPING
      - PAPRISMACLOUD
      - SAMSARA
      - PANDORAFMS
      - MSSCOM
      - TWILIO
      - CISCOMERAKI
      - CHECKLY
      - POSTHOG
      - GOOGLESCC
      - SLACK
      - MSTEAMS
      - UPTIMEKUMA
      - TWILIOERRORS
      - PARTICLE
      - CLOUDFLARE
      - TULIP
      - GRAYLOG
      - CATCHPOINT
      - LOKI
      - CORTEX
      - MIMIR
      - HALOPSA
      - INFLUXDB
      - CALLFLOW
      - HALOITSM
      - KIBANA
      - VICTORIAMETRICS
      - HONEYCOMB
      - FOURME
      - KEEP
      - UBIDOTS
      - HETRIXTOOLS
      - POSTMAN
      - CLUSTERCONTROL
      - NETDATA
      - AWX
      - KAFKA
      - MQTT
      - RAPIDSPIKE
      - HONEYBADGER
      - HEALTHCHECKSIO
      - MEZMO
      - SERVERGUARD24
      - CISCOTHOUSANDEYES
      - SITE24X7
      - ITCONDUCTOR
      - SAPFRUN
      - APICA
      - DASH0
      - ROLLBAR
      - GATUS
      - LIBRENMS
      - PANTHER
      - TEAMCITY
      - ALIBABACLOUD
      - FLEETDM
      - CONNECTWISEPSA
      - DEADMANSSNITCH
      - FORTISOAR
      - OPMANAGER
      - CRONITOR
      - DOMOTZ
      - LIVEWATCH
      - AZUREDEVOPS
      - LEVELIO
      - EKARA
      - SYSAID
      - PHAREIO
      - OPSGENIE
      - WHATAP
      - SIGNOZ
      - GOOGLECHAT
      - DOTCOMMONITOR
      - UPTIME
      - HELPSCOUT
      - SCIENCELOGIC
      - PULSETIC
      - WAZUH
      - SEKOIA
    EscalationRule:
      required:
      - escalationTimeout
      type: object
      properties:
        escalationTimeout:
          type: integer
        user:
          type: object
          properties:
            id:
              type: number
          description: 'This field (type: User) is deprecated, please use ''users'' instead'
        schedule:
          type: object
          properties:
            id:
              type: number
          description: 'This field (type: Schedule) is deprecated, please use ''schedules'' instead'
        team:
          type: object
          properties:
            id:
              type: number
          description: 'This field (type: Team) is deprecated, please use ''teams'' instead'
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserRel'
        schedules:
          type: array
          items:
            $ref: '#/components/schemas/ScheduleRel'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
    SimpleIdField64:
      required:
      - id
      type: object
      properties:
        id:
          type: integer
          format: int64
      description: For POST and PUT requests only the id field is required for sub entities, e.g. status page -> service, alert source -> support hour
    LogFilterType:
      type: string
      enum:
      - NOTIFICATIONS
      - ALERT_SOURCE_EVENTS
      - CALL_ROUTING_EVENTS
      - ALERT_UPDATES
      - CONNECTOR_EVENTS
    AlertSource:
      required:
      - escalationPolicy
      - integrationType
      - name
      type: object
      properties:
        id:
          type: integer
          format: int64
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        name:
          type: string
        iconUrl:
          type: string
        lightIconUrl:
          type: string
        darkIconUrl:
          type: string
        escalationPolicy:
          $ref: '#/components/schemas/EscalationPolicy'
        integrationType:
          $ref: '#/components/schemas/IntegrationType'
        integrationKey:
          type: string
        integrationUrl:
          type: string
          readOnly: true
        autoResolutionTimeout:
          type: string
          format: ISO-8601
        alertGroupingWindow:
          type: string
          format: ISO-8601
        alertCreation:
          type: string
          default: ONE_ALERT_PER_EMAIL
          enum:
          - ONE_ALERT_PER_EMAIL
          - ONE_ALERT_PER_EMAIL_SUBJECT
          - ONE_PENDING_ALERT_ALLOWED
          - ONE_OPEN_ALERT_ALLOWED
          - OPEN_RESOLVE_ON_EXTRACTION
          - ONE_ALERT_GROUPED_PER_WINDOW
          - INTELLIGENT_GROUPING
        status:
          type: string
          readOnly: true
          enum:
          - PENDING
          - ALL_ACCEPTED
          - ALL_RESOLVED
          - IN_MAINTENANCE
          - DISABLED
        active:
          type: boolean
          default: true
        alertPriorityRule:
          $ref: '#/components/schemas/AlertPriorityRule'
        supportHours:
          $ref: '#/components/schemas/SupportHour'
        bidirectional:
          type: boolean
          readOnly: true
        summaryTemplate:
          $ref: '#/components/schemas/AlertSourceTemplate'
        detailsTemplate:
          $ref: '#/components/schemas/AlertSourceTemplate'
        routingTemplate:
          $ref: '#/components/schemas/AlertSourceTemplate'
        linkTemplates:
          type: array
          items:
            $ref: '#/components/schemas/AlertSourceLinkTemplate'
        priorityTemplate:
          $ref: '#/components/schemas/AlertSourcePriorityTemplate'
        severityTemplate:
          $ref: '#/components/schemas/AlertSourceSeverityTemplate'
        eventFilter:
          type: string
          description: 'Defines an optional event filter condition in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.'
        alertKeyTemplate:
          $ref: '#/components/schemas/AlertSourceTemplate'
        servicesTemplate:
          type: array
          description: 'Optional list of templates that extract service identifiers from the inbound event payload. Each rendered value is comma-split, and each resulting token is resolved against the tenant''s services by alias or name (case-insensitive). Unmatched tokens are silently dropped. Capped at 10 templates and at the alert''s per-event services limit. Note: this field is an ?include, it will not appear in lists.'
          items:
            $ref: '#/components/schemas/AlertSourceTemplate'
        eventTypeFilterCreate:
          type: string
          description: 'Defines an optional create alert rule in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.'
        eventTypeFilterAccept:
          type: string
          description: 'Defines an optional accept alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.'
        eventTypeFilterResolve:
          type: string
          description: 'Defines an optional resolve alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists.'
        autoRaiseAlerts:
          type: boolean
          description: Only effective when a support hour is linked to this alert source.
        scoreThreshold:
          type: number
          format: double
          description: Only used when alertCreation is set to INTELLIGENT_GROUPING.
        severity:
          type: integer
        services:
          type: array
          items:
            $ref: '#/components/schemas/Service'
        setupStatus:
          type: string
          enum:
          - CREATED
          - CREATED_ADVANCED
          - CREATED_BIDIRECTIONAL
          - FINISHED
        autoCreateServices:
          type: boolean
          default: false
        createdAt:
          type: string
          readOnly: true
        updatedAt:
          type: string
          readOnly: true
    SupportHour:
      required:
      - name
      - supportDays
      - timezone
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        timezone:
          $ref: '#/components/schemas/TimeZone'
        supportDays:
          type: object
          properties:
            MONDAY:
              $ref: '#/components/schemas/SupportDay'
            TUESDAY:
              $ref: '#/components/schemas/SupportDay'
            WEDNESDAY:
              $ref: '#/components/schemas/SupportDay'
            THURSDAY:
              $ref: '#/components/schemas/SupportDay'
            FRIDAY:
              $ref: '#/components/schemas/SupportDay'
            SATURDAY:
              $ref: '#/components/schemas/SupportDay'
            SUNDAY:
              $ref: '#/components/schemas/SupportDay'
        exceptions:
          type: array
          items:
            $ref: '#/components/schemas/SupportHourException'
    Alert:
      type: object
      properties:
        id:
          type: integer
          format: int64
        summary:
          type: string
        details:
          type: string
        reportTime:
          type: string
          format: date-time
        resolvedOn:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - PENDING
          - ACCEPTED
          - RESOLVED
        alertSource:
          $ref: '#/components/schemas/AlertSource'
        escalationPolicy:
          $ref: '#/components/schemas/EscalationPolicy'
        priority:
          $ref: '#/components/schemas/AlertPriority'
        alertKey:
          type: string
        assignedTo:
          type: object
          properties:
            id:
              type: number
          description: 'This field (type: User) is deprecated, please use ''responders'' instead'
        nextEscalation:
          type: string
          format: date-time
          readOnly: true
        escalationRules:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/EscalationRule'
        nextEscalationUser:
          $ref: '#/components/schemas/User'
        nextEscalationRuleIndex:
          type: number
          readOnly: true
        images:
          type: array
          items:
            $ref: '#/components/schemas/EventImage'
        links:
          type: array
          items:
            $ref: '#/components/schemas/EventLink'
        responders:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AlertResponder'
        severity:
          maximum: 5
          minimum: 1
          type: integer
          format: int32
          description: Optional severity in range 1..5.
        labels:
          type: object
          additionalProperties:
            type: string
          description: Optional key/value labels that are attached to the alert.
        customDetails:
          type: object
          additionalProperties: true
          description: Free-form custom key/value details attached to the alert. This is the original event payload of the integration. Only present with ?include=customDetails on the single-alert GET (not on the list endpoint).
        linkedIncidentId:
          type: integer
          format: int64
          readOnly: true
          description: Id of the incident this alert is linked to, if any.
        mergedIntoId:
          type: integer
          format: int64
          readOnly: true
          description: Id of the alert this alert has been merged into, if any.
        mergeState:
          type: string
          readOnly: true
          enum:
          - NONE
          - MAIN
          - MERGED
          description: The merge state of the alert.
    IncidentNoIncludes:
      type: object
      properties:
        id:
          type: number
        summary:
          type: string
        status:
          $ref: '#/components/schemas/IncidentStatus'
        message:
          type: string
        sendNotification:
          type: boolean
        createdAt:
          type: string
          description: May be overwritten during the creation of the incident, otherwise read-only
          format: date-time
        updatedAt:
          type: string
          description: May be overwritten during the creation of the incident, otherwise read-only
          format: date-time
        affectedServices:
          type: array
          items:
            type: object
            properties:
              impact:
                $ref: '#/components/schemas/ServiceStatus'
              service:
                $ref: '#/components/schemas/ServiceNoIncludes'
        resolvedOn:
          type: string
          format: date-time
          readOnly: true
    AlertSourceTemplate:
      type: object
      properties:
        textTemplate:
          type: string
          description: "For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template.\n\n Example: <br />`Hi {{ users[0].name }} there!` \n\nYou can use the text template instead of elements by adding the include `textTemplate` to your request. Any version can be used for POST or PUT requests."
        elements:
          type: array
          items:
            $ref: '#/components/schemas/AlertSourceTemplateElement'
    AlertSourceSeverityTemplateMapping:
      required:
      - severity
      - value
      type: object
      properties:
        value:
          type: string
        severity:
          type: integer
          format: int32
    Notification:
      type: object
      properties:
        id:
          type: integer
          format: int64
        method:
          type: string
          enum:
          - PUSH
          - VOICE
          - SMS
          - EMAIL
          - WHATSAPP
        target:
          type: string
        subject:
          type: string
        alertId:
          type: integer
          format: int64
        user:
          type: object
          properties:
            id:
              type: integer
              format: int64
            firstname:
              type: string
            lastname:
              type: string
        notificationTime:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - SCHEDULED
          - SUCCESS
          - ERROR
        errorMessage:
          type: string
          descripti

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ilert/refs/heads/main/openapi/ilert-alerts-api-openapi.yml