Azure Cost Management – API Reference

Overview

The Azure Cost Management REST API enables programmatic access to cost data, budgets, alerts, and pricing information for Azure subscriptions, resource groups, and management groups.

Authentication

All calls must be authorized using Azure AD OAuth2 bearer tokens. Obtain a token for the https://management.azure.com/ resource.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/query?api-version=2023-10-01
Authorization: Bearer <access_token>
Content-Type: application/json

Get Cost Data

Retrieve cost information for a scope (subscription, resource group, or management group).

HTTP MethodURIAPI Version
POST /subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/query 2023-10-01
GET /subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/exports/{exportName} 2023-10-01

Request Body Example

{
  "type": "ActualCost",
  "timeframe": "MonthToDate",
  "dataset": {
    "granularity": "Daily",
    "aggregation": {
      "totalCost": {
        "name": "Cost",
        "function": "Sum"
      }
    },
    "grouping": [
      {
        "type": "Dimension",
        "name": "ResourceGroupName"
      }
    ]
  }
}

Budgets API

Create, read, update, and delete budgets.

// List budgets
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets?api-version=2023-11-01

// Create budget
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}?api-version=2023-11-01
Content-Type: application/json

{
  "properties": {
    "category": "Cost",
    "amount": 500,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2024-01-01",
      "endDate": "2024-12-31"
    },
    "notifications": {
      "emailLow": {
        "enabled": true,
        "threshold": 80,
        "contactEmails": ["admin@example.com"]
      }
    }
  }
}

Alerts API

Manage budget alerts.

// Get alerts for a budget
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}/alerts?api-version=2023-11-01

Pricing API

Access marketplace pricing information.

// Get price sheet
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard?api-version=2022-08-01&offerId=MS-AZR-0017P&currencyCode=USD&locale=en-US&regionInfo=US

Error Codes

Status CodeMessage
400Bad request – missing or invalid parameters.
401Unauthorized – invalid or expired token.
403Forbidden – insufficient permissions.
404Not found – resource does not exist.
429Too many requests – rate limit exceeded.
500Internal server error – retry later.