Overview
Create a maintenance window to suppress alerts during planned maintenance periods. Maintenance windows can be one-time events or recurring schedules, and can target specific checks or entire check groups.Request Examples
Response Example
Configuration Options
Basic Settings
Basic Settings
name
(string): Descriptive name for the maintenance windowstartsAt
(string): ISO 8601 timestamp when maintenance beginsendsAt
(string): ISO 8601 timestamp when maintenance endsrepeatInterval
(string): NONE, DAILY, WEEKLY, or MONTHLY
repeatEndsAt
(string): When recurring maintenance should stop (required for recurring windows)tags
(array): Tags for organization and filtering
Repeat Intervals
Repeat Intervals
- Single maintenance window
- No repeat configuration needed
- Repeats every day at the same time
- Requires
repeatEndsAt
to define when to stop
- Repeats on the same day of the week
- Based on the day of
startsAt
- Requires
repeatEndsAt
- Repeats on the same date each month
- Based on the date of
startsAt
- Requires
repeatEndsAt
startsAt
and endsAt
, then applied to each recurrence.Resource Targeting
Resource Targeting
Timezone Considerations
Timezone Considerations
- Server Timezones: Convert local maintenance times to UTC
- Daylight Saving: UTC avoids DST complications
- Global Teams: UTC provides consistent scheduling across regions
Code Examples
Validation Rules
Time Validation
Time Validation
endsAt
must be afterstartsAt
repeatEndsAt
must be afterstartsAt
(for recurring windows)- Minimum duration: 1 minute
- Maximum duration: 7 days per window
- Cannot create windows that started in the past
Resource Validation
Resource Validation
- At least one
checkId
orcheckGroupId
must be specified - Check IDs must exist and belong to your account
- Check Group IDs must exist and belong to your account
- Cannot exceed 100 checks per maintenance window
Repeat Validation
Repeat Validation
repeatEndsAt
is required for DAILY, WEEKLY, and MONTHLY intervalsrepeatEndsAt
is ignored for NONE interval- Maximum repeat duration: 1 year
- Recurring windows cannot exceed 1000 occurrences
Best Practices
Naming Conventions
Naming Conventions
- Purpose: What maintenance is being performed
- Frequency: One-time, weekly, monthly, etc.
- Scope: Which systems are affected
- “Monthly Security Patch Tuesday”
- “Weekly Database Backup Window”
- “Q1 Infrastructure Upgrade”
- “Emergency API Hotfix Deployment”
Scheduling Strategy
Scheduling Strategy
- Buffer Time: Add 15-30 minutes buffer before and after expected maintenance
- Timezone Awareness: Use UTC to avoid DST issues
- Overlap Prevention: Avoid overlapping maintenance windows
- Communication: Coordinate with team schedules and business hours
Resource Targeting
Resource Targeting
- Group-Based: Use check groups for easier management
- Granular Control: Target specific checks only when necessary
- Impact Assessment: Consider downstream dependencies
- Testing: Test maintenance windows in non-production first
Recurring Maintenance
Recurring Maintenance
- End Dates: Always set appropriate
repeatEndsAt
dates - Review Schedule: Regularly review and update recurring windows
- Seasonal Adjustments: Account for holidays and business cycles
- Cleanup: Remove expired recurring maintenance windows
Authorizations
The Checkly Public API uses API keys to authenticate requests. You can get the API Key here.
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]"
Headers
Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
Body
The maintenance window name.
"Maintenance Window"
The start date of the maintenance window.
"2022-08-24"
The end date of the maintenance window.
"2022-08-25"
The repeat strategy for the maintenance window.
"DAY"
The names of the checks and groups maintenance window should apply to.
["production"]
The repeat interval of the maintenance window from the first occurance.
x >= 1
null
The end date where the maintenance window should stop repeating.
null
Response
Created
The id of the maintenance window.
1
The maintenance window name.
"Maintenance Window"
The start date of the maintenance window.
"2022-08-24"
The end date of the maintenance window.
"2022-08-25"
The repeat strategy for the maintenance window.
"DAY"
The creation date of the maintenance window.
The last date that the maintenance window was updated.
The names of the checks and groups maintenance window should apply to.
["production"]
The repeat interval of the maintenance window from the first occurance.
x >= 1
null
The end date where the maintenance window should stop repeating.
null