Do not continue submitting different quota requests blindly; query the target subscription’s quota tier, assigned quota, and live model capacity, then open an Azure Support request if eligible capacity remains unavailable.
Azure capacity is subscription-specific and changes over time, so no fixed list of regions or guaranteed 50K TPM allocation can be determined without querying the target subscription. For current Global Standard deployments, the same model and version share a subscription-level quota pool across regions, while physical deployment capacity remains region-specific; Data Zone Standard is pooled per data zone. Regional Standard should be evaluated separately.^1^
1. Check subscription eligibility
Sign in with the target tenant and subscription:
az login --tenant <target-tenant-id>
az account set --subscription <target-subscription-id>
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
az rest --method get \
--url "https://management.azure.com/subscriptions/[Subscription ID]/providers/Microsoft.CognitiveServices/quotaTiers?api-version=2025-10-01-preview"
Inspect properties.currentTierName.
- Free Tier / Tier 0: not eligible for quota increases.
- Higher tiers: eligibility can still depend on the Azure offer, model access, usage, payment history, and Microsoft commercial relationship.
- The quota-tier API is currently preview.^1^
If access is denied, assign Cognitive Services Usages Reader or Reader at the subscription scope. Resource-group scope is insufficient for subscription quota queries.^2^
2. Check deployable capacity for each exact model version
First identify the exact versions intended for deployment. Model name alone is insufficient because availability is version-specific. Check that each version and deployment type is currently supported in the applicable regions.^3^
Run this separately for gpt-4o, gpt-4o-mini, and text-embedding-3-small:
MODEL_NAME="gpt-4o"
MODEL_VERSION="2024-11-20" # Replace with the intended version
az rest --method get \
--url "https://management.azure.com/subscriptions/[Subscription ID]/providers/Microsoft.CognitiveServices/modelCapacities?api-version=2024-10-01&modelFormat=OpenAI&modelName=$MODEL_NAME&modelVersion=$MODEL_VERSION" \
--query "value[].{region:location,sku:properties.skuName,availableUnits:properties.availableCapacity}" \
--output table
Filter the results by the required SKU:
-
GlobalStandard for gpt-4o
-
GlobalStandard for gpt-4o-mini
-
Standard for text-embedding-3-small
The API returns availableCapacity in capacity units, not universally in raw TPM. Do not compare that number directly with 50K TPM or enter it as a TPM allocation. Use Foundry → Manage → Quota → Token per minute to see the corresponding TPM allocation, or apply the documented capacity-unit conversion for that exact model and deployment type.^2^ The API contract confirms that results are separated by location and SKU.^4^
Also confirm that the returned version is not retired; capacity APIs can include retired models that cannot accept new deployments.^2^
3. Distinguish assigned quota from consumed quota
For each relevant region, query the quota ledger:
LOCATION="eastus"
az rest --method get \
--url "https://management.azure.com/subscriptions/[Subscription ID]/providers/Microsoft.CognitiveServices/locations/$LOCATION/usages?api-version=2024-10-01" \
--query "value[?contains(name.value, 'gpt-4o')].{quota:name.value,used:currentValue,limit:limit}" \
--output table
Interpret the results together:
- Sufficient quota, positive matching capacity: attempt deployment through Foundry → Deployments → Deploy model, selecting that exact version and SKU.
- Quota is already allocated elsewhere: use Manage → Quota, open the model details, and reduce an affiliated deployment’s unused allocation before creating the new deployment.
- Matching capacity rows are absent or zero: there is no self-service method to force allocation. Wait for capacity, select another supported model/version or deployment type consistent with your data-processing requirements, or request Microsoft assistance.
- Positive capacity but deployment still fails: capacity is not reserved by the query; capture the API output and deployment error for Support.
4. Escalate the subscription-specific decision
Open Azure portal → Help + support → Create a support request for Azure OpenAI quota/deployment capacity. Include:
- Target subscription ID and quota tier
- Exact model names, versions, and deployment types
- Requested TPM
- Model Capacities and Usages API outputs
- Denial messages and request IDs
- Required geography/data-processing constraints
- Expected production traffic and migration date
Quota requests are processed in order, with priority given to subscriptions actively consuming existing quota; approval is not guaranteed.^5^ Support must confirm whether an account-specific commercial, offer, model-access, or backend capacity restriction applies.
References
- Azure OpenAI in Microsoft Foundry Models quotas and limits
- Manage Azure OpenAI in Microsoft Foundry Models quota
- Region availability for Foundry Models sold by Azure (standard)
- Model Capacities - List
- Azure OpenAI in Azure AI Foundry Models quotas and limits