Can't deploy any app services to any regions, even free tier not working

Sean O'Neil 20 Reputation points
2026-08-17T15:03:12.2933333+00:00

I have a new subscription in Azure and this is the first time we are deploying app services. We are running into quota errors even making a single VM. Tried multiple different regions, so it doesn't appear to be specific to a region. I tried P0v4 and P0v3 and also tried the free tier. The out-of-the-box quota limit for All Regional VMs shows 0 of 0. Is there a subscription wide setting that I need to adjust to allow any App Services to be created? Here is what we are submitting via Terraform and the response:

Here's the exact error, pulled straight from the latest failed attempt (all three attempts — northeurope P0v4, eastus P0v4, eastus F1 — returned this identical text):

Operation cannot be completed without additional quota.

Additional details - Location:

Current Limit (Total VMs): 0

Current Usage: 0

Amount required for this deployment (Total VMs): 1

(Minimum) New Limit that you should request to enable this deployment: 1.

Note that if you experience multiple scaling operations failing (in addition to this one)

and need to accommodate the aggregate quota requirements of these operations, you will

need to request a higher quota limit than the one currently displayed.

Full API response envelope, in case they want the raw JSON:

{

"Code": "Unauthorized",

"Message": "Operation cannot be completed without additional quota. \r\nAdditional details - Location: \r\nCurrent Limit (Total VMs): 0 \r\nCurrent Usage: 0\r\nAmount required for this deployment (Total VMs): 1 \r\n(Minimum) New Limit that you should request to enable this deployment: 1. \r\nNote that if you experience multiple scaling operations failing (in addition to this one) and need to accommodate the aggregate quota requirements of these operations, you will need to request a higher quota limit than the one currently displayed.",

"Target": null,

"Details": [

{ "Code": "Unauthorized" },

{

  "ErrorEntity": {

    "ExtendedCode": "70007",

    "Code": "Unauthorized",

    "Parameters": ["", "Total VMs", "0", "0", "1", "1"]

  }

}

],

"Innererror": null

}

Worth including in the ticket:

  • HTTP status: 401 Unauthorized (unusual for a quota error — normally 403 — worth flagging to Microsoft, it may hint at which internal check is firing)
  • ExtendedCode: 70007
  • Subscription ID: #################
  • Resource type: Microsoft.Web/serverfarms (App Service Plan)
  • Regions tried: North Europe and East US — same error in both, and it also occurred on an F1 Free-tier plan, not just P0v4 — worth stating explicitly, since it shows the block isn't specific to the P0v4 SKU family and their P0v4-to-31 approval didn't move this counter. That's the key fact to get in front of the support engineer: whatever bucket they raised, it isn't this one.
Azure App Service
Azure App Service

Azure App Service is a service used to create and deploy scalable, mission-critical web apps.

0 comments No comments

Answer accepted by question author
Praneeth Maddali 12,670 Reputation points Microsoft External Staff Moderator
2026-08-17T18:55:50.3433333+00:00

Hi @Sean O'Neil

Thanks for the extra detail — that helps narrow things down. It’s fairly common after a Free Trial > Pay-as-You-Go upgrade for the billing side to complete while the quota backend still sees the old offer for a while (or never fully flips). The QuotaNotAvailableForResource / “Request failed” response is the usual symptom when that happens.

How to confirm the subscription is truly Pay-as-You-Go

  1. Portal check
    • Go to Subscriptions > select the subscription.
    • Look at the Offer column / Overview blade. It should show Pay-As-You-Go (or the equivalent Microsoft Online Services Program / Microsoft Customer Agreement offer).
    • Also check that Spending limit is Off (or no longer present).
  2. CLI check
       az account show --query "{name:name, state:state, spendingLimit:spendingLimit, quotaId:quotaId}" -o json
    
    You want something like:
    • "state": "Enabled"
    • "spendingLimit": "Off" (or absent)
    • "quotaId" not starting with FreeTrial_...

