Update One Maintenance Window

Maintenance Window Considerations

Urgent Maintenance Activities
Urgent maintenance activities such as security patches cannot wait for your chosen window. Atlas will start those maintenance activities when needed.
Ongoing Maintenance Operations
Once maintenance is scheduled for your cluster, you cannot change your maintenance window until the current maintenance efforts have completed.
Maintenance Requires Replica Set Elections
Atlas performs maintenance the same way as the maintenance procedure described in the MongoDB Manual. This procedure requires at least one replica set election during the maintenance window per replica set.
Maintenance Starts As Close to the Hour As Possible
Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or unexpected system issues could delay the start time.

Base URL:


PATCH /groups/{GROUP-ID}/maintenanceWindow

Request Path Parameters

Name Type Description
GROUP-ID string Unique identifier of the project from which you want to retrieve the Maintenance Window.

Request Query Parameters

This endpoint may use any of the HTTP request query parameters available to all Atlas API resources. These are all optional.

Name Type Necessity Description Default
pageNum integer Optional Page number (1-based). 1
itemsPerPage integer Optional Maximum number of items to return, up to a maximum of 100. 100
includeCount boolean Optional Specifies whether the response returns the totalCount field. true
pretty boolean Optional Indicates whether the response body should be in a prettyprint format. false
envelope boolean Optional

Flag indicating if Atlas should wrap the response in a JSON envelope.

Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query.

For endpoints that return one result, the response body includes:

status HTTP response code
envelope Expected response body

For endpoints that return a list of results, the results object is an envelope. Atlas adds the status field to the response body.


Request Body Parameters

Your request can either start the window immediately (startASAP : true) or change the maintenance window schedule. To use startASAP : true, You need to have scheduled maintenance and set your own maintenance window.

Name Type Necessity Description
dayOfWeek number Required

Day of the week that you want the maintenance window to start, as a 1-based integer.

Day of Week Integer
Sunday 1
Monday 2
Tuesday 3
Wednesday 4
Thursday 5
Friday 6
Saturday 7
hourOfDay number Required Hour of the day that you want the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0 and noon is 12.
Name Type Necessity Description
startASAP boolean Optional

Flag indicating that you want to start maintenance immediately upon receiving this request.

You need to have scheduled maintenance and set your own maintenance window to use this parameter.

After you set startASAP : true, the project’s maintenance starts immediately. startASAP resets to false after Atlas completes maintenance.


This endpoint returns an empty JSON Object.

Example Request

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
     --header "Accept: application/json" \
     --header "Content-Type: application/json" \
     --include \
     --request PATCH "{GROUP-ID}/maintenanceWindow?pretty=true" \
     --data '
       "dayOfWeek" : 1,
       "hourOfDay" : 12
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
     --header "Accept: application/json" \
     --header "Content-Type: application/json" \
     --include \
     --request PATCH "{GROUP-ID}/maintenanceWindow?pretty=true" \
     --data '
       "startASAP" : true

Example Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

This endpoint returns an empty JSON Object.