CostMonStart free

Connector docs — Azure

Exactly what CostMon asks for to read Azure

CostMon calls Azure Cost Management's Query API once per sync, daily granularity, grouped by service name and region, scoped to one subscription.

What CostMon calls

The literal API surface, nothing more

Cost Management — Query API
POST /subscriptions/<id>/providers/Microsoft.CostManagement/query, ActualCost type, daily granularity, grouped by ServiceName and ResourceLocation.

What you supply

Credential and config fields

tenant_idTenant IDrequired
client_idClient IDrequired
client_secretClient secretsecretrequired
subscription_idSubscription IDrequired

Minimum permission

Copy this, not a broader role

Minimum role assignment
Role: Cost Management Reader
Scope: the subscription you're connecting

Scope of access

What Azure access can't reach

  • Virtual machines, storage accounts, or any other Azure resource
  • Any subscription other than the one you scope the app registration to
  • Any Azure Resource Manager API besides Cost Management's query endpoint

Troubleshooting

Setup errors and what they mean

subscription_id is required
The connector config is missing a subscription ID. Add the subscription you registered the app against.
tenant_id, client_id, and client_secret are all required
One of the three app-registration values is missing. All three are required together; there's no partial-credential state.

FAQ

Common questions about the Azure connector

Does CostMon get access to my VMs or storage through this app registration?

No. Cost Management Reader only grants read access to billing data. It carries no permission to read or change any actual Azure resource.

Can one connector cover multiple subscriptions?

No, one connector is scoped to one subscription_id. Connect each subscription you want visibility into separately.

A rate you looked up will change again.

Provider pricing pages change without notice. CostMon tracks the bill that pays for it.

Esc