API
The REST API behind the app. Every view you see has an endpoint with the same filters.
Authentication
Create a token in Settings > API tokens. Tokens carry a role and, for team leads, a team scope. Send it as Authorization: Bearer <token>.
Allocation
Request
curl -s https://acme.kubeon.io/api/allocation \ -H "Authorization: Bearer $KUBEON_API_TOKEN" \ -G \ --data-urlencode "window=7d" \ --data-urlencode "aggregate=team,namespace" \ --data-urlencode "filter=environment:prod" \ --data-urlencode "rate=cumulative"Response
{ "window": { "start": "2026-10-03", "end": "2026-10-09" }, "aggregate": [ "team", "namespace" ], "totals": { "cpu": 24170.7, "ram": 12962.34, "pv": 2395.68, "shared": 3251.28, "idle": 4561, "total": 47341 }, "rows": [ { "team": "Search", "namespace": "search", "total": 5927.05, "efficiency": 66.2 }, { "team": "Payments", "namespace": "payments", "total": 4423.86, "efficiency": 58.3 } ], "other": { "rows": 14, "total": 36990.09 }}Parameters
| Parameter | Values |
|---|---|
window | 7d, 30d, 90d, month, lastmonth, or start,end dates |
aggregate | Up to 5 of cluster, namespace, controller, pod, node, team, account, environment, label:<key> |
filter | Repeatable field:value; values in one filter are OR-ed, separate filters are AND-ed |
rate | cumulative, monthly, daily, hourly |
sort, limit, offset | Server-side sort and paging, up to 500 rows per page |
Other endpoints
| Endpoint | Returns |
|---|---|
GET /api/assets | Nodes, disks and load balancers with capacity and cost |
GET /api/cloud-costs | Billing grouped by provider, service, account, region or cluster |
GET /api/savings | Savings by category with recommendations |
GET /api/proposals | Change proposals with status and evidence |
GET /api/budgets | Budgets with spend, forecast and status |
GET /api/diagnostics | Fleet and per-cluster health |
Need help with this guide?Contact support