{"id":10025,"date":"2025-05-07T07:00:09","date_gmt":"2025-05-07T14:00:09","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=10025"},"modified":"2025-05-13T13:10:35","modified_gmt":"2025-05-13T20:10:35","slug":"general-availability-for-data-api-in-vcore-based-azure-cosmos-db-for-mongodb","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/general-availability-for-data-api-in-vcore-based-azure-cosmos-db-for-mongodb\/","title":{"rendered":"General Availability for Data API in vCore-based Azure Cosmos DB for MongoDB"},"content":{"rendered":"<p><strong>Title: General Availability for Data API in vCore-based Azure Cosmos DB for MongoDB<\/strong><\/p>\n<p><strong> We\u2019re excited to announce the general availability of the Data API for vCore-based Azure Cosmos DB for MongoDB!<\/strong><\/p>\n<h3><strong>Overview<\/strong><\/h3>\n<p>The <strong>Data API<\/strong> is a RESTful HTTPS interface that enables developers to interact with their MongoDB data hosted in <strong>vCore-based Azure Cosmos DB<\/strong> directly from their applications\u2014no drivers or complex query logic required. It offers a simple, efficient way to connect your MongoDB data with web apps, mobile apps, and tools like Power BI.<\/p>\n<p>At launch, the Data API supports the following read operations:<\/p>\n<ul>\n<li><span style=\"font-family: terminal, monaco, monospace;\">aggregate<\/span><\/li>\n<li><span style=\"font-family: terminal, monaco, monospace;\">listDatabases<\/span><\/li>\n<li><span style=\"font-family: terminal, monaco, monospace;\">listCollections<\/span><\/li>\n<li><span style=\"font-family: terminal, monaco, monospace;\">getSchema<\/span><\/li>\n<\/ul>\n<p>Initial support focuses on read operations, with write capabilities planned for future updates. By simplifying how apps access data, the Data API reduces overhead and accelerates development across a wide range of use cases.<\/p>\n<p><strong>Usage Examples:<\/strong><\/p>\n<h3><strong><em>Aggregate<\/em><\/strong><\/h3>\n<p>Request:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">curl {cluster-name}.data.mongocluster.cosmos.azure.com:443\/data\/v1\/action\/aggregate -H \"Content-Type: application\/ejson\" -H \"Accept:application\/ejson\" -d '{\"database\" : \"testDB\", \"collection\" : \"testCollection\", \"pipeline\" : [{\"$limit\" : 500}]}' --user \"{username}:{password}\"<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n    \"documents\": [\r\n        {\r\n            \"_id\": {\r\n                \"$oid\": \"680957492551581200c73bf8\"\r\n            },\r\n            \"name\": \"Sample Document\",\r\n            \"createdAt\": {\r\n                \"$date\": {\r\n                    \"$numberLong\": \"1745442633506\"\r\n                }\r\n            },\r\n            \"tags\": [\r\n                \"test\",\r\n                \"mongo\",\r\n                \"sample\"\r\n            ]\r\n        }\r\n    ]\r\n}<\/code><\/pre>\n<h3><strong><em>ListDatabases<\/em><\/strong><\/h3>\n<p>Request:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">curl\u00a0{cluster-name}.data.global.mongocluster.cosmos.azure.com:443\/data\/v1\/action\/listDatabases\u00a0-H\u00a0\"Content-Type:\u00a0application\/ejson\"\u00a0-H\u00a0\"Accept:application\/ejson\"\u00a0-d\u00a0'{}' --user \"{username}:{password}\"<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n    \"databases\": [\r\n        {\r\n            \"name\": \"testDB\",\r\n            \"sizeOnDisk\": {\r\n                \"$numberInt\": \"0\"\r\n            },\r\n            \"empty\": false\r\n        },\r\n        {\r\n            \"name\": \"test\",\r\n            \"sizeOnDisk\": {\r\n                \"$numberInt\": \"0\"\r\n            },\r\n            \"empty\": false\r\n        }\r\n    ],\r\n    \"totalSize\": {\r\n        \"$numberInt\": \"0\"\r\n    },\r\n    \"ok\": {\r\n        \"$numberDouble\": \"1.0\"\r\n    }\r\n}<\/code><\/pre>\n<h3><strong><em>ListCollections<\/em><\/strong><\/h3>\n<p>Request:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">curl\u00a0{cluster-name}.data.global.mongocluster.cosmos.azure.com:443\/data\/v1\/action\/listCollections\u00a0-H\u00a0\"Content-Type:\u00a0application\/ejson\"\u00a0-H\u00a0\"Accept:application\/ejson\"\u00a0-d\u00a0'{\"database\":\u00a0\"newDB\"}' --user \"{username}:{password}\"<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n    \"collections\": [\r\n        {\r\n            \"name\": \"testCollection\",\r\n            \"type\": \"collection\",\r\n            \"options\": {},\r\n            \"info\": {\r\n                \"readOnly\": false,\r\n                \"uuid\": {\r\n                    \"$binary\": {\r\n                        \"base64\": \"mNh96KepTm+NtLtALGxDiw==\",\r\n                        \"subType\": \"04\"\r\n                    }\r\n                }\r\n            },\r\n            \"idIndex\": {\r\n                \"v\": {\r\n                    \"$numberInt\": \"2\"\r\n                },\r\n                \"name\": \"_id_\",\r\n                \"key\": {\r\n                    \"_id\": {\r\n                        \"$numberInt\": \"1\"\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    ]\r\n}<\/code><\/pre>\n<h3><strong><em>GetSchema<\/em><\/strong><\/h3>\n<p>Request:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">curl {cluster-name}.data.mongocluster.cosmos.azure.com:443\/data\/v1\/action\/getSchema -H \"Content-Type: application\/ejson\" -H \"Accept:application\/ejson\" -d '{\"database\" : \"testDB\", \"collection\" : \"testCollection\"}' --user \"{username}:{password}\"<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n    \"_id\": {\r\n        \"bsonType\": \"objectId\"\r\n    },\r\n    \"name\": {\r\n        \"bsonType\": \"string\"\r\n    },\r\n    \"createdAt\": {\r\n        \"bsonType\": \"date\"\r\n    },\r\n    \"tags\": {\r\n        \"bsonType\": \"array\"\r\n    }\r\n}<\/code><\/pre>\n<h3><strong>HTTPs vs TCP<\/strong><\/h3>\n<p>Previously, developers accessed <strong>vCore-based Azure Cosmos DB for MongoDB<\/strong> using only TCP endpoints. With the introduction of an HTTPS endpoint through the <strong>Data API<\/strong>, the experience has fundamentally improved. Developers can now build applications using familiar RESTful APIs, without needing to manage specialized drivers or complex protocols. The Data API delivers a secure, modern, and developer-friendly way to connect to MongoDB data.<\/p>\n<h3>PowerBI Connector<\/h3>\n<p>The <strong>Data API<\/strong> for <strong>vCore-based Azure Cosmos DB for MongoDB<\/strong> now supports direct integration with <strong>Power BI<\/strong> through a certified connector. This powerful capability allows teams to query live operational data directly within Power BI\u2014no data movement, duplication, or ETL required.<\/p>\n<p>By leveraging the HTTPS-based <strong>Data API<\/strong>, users can:<\/p>\n<ul>\n<li>Securely connect to MongoDB collections in real time<\/li>\n<li>Transform complex JSON documents into structured models using Power Query<\/li>\n<li>Build rich, interactive dashboards powered by live data<\/li>\n<\/ul>\n<p>Whether you&#8217;re monitoring inventory, analyzing user behavior, or creating executive reports, this integration brings your analytics layer closer to your application data\u2014seamlessly and securely.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-10042 size-large\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/power-bi-data-api-powerbi-connector-azure-cosmo-1024x393.png\" alt=\"Power BI, Data API, PowerBI Connector, Azure Cosmos DB for MongoDB Cluster\" width=\"1024\" height=\"393\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/power-bi-data-api-powerbi-connector-azure-cosmo-1024x393.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/power-bi-data-api-powerbi-connector-azure-cosmo-300x115.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/power-bi-data-api-powerbi-connector-azure-cosmo-768x295.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/power-bi-data-api-powerbi-connector-azure-cosmo.png 1127w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3>Authentication<\/h3>\n<p>The <strong>Data API<\/strong> for <strong>vCore-based Azure Cosmos DB for MongoDB<\/strong> uses the same MongoDB user authentication as the TCP endpoint. Roles and permissions assigned to MongoDB users apply seamlessly across both connection methods\u2014whether you&#8217;re accessing data through drivers or via the HTTPS-based Data API.<\/p>\n<p>At launch, the <strong>Data API<\/strong> supports HMAC authentication. Support for <strong>Microsoft Entra ID<\/strong> is coming soon, enabling even more secure and flexible identity integration.<\/p>\n<h3><strong>How to Get Started<\/strong><\/h3>\n<p>If you&#8217;re ready to explore the <strong>Data API<\/strong> for <strong>vCore-based Azure Cosmos DB for MongoDB<\/strong>, you can get started today. If you already have a cluster, simply go to the <strong>Features<\/strong> blade in the Azure Portal and enable the Data API for your existing vCore-based MongoDB cluster. If you\u2019re new to vCore-based Azure Cosmos DB for MongoDB, you can create a new cluster directly in the <a href=\"https:\/\/portal.azure.com\/\">Azure Portal<\/a> and start using the Data API right away.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-10043 size-medium\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-phone-ai-generated-content-may-288x300.png\" alt=\"A screenshot of a phone AI-generated content may be incorrect.\" width=\"288\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-phone-ai-generated-content-may-288x300.png 288w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-phone-ai-generated-content-may-24x24.png 24w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-phone-ai-generated-content-may.png 495w\" sizes=\"(max-width: 288px) 100vw, 288px\" \/><\/p>\n<p>Features Blade<\/p>\n<p><figure id=\"attachment_10044\" aria-labelledby=\"figcaption_attachment_10044\" class=\"wp-caption alignnone\" ><img decoding=\"async\" class=\"wp-image-10044\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated.png\" alt=\"A white background with black lines AI-generated content may be incorrect.\" width=\"1809\" height=\"283\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated.png 1809w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated-300x47.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated-1024x160.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated-768x120.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-background-with-black-lines-ai-generated-1536x240.png 1536w\" sizes=\"(max-width: 1809px) 100vw, 1809px\" \/><figcaption id=\"figcaption_attachment_10044\" class=\"wp-caption-text\">Data API &#8216;Off&#8217; Status<\/figcaption><\/figure><\/p>\n<p><figure id=\"attachment_10045\" aria-labelledby=\"figcaption_attachment_10045\" class=\"wp-caption alignnone\" ><img decoding=\"async\" class=\"wp-image-10045 size-large\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-computer-error-ai-generated-con-1024x498.png\" alt=\"A screenshot of a computer error AI-generated content may be incorrect.\" width=\"1024\" height=\"498\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-computer-error-ai-generated-con-1024x498.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-computer-error-ai-generated-con-300x146.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-computer-error-ai-generated-con-768x374.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-screenshot-of-a-computer-error-ai-generated-con.png 1130w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"figcaption_attachment_10045\" class=\"wp-caption-text\">Data API Enable Button<\/figcaption><\/figure><\/p>\n<p><figure id=\"attachment_10046\" aria-labelledby=\"figcaption_attachment_10046\" class=\"wp-caption alignnone\" ><img decoding=\"async\" class=\"wp-image-10046\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge.png\" alt=\"A white rectangular object with black lines AI-generated content may be incorrect.\" width=\"1823\" height=\"274\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge.png 1823w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge-300x45.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge-1024x154.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge-768x115.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/04\/a-white-rectangular-object-with-black-lines-ai-ge-1536x231.png 1536w\" sizes=\"(max-width: 1823px) 100vw, 1823px\" \/><figcaption id=\"figcaption_attachment_10046\" class=\"wp-caption-text\">Data API &#8216;On&#8217; Status<\/figcaption><\/figure><\/p>\n<h3>Data API \u2018On\u2019 Status<\/h3>\n<p>For more information and step-by-step guidance, visit our <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/mongodb\/vcore\/data-api\">public documentation.<\/a><\/p>\n<h3>Learn More<\/h3>\n<p>Stay tuned\u2014we\u2019ll be sharing tutorials, demos, and walkthroughs to help you set up Power BI dashboards with ease. In the meantime, if you&#8217;re using <strong>vCore-based Azure Cosmos DB for MongoDB<\/strong>, you&#8217;re just a few clicks away from unlocking powerful, real-time business intelligence. Visit the <a href=\"https:\/\/ms.portal.azure.com\/#home\">Azure Portal<\/a> to get started today.<\/p>\n<h3><strong>Leave a review\u00a0<\/strong><\/h3>\n<p>Tell us about your Azure Cosmos DB experience! Leave a review on PeerSpot and we\u2019ll gift you $50.\u00a0<a href=\"https:\/\/peerspotdotcom.my.site.com\/proReviews\/?SalesOpportunityProduct=00kPy000004TKXJIA4&amp;productPeerspotNumber=30881&amp;CalendlyAccount=peerspot&amp;CalendlyFormLink=peerspot-product-reviews-ps-gc-vi-sf-50&amp;giftCard=50%22%20\\t%20%22_blank\">Get started here<\/a>.<\/p>\n<h3><strong>\u00a0<\/strong><strong>About Azure Cosmos DB\u00a0<\/strong><\/h3>\n<p>Azure Cosmos DB is a fully managed and serverless NoSQL and vector database for modern app development, including AI applications. With its SLA-backed speed and availability as well as instant dynamic scalability, it is ideal for real-time NoSQL and MongoDB applications that require high performance and distributed computing over massive volumes of NoSQL and vector data.<\/p>\n<p><a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/purchase-options\/azure-account?icid=cosmos-db\" target=\"_blank\" rel=\"noopener\">Try Azure Cosmos DB for free here.<\/a>\u00a0To stay in the loop on Azure Cosmos DB updates, follow us on\u00a0<a href=\"https:\/\/twitter.com\/AzureCosmosDB\" target=\"_blank\" rel=\"noopener\">X<\/a>,\u00a0<a href=\"https:\/\/aka.ms\/AzureCosmosDBYouTube\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>, and\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/azure-cosmos-db\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Title: General Availability for Data API in vCore-based Azure Cosmos DB for MongoDB We\u2019re excited to announce the general availability of the Data API for vCore-based Azure Cosmos DB for MongoDB! Overview The Data API is a RESTful HTTPS interface that enables developers to interact with their MongoDB data hosted in vCore-based Azure Cosmos DB [&hellip;]<\/p>\n","protected":false},"author":183128,"featured_media":10048,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[15,14],"tags":[],"class_list":["post-10025","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb-api","category-core-sql-api"],"acf":[],"blog_post_summary":"<p>Title: General Availability for Data API in vCore-based Azure Cosmos DB for MongoDB We\u2019re excited to announce the general availability of the Data API for vCore-based Azure Cosmos DB for MongoDB! Overview The Data API is a RESTful HTTPS interface that enables developers to interact with their MongoDB data hosted in vCore-based Azure Cosmos DB [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/10025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/183128"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=10025"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/10025\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/10048"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=10025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=10025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=10025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}