---
type: api
title: Search for a maintenance window.
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/operation/operation-get-maintenance-window-find
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/operation/operation-get-maintenance-window-find
products:
  - Kibana
---

# Search for a maintenance window.

Availability: 9.2+

- Server: `https://{kibana_url}`

## Paths

- `GET` `/api/maintenance_window/_find`
- `GET` `/s/{space_id}/api/maintenance_window/_find`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/kibana/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/kibana/authentication#basicauth)

## Description

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

[Required authorization] Route required privileges: read-maintenance-window.

## Query String Parameters

- `title` (string)
  The title of the maintenance window.
- `created_by` (string)
  The user who created the maintenance window.
- `status` ([] enum)
  The status of the maintenance window. It can be "running", "upcoming", "finished", "archived", or "disabled".
  Values: `running`, `finished`, `upcoming`, `archived`, `disabled`
- `page` (number · min: 1 · max: 100 · default: 1)
  The page number to return.
- `per_page` (number · min: 1 · max: 100 · default: 10)
  The number of maintenance windows to return per page.

## Responses

#### `200`

Indicates a successful call.

`application/json`

- `maintenanceWindows` ([] object)
  The list of maintenance windows.
  - `created_at` (string)
    The date and time when the maintenance window was created.
  - `created_by` (string · default: null) — nullable
    The identifier for the user that created the maintenance window.
  - `enabled` (boolean)
    Whether the current maintenance window is enabled. Disabled maintenance windows do not suppress notifications.
  - `id` (string)
    The identifier for the maintenance window.
  - `schedule` (object)
    - `custom` ({})
      - `duration` (string)
        The duration of the schedule. It allows values in `<integer><unit>` format. `<unit>` is one of `d`, `h`, `m`, or `s` for hours, minutes, seconds. For example: `1d`, `5h`, `30m`, `5000s`.
      - `recurring` ({})
        - `end` (string)
          The end date of a recurring schedule, provided in ISO 8601 format and set to the UTC timezone. For example: `2025-04-01T00:00:00.000Z`.
        - `every` (string)
          The interval and frequency of a recurring schedule. It allows values in `<integer><unit>` format. `<unit>` is one of `d`, `w`, `M`, or `y` for days, weeks, months, years. For example: `15d`, `2w`, `3m`, `1y`.
        - `occurrences` (number)
          The total number of recurrences of the schedule.
        - `onMonth` ([] number · max: 12)
          The specific months for a recurring schedule. Valid values are 1-12.
        - `onMonthDay` ([] number · max: 31)
          The specific days of the month for a recurring schedule. Valid values are `1` to `31`, or `-1` for the last day of the month.
        - `onWeekDay` ([] string · max: 77)
          The specific days of the week (`[MO,TU,WE,TH,FR,SA,SU]`) or nth day of month (`[+1MO, -3FR, +2WE, -4SA, -5SU]`) for a recurring schedule.
      - `start` (string)
        The start date and time of the schedule, provided in ISO 8601 format and set to the UTC timezone. For example: `2025-03-12T12:00:00.000Z`.
      - `timezone` (string)
        The timezone of the schedule. The default timezone is UTC.
  - `scope` ({})
    - `alerting` (object)
      Settings that control how this maintenance window affects Alerting V1 alerts, including an optional KQL filter. Always returned when scope is returned. Check `enabled` to see whether the maintenance window affects these alerts.
      - `enabled` (boolean)
        Whether this maintenance window applies to Alerting V1 alerts. If omitted, is treated as `true`.
      - `query` (object)
        - `kql` (string)
          A filter written in Kibana Query Language (KQL). Only alerts matching this query will be suppressed by the maintenance window.
    - `alerting_v2` (object)
      Settings that control how this maintenance window affects Alerting V2 alerts, including an optional KQL filter. If you omit `alerting_v2`, the maintenance window doesn't affect Alerting V2 alerts.
      - `enabled` (boolean)
        Whether the maintenance window applies to Alerting V2 alerts. If omitted, is treated as `true`.
      - `query` (object)
        - `kql` (string · max: 4096)
          A KQL filter that limits which Alerting V2 alerts this maintenance window affects. It can filter on `alert_id`, `alert_status`, `group_hash`, `last_event_timestamp`, `severity`, and `data.*`. Matching alerts don't send notifications while the window is active. If query isn't returned, the window affects all Alerting V2 alerts.
  - `status` (enum)
    The current status of the maintenance window.
    Values: `running`, `upcoming`, `finished`, `archived`, `disabled`
  - `title` (string)
    The name of the maintenance window.
  - `updated_at` (string)
    The date and time when the maintenance window was last updated.
  - `updated_by` (string · default: null) — nullable
    The identifier for the user that last updated this maintenance window.
- `page` (number)
  The current page number.
- `per_page` (number)
  The number of maintenance windows returned per page.
- `total` (number)
  The total number of maintenance windows that match the query.
#### `400`

Indicates an invalid schema or parameters.

#### `403`

Indicates that this call is forbidden.

## Code Examples

#### Console

```console
GET /api/maintenance_window/_find
```

#### curl

```curl
curl -X GET "https://{kibana_url}/api/maintenance_window/_find"
```

## Response Examples

#### Find maintenance windows response

The response returned when maintenance windows are successfully found.

```json
{
  "maintenanceWindows": [
    {
      "created_at": "2025-02-25T10:00:00.000Z",
      "created_by": "elastic",
      "enabled": true,
      "id": "f0cb1780-537a-4e34-8adf-3b4336862858",
      "schedule": {
        "custom": {
          "duration": "2h",
          "recurring": {
            "every": "1w",
            "occurrences": 10,
            "onWeekDay": [
              "MO",
              "WE"
            ]
          },
          "start": "2025-03-01T08:00:00.000Z",
          "timezone": "Europe/Amsterdam"
        }
      },
      "scope": {
        "alerting": {
          "query": {
            "kql": "kibana.alert.tags: \u0022infra\u0022"
          }
        }
      },
      "status": "upcoming",
      "title": "Weekly Maintenance Window",
      "updated_at": "2025-02-25T10:00:00.000Z",
      "updated_by": "elastic"
    },
    {
      "created_at": "2025-03-10T09:00:00.000Z",
      "created_by": "elastic",
      "enabled": true,
      "id": "a1c94560-6e3b-4ea1-9065-8e3f1b8c5f29",
      "schedule": {
        "custom": {
          "duration": "1h",
          "recurring": {
            "end": "2025-12-31T00:00:00.000Z",
            "every": "2w",
            "onWeekDay": [
              "FR"
            ]
          },
          "start": "2025-04-01T10:00:00.000Z",
          "timezone": "US/Eastern"
        }
      },
      "scope": {
        "alerting": {
          "query": {
            "kql": "kibana.alert.tags: \u0022database\u0022"
          }
        }
      },
      "status": "upcoming",
      "title": "Database Upgrade Window",
      "updated_at": "2025-03-15T14:30:00.000Z",
      "updated_by": "elastic"
    }
  ],
  "page": 1,
  "per_page": 10,
  "total": 2
}
```

