Overview
You can roll back an App's configuration to a previously deployed version. App Services can automatically redeploy any of an App's 25 most recent deployments. For older deployments, you must manually get and deploy the configuration files (e.g. from source control).
A redeploy rolls back your application's configuration to match the earlier version.
Before You Begin
You will need the following to rollback an App in the Atlas UI:
A MongoDB Atlas account with Project Owner permissions. To learn how to sign up for a free account, see Get Started with Atlas.
You will need the following to rollback an App with the Admin API:
A MongoDB Atlas account with Project Owner permissions. To learn how to sign up for a free account, see Get Started with Atlas.
A MongoDB Atlas Admin API public/private key pair. The API key must have Project Owner permissions to work with App Services Admin API.
Your App's internal ObjectId hex string and the Project ID of the Atlas Project that contains your App. To learn how to find these, see Get App Metadata.
Procedure
Confirm Rollback Success
After the deployment completes, you'll see the deployment success banner. The new deployment appears in your Deployment History.
If you have GitHub deployment enabled, it also contains a link to the commit in the GitHub repository.
In the linked GitHub repository, the commit author is the mongodb-realm bot.

Authenticate a MongoDB Atlas User
Call the admin user authentication endpoint with your MongoDB Atlas API key pair:
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
If authentication succeeds, the response body contains a JSON object with an access_token value:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
The access_token grants access to the App Services Admin API. You must include it as a Bearer token in the Authorization header for all Admin API requests.
Find the Deployment ID
You need the _id of the deployment you want to redeploy. To find it, call the List Deployments endpoint, which responds with a list of the App's 25 most recent deployments.
Find the deployment you want to redeploy in the list and copy its _id.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployments \ -H 'Authorization: Bearer <access_token>'
[ { "_id": "638662e881ad88c37dcb7656", "app_id": "63844243ec3f52ed48923213", "draft_id": "638662d6cc4b58e348927a7a", "user_id": "59231005d323af2275135258", "deployed_at": 1669751529, "origin": "UI", "commit": "", "status": "successful", "status_error_message": "", "diff_url": "", "name": "638662e881ad88c37dcb7656", "remote_location": "US-VA" }, { "_id": "638662b2fd660afffb39df01", "app_id": "63844243ec3f52ed48923213", "draft_id": "638662928d19776b743d3b30", "user_id": "593f1105d383ad2275165258", "deployed_at": 1669751475, "origin": "UI", "commit": "", "status": "successful", "status_error_message": "", "diff_url": "", "name": "638662b2fd660afffb39df01", "remote_location": "US-VA" } ]
Redeploy the App
You can roll back to a previous deployment by calling the Redeploy a Deployment endpoint. Pass the _id of the deployment you want to redeploy as the deploymentId parameter.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployments/{deploymentId}/redeploy \ -H 'Authorization: Bearer <access_token>'