---
title: "List maintenance windows."
method: GET
path: "/maintenance-windows"
tags: ["Maintenance Windows"]
---

# List maintenance windows.

`GET /maintenance-windows`

## Query parameters

- `state` 'OPEN' | 'CLOSED'
- `services` integer[]
- `sources` integer[]
- `from` string, date-time
- `until` string, date-time
- `start-index` integer
- `max-results` integer

## Response `200`

the maintenance window object

- MaintenanceWindow[]
  - `timezone` 'Europe/Berlin' | 'America/New_York' | 'America/Los_Angeles' | 'Asia/Istanbul'
  - `start` string, date-time
  - `end` string, date-time
  - `summary` string
  - `description` string
  - `alertSources` AlertSource[]
    - `id` integer
    - `teams` TeamRel[]
      - `id` integer
      - `name` string
    - `name` string, required
    - `iconUrl` string
    - `lightIconUrl` string
    - `darkIconUrl` string
    - `escalationPolicy` EscalationPolicy, required
      - `id` integer
      - `name` string, required
      - `escalationRules` EscalationRule[], required
        - `escalationTimeout` integer, required
        - `user` object — This field (type: User) is deprecated, please use 'users' instead
          - `id` number
        - `schedule` object — This field (type: Schedule) is deprecated, please use 'schedules' instead
          - `id` number
        - `team` object — This field (type: Team) is deprecated, please use 'teams' instead
          - `id` number
        - `users` UserRel[]
          - `id` integer, required
          - `firstName` string
          - `lastName` string
        - `schedules` ScheduleRel[]
          - `id` integer
          - `name` string
          - `type` 'STATIC' | 'RECURRING'
        - `teams` TeamRel[]
          - `id` integer
          - `name` string
      - `teams` TeamRel[]
        - `id` integer
        - `name` string
      - `repeating` boolean
      - `frequency` integer
      - `delayMin` integer
      - `routingKey` string — optional
    - `integrationType` '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', required
    - `integrationKey` string
    - `integrationUrl` string
    - `autoResolutionTimeout` string, ISO-8601
    - `alertGroupingWindow` string, ISO-8601
    - `alertCreation` '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` 'PENDING' | 'ALL_ACCEPTED' | 'ALL_RESOLVED' | 'IN_MAINTENANCE' | 'DISABLED'
    - `active` boolean
    - `alertPriorityRule` 'HIGH' | 'LOW' | 'HIGH_DURING_SUPPORT_HOURS' | 'LOW_DURING_SUPPORT_HOURS'
    - `supportHours` SupportHour
      - `id` integer
      - `name` string, required
      - `teams` TeamRel[]
        - `id` integer
        - `name` string
      - `timezone` 'Europe/Berlin' | 'America/New_York' | 'America/Los_Angeles' | 'Asia/Istanbul', required
      - `supportDays` object, required
        - `MONDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `TUESDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `WEDNESDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `THURSDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `FRIDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `SATURDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
        - `SUNDAY` SupportDay
          - `start` string, time, required
          - `end` string, time, required
      - `exceptions` SupportHourException[]
        - `name` string, required
        - `start` string, date, required
        - `end` string, date, required
        - `supportStatus` 'DURING' | 'OUTSIDE', required
    - `bidirectional` boolean
    - `summaryTemplate` AlertSourceTemplate
      - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
        - `type` 'TEXT' | 'VAR' | 'RAW'
        - `val` string
        - `func` string
        - `args` AlertSourceTemplateElementArg[]
          - `S` string
          - `N` integer
    - `detailsTemplate` AlertSourceTemplate
      - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
        - `type` 'TEXT' | 'VAR' | 'RAW'
        - `val` string
        - `func` string
        - `args` AlertSourceTemplateElementArg[]
          - `S` string
          - `N` integer
    - `routingTemplate` AlertSourceTemplate
      - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
        - `type` 'TEXT' | 'VAR' | 'RAW'
        - `val` string
        - `func` string
        - `args` AlertSourceTemplateElementArg[]
          - `S` string
          - `N` integer
    - `linkTemplates` AlertSourceLinkTemplate[]
      - `text` string, required
      - `hrefTemplate` AlertSourceTemplate, required
        - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
          - `type` 'TEXT' | 'VAR' | 'RAW'
          - `val` string
          - `func` string
          - `args` AlertSourceTemplateElementArg[]
            - `S` string
            - `N` integer
    - `priorityTemplate` AlertSourcePriorityTemplate
      - `valueTemplate` AlertSourceTemplate, required
        - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
          - `type` 'TEXT' | 'VAR' | 'RAW'
          - `val` string
          - `func` string
          - `args` AlertSourceTemplateElementArg[]
            - `S` string
            - `N` integer
      - `mappings` AlertSourcePriorityTemplateMapping[], required
        - `value` string, required
        - `priority` 'LOW' | 'HIGH', required
    - `severityTemplate` AlertSourceSeverityTemplate
      - `valueTemplate` AlertSourceTemplate, required
        - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
          - `type` 'TEXT' | 'VAR' | 'RAW'
          - `val` string
          - `func` string
          - `args` AlertSourceTemplateElementArg[]
            - `S` string
            - `N` integer
      - `mappings` AlertSourceSeverityTemplateMapping[], required
        - `value` string, required
        - `severity` integer, required
    - `eventFilter` string — 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` AlertSourceTemplate
      - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
        - `type` 'TEXT' | 'VAR' | 'RAW'
        - `val` string
        - `func` string
        - `args` AlertSourceTemplateElementArg[]
          - `S` string
          - `N` integer
    - `servicesTemplate` AlertSourceTemplate[] — 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.
      - `textTemplate` string — For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template. Example: <br />`Hi {{ users[0].name }} there!` You 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` AlertSourceTemplateElement[]
        - `type` 'TEXT' | 'VAR' | 'RAW'
        - `val` string
        - `func` string
        - `args` AlertSourceTemplateElementArg[]
          - `S` string
          - `N` integer
    - `eventTypeFilterCreate` string — 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` string — 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` string — 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` boolean — Only effective when a support hour is linked to this alert source.
    - `scoreThreshold` number, double — Only used when alertCreation is set to INTELLIGENT_GROUPING.
    - `severity` integer
    - `services` Service[]
      - `id` number
      - `name` string
      - `alias` string
      - `status` 'OPERATIONAL' | 'UNDER_MAINTENANCE' | 'DEGRADED' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE' — the service status
      - `description` string
      - `oneOpenIncidentOnly` boolean
      - `showUptimeHistory` boolean
      - `teams` TeamRel[]
        - `id` integer
        - `name` string
      - `subscribed` boolean
      - `uptime` ServiceUptime
        - `rangeStart` string, date-time
        - `rangeEnd` string, date-time
        - `outages` ServiceOutage[]
          - `status` 'OPERATIONAL' | 'UNDER_MAINTENANCE' | 'DEGRADED' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE' — the service status
          - `from` string, date-time
          - `until` string, date-time
        - `uptimePercentage` ServiceUptimePercentage
          - `uptimePercentage` object
            - `p90` number, float
            - `p60` number, float
            - `p30` number, float
      - `incidents` IncidentNoIncludes[] — Note that this only contains the latest 10 unresolved incidents, use /api/incidents?service=x if more or specific results are needed
        - `id` number
        - `summary` string
        - `status` 'INVESTIGATING' | 'IDENTIFIED' | 'MONITORING' | 'RESOLVED' — the incident status
        - `message` string
        - `sendNotification` boolean
        - `createdAt` string, date-time — May be overwritten during the creation of the incident, otherwise read-only
        - `updatedAt` string, date-time — May be overwritten during the creation of the incident, otherwise read-only
        - `affectedServices` object[]
          - `impact` 'OPERATIONAL' | 'UNDER_MAINTENANCE' | 'DEGRADED' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE' — the service status
          - `service` ServiceNoIncludes
            - `id` number
            - `name` string
            - `alias` string
            - `status` 'OPERATIONAL' | 'UNDER_MAINTENANCE' | 'DEGRADED' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE' — the service status
            - `description` string
            - `oneOpenIncidentOnly` boolean
            - `showUptimeHistory` boolean
            - `teams` TeamRel[]
              - …
        - `resolvedOn` string, date-time
    - `setupStatus` 'CREATED' | 'CREATED_ADVANCED' | 'CREATED_BIDIRECTIONAL' | 'FINISHED'
    - `autoCreateServices` boolean
    - `createdAt` string
    - `updatedAt` string
  - `services` ServiceNoIncludes[]
    - `id` number
    - `name` string
    - `alias` string
    - `status` 'OPERATIONAL' | 'UNDER_MAINTENANCE' | 'DEGRADED' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE' — the service status
    - `description` string
    - `oneOpenIncidentOnly` boolean
    - `showUptimeHistory` boolean
    - `teams` TeamRel[]
      - `id` integer
      - `name` string
  - `createdBy` string
  - `notifications` object
    - `atCreation` boolean
    - `atStart` boolean
    - `atEnd` boolean

---

[API](https://skmtc.dev/ilert/apis/ilert-rest-api.md) · [All operations](https://skmtc.dev/ilert/apis/ilert-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ilert/ilert-rest-api/revisions/cb7d5a5f9ab8/schema)
