Usage, budgets and cost allocation
GET /v1/orgs/{org}/usage?from=&to=&group_by=project|signal|day|team&format=json|csv: records, stored bytes, queries and AI spend per UTC day fromusage_daily. Bytes are stored bytes, estimated from row sizes.teammaps ingest volume by service through cost tags.GET /v1/projects/{prj}/cost/allocation?group_by=team|service|tag: shares of the total cost. Default unit costs are 0.10 USD per GB stored and 0.50 USD per million records; override per call withper_gbandper_million_records. Map services to teams withPUT /v1/projects/{prj}/cost/tags(tag_keyservice).Budgets (
/v1/orgs/{org}/budgets): scopeingest_bytes,ingest_recordsorai_spend, periodminute,dayormonth(UTC), actionalert,throttleorblock. Alerts fire at 80% and 100%.throttlelowers the quota tonotify.throttle_percent(default 50) andblocksets it to 0 until the period ends; the gateway answers 429 withRetry-After.POST /v1/projects/{prj}/quotas/{signal}/liftrestores the quota early,/throttlelowers it on demand.Query limits per minute by role: ReadOnly 60, Engineer 240, ProjectAdmin 600, service keys 1,200 (429 with
Retry-After).A daily job compares
usage_daily.recordswith ClickHouse row counts; a difference over 0.5% is exported aswt_usage_reconcile_diffand audited asusage.reconcile_diff.