Skip to content

Get budget totals

Finance module

GET/budgets/{id}/summarybudgets.summary

Returns estimate, committed, actual and variance as NULL-aware totals. Unpriced lines are excluded from each sum and counted in `unpriced_count`. A rule that refuses the request returns 422 with `refusal` and `reason`.

  • Requires the capability finance.budget.read.
  • OAuth scopes: finance.
  • Error statuses: 400, 401, 404, 422, 429. Errors are RFC 9457 problem details.

Path and query parameters

budgets.summary: Path and query parameters
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the budget.

Response 200: BudgetSummary

budgets.summary: BudgetSummary
FieldTypeRequiredDescription
budget_idstring (uuid)YesIdentifier of the budget.
estimateMoneyTotalYesA money aggregate that never coerces unpriced inputs to zero.
committedMoneyTotalYesA money aggregate that never coerces unpriced inputs to zero.
actualMoneyTotalYesA money aggregate that never coerces unpriced inputs to zero.
varianceMoneyTotalYesA money aggregate that never coerces unpriced inputs to zero.
{
  "budget_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "estimate": {
    "total_minor": 1250000,
    "currency": "USD",
    "unpriced_count": 2
  },
  "committed": {
    "total_minor": 1250000,
    "currency": "USD",
    "unpriced_count": 2
  },
  "actual": {
    "total_minor": 1250000,
    "currency": "USD",
    "unpriced_count": 2
  },
  "variance": {
    "total_minor": 1250000,
    "currency": "USD",
    "unpriced_count": 2
  }
}

Code samples

curl -X GET "$XOS_BASE_URL/budgets/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f/summary" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data } = await xos.budgets.summary("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");
response = xos.budgets.summary("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")
xos budgets summary 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f