missing pricing information for retiring RI's in public pricing API

Ansh Vidyabhanu 40 Reputation points
2026-07-31T11:28:43.9366667+00:00

We need access to this pricing information through the public Pricing API or another API that provides details about retiring VM instances, including their pricing and recommended replacement SKUs.

I understand the rationale behind retiring older infrastructure and encouraging customers to move to newer instance types. However, we currently own a significant number of Reserved Instances (RIs) for Standard_D11_v2, so access to the reservation pricing data remains important for us.

The Azure Pricing team appears to have removed this information from the Retail Prices API, which has broken our automation. For example, the following request no longer returns the pricing data we depend on:

https://prices.azure.com/api/retail/prices?$filter=armRegionName%20eq%20%27eastus%27%20and%20armSkuName%20eq%20%27Standard_D11_v2%27%20and%20priceType%20eq%20%27Reservation%27

Is there an alternative API or another supported way to retrieve this pricing information for retired SKUs, or to obtain a list of retiring instances along with their pricing and recommended alternatives?

Cost Management
Cost Management

A Microsoft offering that enables tracking of cloud usage and expenditures for Azure and other cloud providers.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Suchitra Suregaunkar 16,210 Reputation points Microsoft External Staff Moderator
    2026-08-05T09:12:07.4333333+00:00

    Hello Ansh Vidyabhanu

    Thank you for posting your query on Microsoft Q&A platform.

    Standard_D11_v2 belongs to the Dv2 series, and as of 1 July 2026 Azure no longer offers new purchases or renewals of Reserved VM Instances for a set of legacy series Av2, Amv2, Bv1, D, Ds, Dv2, Dsv2, F, Fs, Fsv2, G, Gs, Ls and Lsv2 for one-year terms, plus Dv3, Dsv3, Ev3 and Esv3 for both one- and three-year terms.

    This was announced on 4 May 2026. Once a series leaves the reservation catalogue, its reservation meters stop being published, so a priceType eq 'Reservation' filter legitimately returns an empty result set rather than an error. The Retail Prices API is behaving as designed here it publishes currently purchasable rates, not historical or retired ones.

    Details: https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/manage-legacy-vm-reservations-after-july-1-2026 and the Azure Compute announcement.

    Could you run these and share what comes back? They'll confirm whether this is the catalogue change or something else:

    1. Same query with priceType eq 'Consumption' — if pay-as-you-go rates return normally, the API and the SKU are both fine and only the reservation meters are gone.
    2. Drop armSkuName and filter on the product instead, e.g. serviceName eq 'Virtual Machines' and armRegionName eq 'eastus' and priceType eq 'Reservation' and contains(productName, 'Dv2'). Reservation meters don't always carry armSkuName populated the same way consumption meters do, so it's worth ruling that out. Since Dv2 was only discontinued for one-year terms, a three-year rate may still be present.

    Your existing reservations are not affected:

    To be clear on the commercial side: every RI you've already purchased keeps its full discount until the end of its term. Nothing was cancelled and no VM changed state. The change is limited to new purchases and renewals including auto-renewal, which can no longer be fulfilled for these series.

    Where to get reservation pricing going forward:

    The Retail Prices API isn't the right source for your scenario, because it doesn't retain rates for products that are no longer sold. Your organisation's Azure price sheet is, and it includes reservation pricing under

    priceType = ReservedInstance:

    One important caveat for your automation: the price sheet carries reservation pricing for the current billing period only, and is retrievable up to 13 months back. Microsoft's own recommendation is to download and archive the price sheet each billing period if you need an ongoing record of RI pricing.

    On a list of retiring SKUs with replacements:

    There's no public API that returns retiring SKUs alongside recommended replacements today, the authoritative sources are documentation.

    The Retired VM Sizes Migration Guide maps D/Ds/Dv2/Dsv2 to Dsv5/Ddsv5/Dasv5/Dadsv5 and Dasv6/Dadsv6/Dsv6/Ddsv6, and Dv2 is listed with a planned retirement date of 1 May 2028, so you have runway to plan. If it would help your automation, raising a feature request on the https://github.com/Azure/azure-rest-api-specs is the right channel this is a reasonable ask and customer demand does influence prioritisation.

    What I'd suggest for your Dv2 commitment:

    Given you hold a meaningful number of Dv2 RIs, two options are worth modelling before your current terms expire:

    Worth acting on sooner rather than later: from 1 February 2027, reservations purchased after that date are no longer eligible for exchange where the service is covered by savings plans, and reservations purchased before it retain the right to one final exchange. Trade-in policy for savings plans is unchanged.

    Thanks,

    Suchitra.

    Was this answer helpful?

    0 comments No comments

  2. Divyesh Govaerdhanan 11,725 Reputation points MVP Volunteer Moderator
    2026-07-31T22:17:53.5766667+00:00

    Hello Ansh Vidyabhanu,

    Welcome to Microsoft Q&A,

    This is expected behavior, not a data issue. Starting July 1, 2026, purchases and renewals of Reserved Instances were discontinued for the Dv2 series (along with Av2, Amv2, Bv1, D, Ds, Dsv2, F, Fs, Fsv2, G, Gs, Ls, Lsv2, and 1yr/3yr for Dv3, Dsv3, Ev3, Esv3). The Retail Prices API only returns prices for products that can currently be purchased, so the priceType eq 'Reservation' records for Standard_D11_v2 were removed. Your existing RIs are not affected, they keep their discount until the end of their term. See Transition guide for retired Azure Reserved VM Instances.

    I verified your exact query, it returns Count: 0 for Reservation, while Consumption, Spot, and DevTest meters for Standard_D11_v2 still return normally.

    Alternatives for the data you need:

    1. Pricing for RIs you already own: Use the Reservation Transactions API to pull the actual purchase amounts, and amortized cost data via Cost Management exports to see effective reservation rates applied to usage. The Price Sheet API also returns prices scoped to your billing account.
    2. List of retiring instances, dates, and recommended replacements: There is no API for this today. The authoritative source is the Retired VM Sizes Migration Guide, which has the full table of RI expiration dates (Dv2: 1yr RI ended 07/01/2026, retirement 05/01/2028) and replacement mappings. For Dv2 the recommended targets are Dsv5/Ddsv5/Dasv5 and Dsv6/Ddsv6/Dasv6, and for the high-memory D11-D14 v2 sizes the Esv6/Edsv6/Easv6 series. Also see the retired sizes list.
    3. Retail reservation prices for retired SKUs: These are no longer published and the Retail Prices API has no historical mode. If your automation needs reference pricing, snapshot the API data going forward before a series hits its RI cutoff. You can request historical data restoration as a feature via the Cost Management feedback forum.

    Since new Dv2 reservations can no longer be bought, the recommended path when your current RIs expire is either an Azure savings plan for compute (you can trade in existing RIs) or migrating to a newer series that still supports RIs.

    Please click Accept Answer and upvote if this helped

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.