Runner minutes and cost by group
Runner-minute and cost attribution over a time window, grouped by label/workflow/job/repo/day. Scoped to the caller's orgs.
/api/usageAuthorization
bearerAuth Session token from sling login.
In: header
Query Parameters
GitHub organization login. Required — usage is always org-scoped.
1 <= lengthNarrow to one repository, as owner/name.
Attribution axis — what each row is a total for. Defaults to repo.
Value in
- "label"
- "workflow"
- "job"
- "repo"
- "day"
Column the rows are sorted by. Defaults to cost.
Value in
- "cost"
- "minutes"
- "jobs"
- "key"
Sort direction. Defaults to desc — the biggest spender first.
Value in
- "asc"
- "desc"
Relative lookback, e.g. 30d. Mutually exclusive with month and from/to.
A whole calendar month, YYYY-MM.
Start of the range, inclusive. Required with to.
End of the range, exclusive. Required with from.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/usage?org=acme"{ "group_by": "repo", "window": { "from": "2026-07-12T00:00:00.000Z", "to": "2026-08-12T00:00:00.000Z" }, "plan": { "status": "free", "free_minutes_limit": 2000, "free_minutes_used": 1840, "period_source": "install_cycle" }, "rows": [ { "key": "acme/api", "runner_minutes": 1240.5, "jobs": 318, "cost_usd": 9.92, "pct_of_total": 71.3 }, { "key": "acme/web", "runner_minutes": 499.5, "jobs": 96, "cost_usd": 3.99, "pct_of_total": 28.7 } ]}Rank the biggest CI consumers GET
Aggregate CI leaderboard: rank StarSling-billed jobs by runner-minutes, cost, jobs, p95 duration, p99 duration, or queue wait, grouped by workflow/job/label/repo/branch, over a time window, with each row's trend vs. the prior equal-length window. Scoped to the caller's orgs.
Billing snapshot for a period GET
Read-only budget check. With no month, it returns the current open billing period: runner minutes, cost, credits, amount due, per-label line items, and a projected month-end total. Pass month=YYYY-MM to check a past period — a closed month returns its finalized Stripe invoice, or an in-house estimate when no invoice covers it. Scoped to the caller's orgs. Plan/payment changes stay in the dashboard.