Navigation

Update One Maintenance Window

Maintenance Window Considerations

Urgent Maintenance Activities Cannot Wait

Urgent maintenance activities such as security patches cannot wait for your chosen window. Atlas will start those maintenance activities when needed.

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 manual maintenance procedure. This 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 expected system issues could delay the start time.

Base URL: https://cloud.mongodb.com/api/atlas/v1.0

Resource

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 Description Default
pageNum integer Page number (1-based). 1
itemsPerPage integer Maximum number of items to return, up to a maximum of 100. 100
pretty boolean Indicates whether the response body should be in a prettyprint format. false
envelope boolean

Indicates whether or not to wrap the response in an 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, response body includes:

status HTTP response code
envelope The 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.

Response

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 "https://cloud.mongodb.com/api/atlas/v1.0/groups/{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 "https://cloud.mongodb.com/api/atlas/v1.0/groups/{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.