Today, we are excited to announce the beta release of our new REST API for the MongoHQ platform. The new API will allow customers to automate MongoHQ functionality using just REST/HTTP requests, going well beyond the current API's abilities to access databases, collections and documents to rich account management, database and backup control, log access, server status and more.
We began building this updated API immediately after launching Elastic Deployments in the Spring. If you read Pull Requests as a Conversation Starter, we described our development philosophy on this product. During the API creation process, we had many conversations about the purposes of parameters, methods, status codes, and routing.
The new API has been designed to only work with Elastic Deployments and has been crafted so that it can enable the exciting features of our new platform. Therefore it will not be available to customers who have not upgraded to Elastic Deployments and, because of changes to the MongoHQ platform with Elastic Deployments, we will not support legacy databases with this API.
New Features in the API
While our legacy platform had a heavily used API, we wanted to bring the features of Elastic Deployments to users sooner, rather than later, so the API didn't make the transition when we launched. That has allowed us the time to create the new API which includes many of the features from the legacy API and also add a range of new features that we are particularly excited about. With the new API you will be able to:
- Query a database's historical logs
- Get real time access to server status, replica status, and database stats
- Create / list / view / download backups for your elastic deployments
- Use Personal Access Tokens, that can be created and revoked on demand rather than the old Account apikeys
You will find more documentation for the new API on docs.mongohq.com and in the coming days we'll have a how-to article showing how to access some of the new features and understanding the responses.
Switching on proper API Versioning
If there's one regret we have, it's that our legacy API missed one feature. It didn't have any API versioning and when developing APIs, one of the first questions to ask is "how will it manage versions" and it's a question we didn't ask. So, with the new API, we're asking and answering that question and will version the current API with an
Accept-Version: 2014-06 header. We're taking inspiration from Twilio's date-based versioning which allows for more readily understandable version numbers.
Because we are moving to this stricter, versioned API, applications using the legacy API will require a minor change to continue using it after the new API leaves beta. We'll be giving details of these changes in the near future to customer who use the API. If you are a legacy API user with concerns, contact us through the support form and we'll guide you through your options.
Status of the API
Over the next few weeks, we are making final changes to the API. Some endpoints or parameters may be modified and tweaked. Please consider this an early access to the BETA API. With this release, we would love to hear customer API use cases and experience with the API.
Because this release is an early access BETA, we are using the domain:
https://beta-api.mongohq.com. We are working to remove the beta api as soon as possible, and will change the domain to
To explore the REST API endpoints, please see the full documentation. For any feature requests or questions, email email@example.com and let us know how you want to use the API.
If you don't currently have a MongoHQ account, and like the idea of creating and interacting with databases programmatically, create an account to get started.