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
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the budget. |
Response 200: BudgetSummary
| Field | Type | Required | Description |
|---|---|---|---|
| budget_id | string (uuid) | Yes | Identifier of the budget. |
| estimate | MoneyTotal | Yes | A money aggregate that never coerces unpriced inputs to zero. |
| committed | MoneyTotal | Yes | A money aggregate that never coerces unpriced inputs to zero. |
| actual | MoneyTotal | Yes | A money aggregate that never coerces unpriced inputs to zero. |
| variance | MoneyTotal | Yes | A 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