Back to skills
SKILL.md
Azure Cost Management Api
ASecurityIn PowerShell, inline JSON for Cost Management API causes \"Unsupported Media Type\" errors:
- 4 stars
- 0 votes
- 0 copies
- 2 views
- Added September 3, 2026
Works with
Security analysis
100/100npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill azure-cost-management-api --agent claude-codeAre you the author of Azure Cost Management Api?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/fabioc-aloha-azure-cost-management-api)---
name: azure-cost-management-api
description: "In PowerShell, inline JSON for Cost Management API causes \"Unsupported Media Type\" errors:"
lastReviewed: 2026-04-30
---
# Azure Cost Management API
## The Problem
In PowerShell, inline JSON for Cost Management API causes "Unsupported Media Type" errors:
```powershell
# This fails silently or with 415 error
az rest --method POST --uri $uri --body '{"type":"Usage","timeframe":"MonthToDate"}'
```
The shell mangles the JSON.
## The Solution
Write JSON to a file, then reference with `@`:
```powershell
# 1. Create body file
$body = @{
type = "Usage"
timeframe = "MonthToDate"
dataset = @{
granularity = "Daily"
aggregation = @{
totalCost = @{
name = "Cost"
function = "Sum"
}
}
}
} | ConvertTo-Json -Depth 10
$bodyFile = "$env:TEMP\cost-query-body.json"
$body | Out-File -FilePath $bodyFile -Encoding utf8
# 2. Call with file reference
$uri = "/subscriptions/$subscriptionId/providers/Microsoft.CostManagement/query?api-version=2023-03-01"
az rest --method POST --uri $uri --body "@$bodyFile"
```
## Common Queries
### Monthly Cost by Resource Group
```json
{
"type": "Usage",
"timeframe": "MonthToDate",
"dataset": {
"granularity": "None",
"aggregation": {
"totalCost": { "name": "Cost", "function": "Sum" }
},
"grouping": [
{ "type": "Dimension", "name": "ResourceGroup" }
]
}
}
```
### Daily Cost Trend
```json
{
"type": "Usage",
"timeframe": "MonthToDate",
"dataset": {
"granularity": "Daily",
"aggregation": {
"totalCost": { "name": "Cost", "function": "Sum" }
}
}
}
```
## Verification
```powershell
# Should return JSON with "rows" array
$result = az rest --method POST --uri $uri --body "@$bodyFile" | ConvertFrom-Json
$result.properties.rows | Format-Table
```
## When to Apply
- Any Azure Cost Management API call from PowerShell
- Complex JSON bodies in az rest commands
- Budget alerts and cost analysis scripts
## Tags
`azure` `cost-management` `api` `powershell`
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.