Skip to main content
A budget is a spending limit for one month, quarter, or year, on all your spend or a filtered slice of it. CostGraph tracks spend against the budget, forecasts where the period ends, and alerts the budget’s owners when spend crosses a threshold or the forecast says it will. You manage budgets through the CostGraph API as a signed-in member of the tenant. API keys and third-party app tokens can’t manage budgets. Graph AI and the MCP server can read them.

Create a budget

Send POST /api/v1/tenant/budgets with your tenant in the X-CostGraph-Tenant-ID header:
The following table describes each field: To change a budget, send the whole budget again with PUT /api/v1/tenant/budgets/{id}. DELETE archives it. GET /api/v1/tenant/budgets/{id}/series returns cumulative daily spend against a straight-line budget for the current period, for charting.

Periods

Periods are calendar periods in UTC: the calendar month, the calendar quarter starting in January, April, July, or October, or the calendar year. Spend resets at the start of each period.

Status

Every budget response includes an evaluation for the current period: actual spend, pctUsed, the period-end forecast, and a status:
  • on_track: spend and forecast are both under the amount.
  • at_risk: spend is under the amount, but the forecast reaches it.
  • over: spend has reached the amount.
CostGraph re-evaluates budgets each time new cost data arrives, usually once a day.

Currency

A budget counts spend in its own currency only. If spend in its scope is billed in a different currency, CostGraph rejects the budget and names the currency to use. Spend in other currencies that matches the filters is listed in excludedCurrencies and left out of the total.

Alerts

CostGraph alerts once for each threshold spend crosses in a period, and once when the forecast first reaches the amount. If spend drops more than five points back below a threshold, that threshold can alert again. Budget alerts go to the budget’s owners and to your organization owners and admins by email. Route cost.budget_threshold and cost.forecast_breach to an alert destination to send them to Slack, Teams, PagerDuty, or a webhook.

Next steps

Forecast

How CostGraph forecasts where the period ends.