> ## 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.

# Retrieve a maintenance window

> Show details of a specific maintenance window.



## OpenAPI

````yaml get /v1/maintenance-windows/{id}
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/{id}:
    get:
      tags:
        - Maintenance windows
      summary: Retrieve a maintenance window
      description: Show details of a specific maintenance window.
      operationId: getV1MaintenancewindowsId
      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: id
          in: path
          schema:
            type: integer
            x-constraint:
              sign: positive
          required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceWindow'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsError'
components:
  schemas:
    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
    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
    NotFoundError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 404
        error:
          $ref: '#/components/schemas/Model4'
        message:
          type: string
          example: Not Found
      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
    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
    error:
      type: string
      enum:
        - Unauthorized
    attributes:
      type: object
    Model1:
      type: string
      enum:
        - Forbidden
    Model4:
      type: string
      enum:
        - Not Found
    Model2:
      type: string
      enum:
        - Too Many Requests
    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]"` 

````