> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-mintlify-f27640bd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List all maintenance windows

> Lists all maintenance windows in your account.



## OpenAPI

````yaml get /v1/maintenance-windows
openapi: 3.0.0
info:
  title: Checkly Public API
  version: v1
  description: >-
    These are the docs for the newly released Checkly Public API. If you have
    any questions, please do not hesitate to get in touch with us.
servers:
  - url: https://api.checklyhq.com
security:
  - Bearer: []
tags: []
paths:
  /v1/maintenance-windows:
    get:
      tags:
        - Maintenance windows
      summary: List all maintenance windows
      description: Lists all maintenance windows in your account.
      operationId: getV1Maintenancewindows
      parameters:
        - name: x-checkly-account
          in: header
          schema:
            type: string
            x-format:
              guid: true
            description: >-
              Your Checkly account ID, you can find it at
              https://app.checklyhq.com/settings/account/general
          description: >-
            Your Checkly account ID, you can find it at
            https://app.checklyhq.com/settings/account/general
        - name: limit
          in: query
          schema:
            type: integer
            description: Limit the number of results
            default: 10
            minimum: 1
            maximum: 100
          description: Limit the number of results
        - name: page
          in: query
          schema:
            type: number
            description: Page number
            default: 1
            x-constraint:
              sign: positive
          description: Page number
        - name: startsAt
          in: query
          schema:
            description: Filter for items which startsAt field matches the constraint
            anyOf:
              - type: object
                properties:
                  gt:
                    type: string
                    format: date
                required:
                  - gt
              - type: object
                properties:
                  gte:
                    type: string
                    format: date
                required:
                  - gte
              - type: object
                properties:
                  lt:
                    type: string
                    format: date
                required:
                  - lt
              - type: object
                properties:
                  lte:
                    type: string
                    format: date
                required:
                  - lte
          description: Filter for items which startsAt field matches the constraint
        - name: endsAt
          in: query
          schema:
            description: Filter for items which endsAt field matches the constraint
            anyOf:
              - type: object
                properties:
                  gt:
                    type: string
                    format: date
                required:
                  - gt
              - type: object
                properties:
                  gte:
                    type: string
                    format: date
                required:
                  - gte
              - type: object
                properties:
                  lt:
                    type: string
                    format: date
                required:
                  - lt
              - type: object
                properties:
                  lte:
                    type: string
                    format: date
                required:
                  - lte
          description: Filter for items which endsAt field matches the constraint
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceWindowList'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsError'
components:
  schemas:
    MaintenanceWindowList:
      type: array
      items:
        $ref: '#/components/schemas/MaintenanceWindow'
    UnauthorizedError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 401
        error:
          $ref: '#/components/schemas/error'
        message:
          type: string
          example: Bad Token
        attributes:
          $ref: '#/components/schemas/attributes'
      required:
        - statusCode
        - error
    ForbiddenError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 403
        error:
          $ref: '#/components/schemas/Model1'
        message:
          type: string
          example: Forbidden
      required:
        - statusCode
        - error
    TooManyRequestsError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 429
        error:
          $ref: '#/components/schemas/Model2'
        message:
          type: string
          example: Too Many Requests
        attributes:
          $ref: '#/components/schemas/attributes'
      required:
        - statusCode
        - error
    MaintenanceWindow:
      type: object
      properties:
        id:
          type: number
          description: The id of the maintenance window.
          example: 1
        name:
          type: string
        tags:
          $ref: '#/components/schemas/MaintenanceWindowTagList'
        startsAt:
          type: string
          format: date
        endsAt:
          type: string
          format: date
        repeatInterval:
          type: number
          nullable: true
        repeatUnit:
          $ref: '#/components/schemas/repeatUnit'
        repeatEndsAt:
          type: string
          format: date
          nullable: true
        timezone:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        statusPageVisibility:
          $ref: '#/components/schemas/MaintenanceWindowStatusPageVisibilityResponse'
        pauseAllChecks:
          type: boolean
        silenceAlertsTags:
          $ref: '#/components/schemas/silenceAlertsTags'
        silenceAllAlerts:
          type: boolean
        created_at:
          type: string
          format: date
          description: The creation date of the maintenance window.
        updated_at:
          type: string
          format: date
          description: The last date that the maintenance window was updated.
          nullable: true
        projectBindings:
          $ref: '#/components/schemas/ProjectBindingsV1'
      required:
        - id
        - name
        - startsAt
        - endsAt
        - created_at
        - updated_at
    error:
      type: string
      enum:
        - Unauthorized
    attributes:
      type: object
    Model1:
      type: string
      enum:
        - Forbidden
    Model2:
      type: string
      enum:
        - Too Many Requests
    MaintenanceWindowTagList:
      type: array
      description: The names of the checks and groups maintenance window should apply to.
      example:
        - production
      items:
        type: string
    repeatUnit:
      type: string
      enum:
        - DAY
        - WEEK
        - MONTH
      nullable: true
    MaintenanceWindowStatusPageVisibilityResponse:
      type: object
      properties:
        enabled:
          type: boolean
        severity:
          $ref: '#/components/schemas/Model50'
        affectAllServices:
          type: boolean
        suppressAutoIncidents:
          type: boolean
        notifyOnStart:
          type: boolean
        notifyOnEnd:
          type: boolean
        reminderMinutesBefore:
          $ref: '#/components/schemas/reminderMinutesBefore'
        autoStart:
          type: boolean
        autoEnd:
          type: boolean
        showAffectedServices:
          type: boolean
        statusPageIds:
          $ref: '#/components/schemas/statusPageIds'
        serviceIds:
          $ref: '#/components/schemas/serviceIds'
    silenceAlertsTags:
      type: array
      items:
        type: string
    ProjectBindingsV1:
      type: object
      description: >-
        The Checkly CLI projects that manage this resource. `owner` is null and
        `references` empty when the resource is not managed by code.
      properties:
        owner:
          $ref: '#/components/schemas/ProjectBindingOwnerV1'
        references:
          $ref: '#/components/schemas/ProjectBindingReferencesV1'
      required:
        - owner
        - references
    Model50:
      type: string
      enum:
        - MINOR
        - MEDIUM
        - MAJOR
        - CRITICAL
      nullable: true
    reminderMinutesBefore:
      type: array
      items:
        type: integer
    statusPageIds:
      type: array
      items:
        type: string
        x-format:
          guid: true
    serviceIds:
      type: array
      items:
        type: string
        x-format:
          guid: true
    ProjectBindingOwnerV1:
      type: object
      description: >-
        The project that owns this resource — the one whose deploy can delete
        it. Null when no project owns it, including when other projects merely
        reference it. In the rare case that several projects hold an ownership
        record for one resource, this reports the preferred one and the rest are
        omitted.
      nullable: true
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
    ProjectBindingReferencesV1:
      type: array
      description: >-
        Projects that use this resource without owning it; their deploys leave
        it alone. Empty when there are none.
      items:
        $ref: '#/components/schemas/ProjectBindingV1'
    BindingProjectV1:
      type: object
      description: The project this binding is to.
      properties:
        id:
          type: string
          description: The ID of the project.
        logicalId:
          type: string
          description: The logical ID of the project, as declared in code.
        name:
          type: string
          description: The name of the project.
      required:
        - id
        - logicalId
        - name
    ProjectBindingDetailsV1:
      type: object
      description: The resource's side of this binding.
      properties:
        logicalId:
          type: string
          description: The resource's logical ID within this project, as declared in code.
          example: homepage-check
        pending:
          type: boolean
          description: >-
            True when the binding is reserved by an import plan that has not
            been deployed yet.
      required:
        - logicalId
        - pending
    ProjectBindingV1:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Bearer
      description: >-
        The Checkly Public API uses API keys to authenticate requests. You can
        get the API Key
        [here](https://app.checklyhq.com/settings/user/api-keys). Your API key
        is like a password: keep it secure!

        Authentication to the API is performed using the Bearer auth method in
        the Authorization header and using the account ID.

        For example, set **Authorization** header while using cURL: `curl -H
        "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"` 

````