Submission API: how to update listing of an MSIX app on the new pricing model (priceId "Base")?

Mattias Linder 0 Reputation points
2026-10-18T09:11:50.7666667+00:00

I'm automating Store listing updates (description, features, keywords, screenshots) for our MSIX apps using the Microsoft Store submission API (manage.devcenter.microsoft.com/v1.0/my/applications/{id}/submissions). We only want to change the listing — never the price. It works for our free app (priceId "Free"). For our paid apps, the price was set in Partner Center and the API returns pricing.priceId = "Base". We then can't update the submission: 1. Sending the pricing object back unchanged (priceId "Base") returns: 400 – "'Base' is not a valid PriceId for base price." 2. Omitting the pricing object returns: 400 – "Pricing data was not provided in the request." Since PUT has no patch semantics, we must send a valid pricing object, but we don't want to change the price. Questions: 1. Is there a supported way to update only the listing of an app whose price was set in Partner Center (priceId "Base"), without changing its pricing? 2. If an explicit tier is required: where can we find the official Tier ID for a given base price (e.g. USD 7.99)? The "view table" link is no longer shown in Pricing and availability for our account. 3. If we send the matching Tier ID, will the app keep its current per-market prices, or will they be recalculated from the old tier table? Related: https://github.com/microsoft/msstore-cli/issues/112 (same behavior, "by design" according to support). Account: Individual/company developer account, apps are MSIX, Store listing en-us only.

Microsoft Partner Center API
0 comments No comments

1 answer

Sort by: Most helpful
  1. AI answer

    2026-10-18T09:12:12.3833333+00:00

    For apps where pricing is managed per market and the returned Pricing.PriceId is Base, there is no supported way in the documented CLI flow to send Base back as the base price. Base is only valid inside market-specific pricing and is not valid for --priceId or for submission updates that require a valid base Pricing.PriceId.

    Supported paths shown in the documentation:

    1. Use Partner Center to publish the update when the Store returns Base, an empty price ID, or no pricing object.
      • This is the documented path when prices are managed per market.
      • For listing-only changes, start a new update in Partner Center, edit the Store listing, save, and submit for certification.
    2. Set an explicit base tier and review before committing if automation must continue.
      • The documented example is:
         msstore publish 'C:\path\to\app' --priceId Tier1012 --noCommit
         msstore submission get <productId>
         msstore submission publish <productId>
      
      • submission update also requires Pricing.PriceId to be a valid value such as Tier<number>, Free, or NotAvailable.

    Answers to the specific questions:

    1. Update only the listing without changing pricing when priceId = "Base"
      • The documented supported approach is to do the update in Partner Center rather than through the submission update flow that requires a valid base Pricing.PriceId.
      • In Partner Center, create a new submission by selecting Start update, then edit Store listings and submit.
    2. Official Tier ID for a given base price such as USD 7.99
      • The documentation states that the publish command page includes a table mapping expanded price tiers to US retail prices.
      • Tier<number> is the official format for a base-price tier, and it is not a literal currency amount.
      • No specific tier number for USD 7.99 is provided in the available context, so only the existence of that mapping table is supported here.
    3. Whether sending a matching Tier ID preserves current per-market prices
      • The documentation explicitly warns that --priceId sets a single base price and doesn't guarantee preservation of per-market prices.
      • Intended market prices must be verified before committing.
      • It also states that --noCommit is not a dry run; it uploads the package and updates the draft.

    Practical safe path:

    1. In Partner Center, open the app overview.
    2. Select Start update.
    3. Go to Store listings and make the listing-only changes.
    4. Save and submit for certification.

    If automation is still required, retrieve the current submission first, update the full JSON, and ensure Pricing.PriceId is a valid Tier<number>, Free, or NotAvailable. Before publishing, inspect Pricing.PriceId and Pricing.MarketSpecificPricings in the draft and verify all market prices, because using a base tier can alter pricing behavior.


    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

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.