If the portal still shows Free Trial / spending limit On, or the CLI still returns a FreeTrial quotaId, the upgrade hasn’t fully propagated. In that case:

  • Sign out completely, clear browser cache (or use an InPrivate/Incognito window), and sign back in.
  • Double-check that a valid payment method and any required tax/identity info are complete under Cost Management + Billing.
  • If it still looks wrong after a few hours, open a Billing / Subscription management support request (these are free) and ask them to complete the offer switch. Reference: https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/upgrade-azure-subscription

Once the offer is confirmed as Pay-as-You-Go

Retry the App Service quota request the same way as before (Quotas > App Service > region > pencil icon next to F1 / P0v4 / etc.). Small increases are usually auto-approved quickly on a true PAYG subscription.

If the quota request still returns QuotaNotAvailableForResource, open a free support ticket:

  • Issue type: Service and subscription limits (quotas)
  • Quota type: Function or Web App (Windows and Linux)
  • Include the exact error, your subscription ID, the regions/SKUs you need, and mention that this was a Free Trial that was upgraded last week.

Reference:

https://learn.microsoft.com/en-us/rest/api/quota/

https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/upgrade-azure-subscription

If the answer is helpful,  Please do click "Accept the answer” and Yes, this can be beneficial to other community members.

If you have any other questions, let me know in the "comments" and I would be happy to help you

Was this answer helpful?

2 people found this answer helpful.

2 additional answers

Sort by: Newest
  1. Sean O'Neil 20 Reputation points
    2026-08-17T16:53:52.02+00:00

    I think that the root cause of this issue could be that this was a free trial tenant that I have upgraded to pay-as-you-go last week, but something might not have completed successfully. Making any quota change requests I get the same message: Error code: QuotaNotAvailableForResource, message "Request failed." How can I validate that my subscription now is set up correctly as pay-as-you-go?

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-08-17T15:03:33.4566667+00:00

    This is a quota issue, not a Terraform issue. The error means the subscription currently has Total VMs = 0 for the App Service capacity needed by the App Service Plan, so Azure blocks creation of the plan even when usage is 0.

    What this means:

    1. App Service Plan creation consumes quota-backed VM capacity. If Current Limit (Total VMs): 0, a new App Service Plan deployment fails.
    2. Quota is regional. Azure quotas are requested per region. A quota granted in one region does not increase quota in another region.
    3. Free tier can still be blocked by quota. The context shows Free tier App Service Plans can also hit regional quota limits.
    4. Some subscriptions can’t get quota increases. Free Azure trial subscriptions aren’t eligible for limit or quota increases.

    What to do next:

    1. In Azure portal, open Quotas.
    2. Select App Service (Public Preview).
    3. Use the Region filter and choose the target region.
    4. Find the App Service quota for the SKU being deployed, such as F1 VMs, B1 VMs, or P0v4.
    5. Select the edit/request icon and submit a New Quota Request for at least 1.
    6. Repeat for each region that needs deployment, because quota increases are regional.

    If the quota request is rejected or can’t be increased:

    1. In Azure portal, go to Support + Troubleshooting.
    2. Create a support request.
    3. Set Issue type to Service and subscription limits (quotas).
    4. Select the subscription.
    5. Provide the region and the additional quota needed.

    Important checks:

    • If the subscription is a Free Azure trial subscription, upgrade to Pay-as-you-go before requesting increases.
    • If the quota request returns errors such as UnableToIncreaseQuota, ResourceNotAvailableForSubscription, or ContactSupport, the documented action is to open a support request.
    • For VM-style quota scenarios, Azure also checks capacity separately from quota. Even with enough quota, a deployment can still fail if the selected region lacks capacity for that resource at that moment.

    Based on the symptoms described, there is no supported evidence of a separate subscription-wide App Service switch that must be manually enabled. The supported path is to request the required App Service quota in the target region, or open a quota support request if self-service increase fails.


    References:

    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.