Usage and credits
Aura reports usage in credits. Every figure is scoped to your company — the key you authenticate with decides whose usage you see — and any member or company API key can read all of it.
A few properties worth knowing before you reconcile numbers:
- Credits are fractional, rounded to 2 decimal places per reported figure — the company total and each per-user or per-key row round independently, so the rows may differ from the total by cents.
- Some history is unattributed. Events recorded before per-principal attribution existed carry
neither a user nor a key. They are in the company totals and broken out as
unattributed, sototal = per-user + per-key + unattributedholds to within the rounding cents.
Company-wide totals
Section titled “Company-wide totals”aura usage showconst usage = await aura.getUsage();
console.log(usage.totals.credits);console.log("unattributed:", usage.unattributed.credits);usage = await aura.get_usage()
print(usage.totals.credits)print("unattributed:", usage.unattributed.credits)Per user, per API key
Section titled “Per user, per API key”Human spend and key-driven spend are separate groupings: a request authenticated with an API key is attributed to that key, not to the person who created it. Rows come back spend-descending.
aura usage usersaura usage keysfor (const row of await aura.listUserUsage()) { console.log(row.email, row.totals.credits);}for (const row of await aura.listApiKeyUsage()) { console.log(row.name, row.revoked ? "(revoked)" : "", row.totals.credits);}for row in await aura.list_user_usage(): print(row.email, row.totals.credits)for row in await aura.list_api_key_usage(): print(row.name, "(revoked)" if row.revoked else "", row.totals.credits)Revoked keys keep their history — spend that happened is still spend — and come back flagged
revoked.
Bounding the window
Section titled “Bounding the window”All three reads take an optional window: since inclusive, until exclusive. Omit either end to
leave it open.
aura usage show --since 2026-08-01 --until 2026-09-01const august = await aura.getUsage({ since: new Date("2026-08-01"), until: new Date("2026-09-01"),});from datetime import UTC, datetime
august = await aura.get_usage( since=datetime(2026, 8, 1, tzinfo=UTC), until=datetime(2026, 9, 1, tzinfo=UTC),)