{"id":12264,"date":"2026-06-02T12:15:59","date_gmt":"2026-06-02T19:15:59","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=12264"},"modified":"2026-06-02T02:50:46","modified_gmt":"2026-06-02T09:50:46","slug":"announcing-the-public-preview-of-integrated-embeddings-in-azure-cosmos-db-build-ai-apps-with-embeddings-that-stay-in-sync","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/announcing-the-public-preview-of-integrated-embeddings-in-azure-cosmos-db-build-ai-apps-with-embeddings-that-stay-in-sync\/","title":{"rendered":"Announcing the Public Preview of Integrated Embeddings in Azure Cosmos DB: Build AI Apps With Embeddings That Stay in Sync"},"content":{"rendered":"<p class=\"code-line\" dir=\"auto\" data-line=\"2\">AI applications built on Azure Cosmos DB depend on embeddings for grounded results. Keeping them in sync with your data is the hard part: it means building and operating a separate data pipeline to track changes, call an embedding model, and write the results back to Azure Cosmos DB. In practice, that pipeline also has to handle failures and retries, throttling, scaling, and monitoring as your data and traffic grow.<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"4\"><strong>Integrated Embeddings in Azure Cosmos DB<\/strong>, now in <strong>Public Preview<\/strong>, removes that heavy lifting. Azure Cosmos DB automatically generates and maintains the embeddings for you as items are written and updated, so the vectors stored alongside your items always reflect the current state of your data. You configure it by specifying the source properties to embed, the Microsoft Foundry embedding model to use, and the path where the generated embeddings are stored, and then focus on building AI applications, such as Retrieval-Augmented Generation (RAG), on top of your data.<\/p>\n<p dir=\"auto\" data-line=\"4\"><iframe src=\"\/\/www.youtube.com\/embed\/obYZG0hulHw\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>How Integrated Embeddings works<\/h2>\n<p>Integrated Embeddings is configured through a new <code>embeddingSource<\/code> block in the <a href=\"https:\/\/learn.microsoft.com\/azure\/cosmos-db\/vector-search#container-vector-policies\">container vector policy<\/a>. The rest of the policy (vector path, dimensions, distance function) stays the same. This block tells Azure Cosmos DB three things:<\/p>\n<ul>\n<li><strong>What to embed<\/strong>: one or more item properties listed in sourcePaths. When you list multiple paths, the values are combined into a single input for the embedding model. An item is re-embedded only when one of these properties changes.<\/li>\n<li><strong>What to embed with<\/strong>: a Microsoft Foundry embedding model deployment, identified by deploymentName, modelName, and endpoint.<\/li>\n<li><strong>How to authenticate<\/strong>: <code>authType: \"Entra\"<\/code> \u2014 currently the only supported value.<\/li>\n<\/ul>\n<p>For example, here is a vector policy that embeds the <code>\/text<\/code> property of each item using <code>text-embedding-3-small<\/code> and writes the resulting vector to <code>\/embedding<\/code>:<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n  \"vectorEmbeddings\": [\r\n    {\r\n      \"path\": \"\/embedding\",\r\n      \"dataType\": \"float32\",\r\n      \"dimensions\": 1536,\r\n      \"distanceFunction\": \"cosine\",\r\n      \"embeddingSource\": {\r\n        \"sourcePaths\": [\"\/text\"],\r\n        \"deploymentName\": \"text-embedding-3-small\",\r\n        \"modelName\": \"text-embedding-3-small\",\r\n        \"endpoint\": \"https:\/\/&lt;foundry-resource-name&gt;.openai.azure.com\/\",\r\n        \"authType\": \"Entra\"\r\n      }\r\n    }\r\n  ]\r\n}<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><div class=\"alert alert-primary\">At the time of Public Preview, the following Azure OpenAI embedding models are supported through Microsoft Foundry: <code>text-embedding-3-small<\/code>, <code>text-embedding-3-large<\/code>, and <code>text-embedding-ada-002<\/code>.<\/div><\/p>\n<h2>Integrated Embeddings in action<\/h2>\n<p>To get started with a simple example, try the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/integrated-embeddings?tabs=python#get-started-with-integrated-embeddings\">quickstart in the docs<\/a>. It walks through creating a container with an <code>embeddingSource<\/code> policy, inserting a few sample items, and verifying that Azure Cosmos DB writes an embedding to each item.<\/p>\n<p>The walkthrough below is a longer, end-to-end example. You\u2019ll load a dataset of outdoor products into Azure Cosmos DB, let Integrated Embeddings generate the vectors, and then run a vector search against the container.<\/p>\n<p>Before you start, complete the <a href=\"https:\/\/learn.microsoft.com\/azure\/cosmos-db\/integrated-embeddings#prerequisites\">Integrated Embeddings prerequisites<\/a> from the documentation: vector search, change feed mode enabled, and a Microsoft Foundry model deployment. The Azure Cosmos DB account\u2019s managed identity also needs the <code>Cognitive Services OpenAI User<\/code> role on the Microsoft Foundry resource so it can call the model.<\/p>\n<p>In addition, the principal you sign in as needs two role assignments on the Azure Cosmos DB account so the sample app can act on your behalf:<\/p>\n<ul>\n<li><code>Cosmos DB Operator<\/code> (Azure RBAC) to create the database and container through Azure Resource Manager.<\/li>\n<li><code>Cosmos DB Built-in Data Contributor<\/code> (Azure Cosmos DB RBAC) to upsert and read items. See <a href=\"https:\/\/learn.microsoft.com\/azure\/cosmos-db\/integrated-embeddings?tabs=python#use-the-azure-management-sdk-with-microsoft-entra-id\">how to assign these roles<\/a> in the getting started section.<\/li>\n<\/ul>\n<p>In step 4 the sample app calls the Microsoft Foundry embedding deployment directly to embed the query string. For simplicity, the sample uses an API key for this call (Integrated Embeddings itself uses Entra ID, as configured in the vector policy). <a href=\"https:\/\/learn.microsoft.com\/azure\/foundry\/openai\/tutorials\/embeddings?tabs=command-line#retrieve-key-and-endpoint\">Make sure you have the API key<\/a> for your Foundry resource ahead of time and have it ready to drop into <code>.env<\/code> file.<\/p>\n<h3>Set up the sample application<\/h3>\n<p>The sample app is written in Python; you\u2019ll need Python 3.x installed locally. Clone the GitHub repository and install dependencies:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">git clone https:\/\/github.com\/abhirockzz\/integrated-embeddings-sample\r\ncd integrated-embeddings-sample\r\n\r\n# create a virtual environment and install dependencies\r\npython -m venv .venv &amp;&amp; source .venv\/bin\/activate\r\npip install -r requirements.txt<\/code><\/pre>\n<p>Copy <code>.env.example<\/code> to <code>.env<\/code> and fill in your Azure Cosmos DB account endpoint and Microsoft Foundry deployment details:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">cp .env.example .env\r\n# edit .env<\/code><\/pre>\n<p>Sign in to the Azure CLI so the sample app can authenticate to Azure Cosmos DB and Microsoft Foundry using your identity:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">az login<\/code><\/pre>\n<h3>Step 1: Create the database and container<\/h3>\n<p>This script creates the database and a container along with a vector embedding policy that has an <code>embeddingSource<\/code> block with source path <code>\/description<\/code>, model <code>text-embedding-3-small<\/code>, and output stored at <code>\/embedding<\/code>. It adds a <code>quantizedFlat<\/code> vector index on <code>\/embedding<\/code> so you can query the embeddings in step 4.<\/p>\n<p>Run the script:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python create_db_and_container.py<\/code><\/pre>\n<p><div class=\"alert alert-primary\">The container is provisioned with autoscale 1,000 RU\/s.<\/div><\/p>\n<h3>Step 2: Insert sample data<\/h3>\n<p>This script upserts 100 outdoor-product items from items.json into the container. Each item has an <code>id<\/code>, a <code>name<\/code>, a <code>description<\/code>, a <code>category<\/code>, <code>tags<\/code>, and a few other fields \u2014 but only <code>\/description<\/code> is sent to the embedding model, per the policy you set in step 1.<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python insert_sample_data.py<\/code><\/pre>\n<p>You\u2019ll see one line per item as it\u2019s inserted. None of the items have an embedding field yet; Azure Cosmos DB picks up the changes and generates embeddings asynchronously.<\/p>\n<h3>Step 3: Verify embeddings in the Azure portal<\/h3>\n<p>Open the <a href=\"https:\/\/portal.azure.com\">Azure portal<\/a>, navigate to your Azure Cosmos DB account \u2192 <strong>Data Explorer<\/strong>, open the container you created in step 1, and run the query below.<\/p>\n<pre class=\"prettyprint language-sql\"><code class=\"language-sql\">SELECT VALUE COUNT(1) FROM c WHERE IS_DEFINED(c.embedding)<\/code><\/pre>\n<p>When the count reaches 100, all embeddings have been generated.<\/p>\n<h3>Step 4: Run a vector search<\/h3>\n<p>Now that every item has an embedding, you can run a vector search against the container. The script embeds your query string by calling the same Microsoft Foundry embedding model deployment that Azure Cosmos DB used for the items (using the <code>FOUNDRY_API_KEY<\/code> you set in <code>.env<\/code> file), then runs a <code>VectorDistance()<\/code> query to find the closest items by cosine similarity.<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python vector_search.py \"I need to stay warm on a cold ski trip\"<\/code><\/pre>\n<p>Running this returns something similar to the following results. You should see a mix of ski-related gloves and jackets along with some cold-weather sleeping bags \u2014 all relevant to the concept of \u201cstaying warm on a cold ski trip,\u201d even though none of the item descriptions contain those exact words.<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">Query: 'I need to stay warm on a cold ski trip'\r\nTop 5 results:\r\n\r\n1. Studio Talon Insulated Storm Glove\r\ncategory=Winter Sports, Gloves, Insulated Gloves score=0.4974\r\n2. Prairie Nomad Waterproof Resort Shell Jacket\r\ncategory=Skiing, Outerwear, Shell Jackets score=0.4923\r\n3. Ridge Drift Touchscreen Insulated Ski Glove\r\ncategory=Winter Sports, Gloves, Insulated Gloves score=0.4855\r\n4. Everest All-Weather Short 850 Fill Trail Sack\r\ncategory=Camping, Sleeping Bags, Down Bags score=0.4756\r\n5. Brook Shift 850-Fill Trail Sack Sleeping Bag\r\ncategory=Camping, Sleeping Bags, Down Bags score=0.4570<\/code><\/pre>\n<p>A couple more queries to give you a feel for what\u2019s possible.<\/p>\n<p>Try a planning-style query. Instead of gear, you\u2019ll get trip-planning books and trail guides:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python vector_search.py \"plan a long hike in unfamiliar terrain\"<\/code><\/pre>\n<p>Or try a more specific query. The top result is a one-person shelter, with closely related tents below it:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python vector_search.py \"easy to set up shelter for one person\"<\/code><\/pre>\n<p>You can use <code>--top-k<\/code> to control how many results are returned (defaults to 5):<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python vector_search.py \"lightweight cookware for backpacking\" --top-k 3<\/code><\/pre>\n<p><div class=\"alert alert-success\">Pure vector search returns the most semantically similar items but doesn\u2019t account for exact keyword matches. For queries where both semantic intent and specific terms matter, <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/gen-ai\/hybrid-search\">Azure Cosmos DB for NoSQL supports hybrid search<\/a>, which combines vector similarity and full-text (BM25) ranking using Reciprocal Rank Fusion. You can also add a <code>WHERE<\/code> clause to narrow results to a specific category or tag. All of these queries run against the same embeddings that Integrated Embeddings generates and keeps in sync.<\/div><\/p>\n<h2>Build a simple RAG agent on top of the data<\/h2>\n<p>Retrieval-Augmented Generation (RAG) is a pattern where a language model answers user questions by first retrieving relevant content from a knowledge base, then using that content as grounding for its response. For RAG over your Azure Cosmos DB data, the retrieval step is vector search and the knowledge base is your container.<\/p>\n<p>To turn the vector search into a Retrieval-Augmented Generation (RAG) application, we wrap it as a tool that a language model can call. We use a simple <a href=\"https:\/\/docs.langchain.com\/oss\/python\/langchain\/rag\">LangChain<\/a> agent with a <code>retrieve_context<\/code> tool that embeds the user\u2019s query and runs the same <code>VectorDistance()<\/code> search you saw in step 4. The agent decides when to call the tool, reads the results, and answers in natural language. To keep the agent grounded in your data, the system prompt instructs the model to recommend only products that appear in the retrieved results and to ignore any instructions contained in the retrieved text.<\/p>\n<p>The agent needs a large language model (LLM). <a href=\"https:\/\/learn.microsoft.com\/azure\/foundry\/foundry-models\/how-to\/deploy-foundry-models#deploy-a-model\">Deploy the model<\/a> (for example <code>gpt-5.4<\/code>) in your Microsoft Foundry resource and set <code>FOUNDRY_CHAT_DEPLOYMENT<\/code> in <code>.env<\/code> to the deployment name. The agent uses the same <code>FOUNDRY_API_KEY<\/code> for both chat and query-time embedding calls.<\/p>\n<p>Once you start the agent, it opens a simple interactive prompt where you can ask catalog-style questions:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">python rag_agent.py<\/code><\/pre>\n<p>Try out a few queries. For example, ask about a product category and the agent surfaces every relevant item:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">You: What sleeping bags do you have for cold nights?<\/code><\/pre>\n<p>The agent calls the retrieval tool, gets back the three cold-weather down bags in the catalog, and lists them with their shared 850-fill warmth and use cases.<\/p>\n<p>Ask about a specific product feature and the agent filters the results for you:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">You: What ski goggles do you have with a magnetic lens?<\/code><\/pre>\n<p>Vector search returns all three ski goggles in the catalog, but the agent recommends only the two that actually have a magnetic lens system. This is the agent + RAG advantage on top of pure vector search: broad retrieval, narrow reasoning.<\/p>\n<p>Integrated Embeddings keeps the item embeddings in sync with the source data automatically, so the agent\u2019s retrieval stays accurate as products are added, updated, or removed. You don\u2019t have to build or run a separate embedding pipeline to keep the index fresh.<\/p>\n<h2>Other ways to configure Integrated Embeddings<\/h2>\n<p>You can embed more than one property at a time by listing multiple paths in <code>sourcePaths<\/code>. Azure Cosmos DB concatenates the values into a single input for the embedding model. This is useful when no single field carries enough information. For example, a product title is usually too short on its own, but combining <code>\/title<\/code> and <code>\/description<\/code> produces a richer vector.<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n  \"vectorEmbeddings\": [\r\n    {\r\n      \"path\": \"\/embedding\",\r\n      \"dataType\": \"float32\",\r\n      \"dimensions\": 1536,\r\n      \"distanceFunction\": \"cosine\",\r\n      \"embeddingSource\": {\r\n        \"sourcePaths\": [\r\n          \"\/title\",\r\n          \"\/description\"\r\n        ],\r\n        \"deploymentName\": \"text-embedding-3-small\",\r\n        \"modelName\": \"text-embedding-3-small\",\r\n        \"endpoint\": \"https:\/\/&lt;foundry-resource-name&gt;.openai.azure.com\/\",\r\n        \"authType\": \"Entra\"\r\n      }\r\n    }\r\n  ]\r\n}<\/code><\/pre>\n<p>You can also generate multiple embeddings by adding more entries to <code>vectorEmbeddings<\/code>. Each entry has its own path, model, and source properties, and Azure Cosmos DB maintains all of the vectors in parallel.<\/p>\n<p>The example below generates <code>\/desc_embedding<\/code> from <code>\/description<\/code> using <code>text-embedding-3-large<\/code>, and <code>\/title_embedding<\/code> from <code>\/title<\/code> using <code>text-embedding-3-small<\/code>.<\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{\r\n  \"vectorEmbeddings\": [\r\n    {\r\n      \"path\": \"\/desc_embedding\",\r\n      \"dataType\": \"float32\",\r\n      \"dimensions\": 3072,\r\n      \"distanceFunction\": \"cosine\",\r\n      \"embeddingSource\": {\r\n        \"sourcePaths\": [\r\n          \"\/description\"\r\n        ],\r\n        \"deploymentName\": \"text-embedding-3-large\",\r\n        \"modelName\": \"text-embedding-3-large\",\r\n        \"endpoint\": \"https:\/\/&lt;foundry-resource-name&gt;.openai.azure.com\/\",\r\n        \"authType\": \"Entra\"\r\n      }\r\n    },\r\n    {\r\n      \"path\": \"\/title_embedding\",\r\n      \"dataType\": \"float32\",\r\n      \"dimensions\": 1536,\r\n      \"distanceFunction\": \"cosine\",\r\n      \"embeddingSource\": {\r\n        \"sourcePaths\": [\r\n          \"\/title\"\r\n        ],\r\n        \"deploymentName\": \"text-embedding-3-small\",\r\n        \"modelName\": \"text-embedding-3-small\",\r\n        \"endpoint\": \"https:\/\/&lt;foundry-resource-name&gt;.openai.azure.com\/\",\r\n        \"authType\": \"Entra\"\r\n      }\r\n    }\r\n  ]\r\n}<\/code><\/pre>\n<h2>What\u2019s supported in Public Preview<\/h2>\n<p>You can configure Integrated Embeddings today through the Azure Cosmos DB SDK (for Python) with key-based authentication, or through the Azure Cosmos DB management SDK (Python and JavaScript) with Microsoft Entra ID. Both options are demonstrated in the <a href=\"https:\/\/learn.microsoft.com\/azure\/cosmos-db\/integrated-embeddings?tabs=python#get-started-with-integrated-embeddings\">documentation<\/a>. Support across the Azure CLI, ARM, Bicep, and other SDKs will be added in subsequent releases.<\/p>\n<p>Azure Portal support for configuring and managing Integrated Embeddings (in Data Explorer) is not available yet. As we work on adding this, you can configure Integrated Embeddings through one of the SDK options.<\/p>\n<h2>Get started<\/h2>\n<p>With Integrated Embeddings, Azure Cosmos DB keeps vector embeddings in sync with your data automatically, so you no longer need to build and operate separate pipelines to do it. Integrated Embeddings uses your existing Microsoft Foundry and Azure Cosmos DB resources, so the only costs are the Foundry inference calls and the request units used to read the change feed and write embeddings back to your items.<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"274\">To start building:<\/p>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"276\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"276\">Follow the\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/integrated-embeddings?tabs=python#get-started-with-integrated-embeddings\" data-href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/integrated-embeddings?tabs=python#get-started-with-integrated-embeddings\">quickstart<\/a>\u00a0to create a container with an\u00a0<code>embeddingSource<\/code>\u00a0policy and insert your first items.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"277\">Clone the\u00a0<a href=\"https:\/\/github.com\/abhirockzz\/integrated-embeddings-sample\" data-href=\"https:\/\/github.com\/abhirockzz\/integrated-embeddings-sample\">sample app<\/a>\u00a0to run the full walkthrough above on your own data.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"278\">Read the\u00a0<a href=\"https:\/\/aka.ms\/integrated-embeddings-doc\" data-href=\"https:\/\/aka.ms\/integrated-embeddings-doc\">Integrated Embeddings documentation<\/a>\u00a0for the complete reference.<\/li>\n<\/ul>\n<p>We\u2019d love your feedback during preview! Reach out to us at <a href=\"mailto:CosmosSearch@Microsoft.com\">CosmosSearch@Microsoft.com<\/a>.<\/p>\n<h2 id=\"about-azure-cosmos-db\"><strong>About Azure Cosmos DB<\/strong><\/h2>\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>To 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>.\u00a0 Join the discussion with other developers on the\u00a0<a href=\"https:\/\/discord.gg\/pczdC2SU\" target=\"_blank\" rel=\"noopener\">#nosql channel on the Microsoft Open Source Discord<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI applications built on Azure Cosmos DB depend on embeddings for grounded results. Keeping them in sync with your data is the hard part: it means building and operating a separate data pipeline to track changes, call an embedding model, and write the results back to Azure Cosmos DB. In practice, that pipeline also has [&hellip;]<\/p>\n","protected":false},"author":181737,"featured_media":12453,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1610,1980,1862,1217,2023],"tags":[],"class_list":["post-12264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-azure-cosmos-db","category-azure-openai","category-python-sdk","category-rag-ai"],"acf":[],"blog_post_summary":"<p>AI applications built on Azure Cosmos DB depend on embeddings for grounded results. Keeping them in sync with your data is the hard part: it means building and operating a separate data pipeline to track changes, call an embedding model, and write the results back to Azure Cosmos DB. In practice, that pipeline also has [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12264","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\/181737"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=12264"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12264\/revisions"}],"predecessor-version":[{"id":12455,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12264\/revisions\/12455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/12453"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=12264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=12264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=12264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}