Skip to content
View as Markdown

tinker billing

tinker billing

View billing usage.

tinker billing checkpoint-storage

Show current checkpoint storage and its projected run rate.

With no arguments, returns checkpoint storage usage for the entire authenticated organization, grouped by project and session owner. Use --project-id to limit results to one project within that organization. Checkpoint usage data can lag by 1-2 hours. Monthly costs are gross 720-hour projections using current publicly available rates, before credits and commits; they are not invoice amounts due.

Options:

  • --project-id TEXT — Only show storage in this project
  • --csv PATH — Write storage rows as CSV to PATH instead of table/JSON output ('-' for stdout)

tinker billing usage STARTING_ON ENDING_BEFORE

Show hourly billing usage for your organization.

STARTING_ON and ENDING_BEFORE are RFC 3339 timestamps aligned to UTC hour boundaries (e.g. 2026-07-13T00:00:00Z), at most 14 days apart. Returns one row per (hour x usage type x base model x session x user), annotated with the project the usage belongs to. Session user metadata comes as a separate per-session table (JSON output / --sessions-csv) to join on session_id. Quantities are raw tokens / gigabyte-hours. Token and storage rows include estimated gross USD usage cost before credits and commits, plus the applicable effective rate per million tokens or per GB-month. Token cost is the token rate times token_count / 1,000,000; storage cost is the storage rate times gigabyte_hours / 720. These are not invoice amounts due. For a completed UTC day, each model/usage-category group is priced only after its full-day quantity reconciles with finalized invoice usage line items, or the latest draft when no finalized invoice is available. Other groups on the same day may remain null. The current incomplete UTC day instead uses the published Tinker rate-card snapshot, so its estimate is not invoice-reconciled and can change after the day completes. Table output renders an unavailable applicable cost or rate as null; CSV uses blank cells, while the typed SDK and JSON use null. The SDK response and JSON output also include cost_data_through, which marks the exclusive UTC boundary between the two pricing sources: non-null estimates before it use invoice-derived rates, while newer non-null estimates use fixed published rates. A cost or rate may still be null when the data required to price that row is unavailable. cost_data_through is null when the response has no completed day with invoice pricing data. Table and CSV output do not include this response-level field. Data lags real time by up to a few hours.

There are no filter flags: export the window once and filter the CSV/JSON client-side.

Requires billing view access in your organization.

Options:

  • --csv PATH — Write usage rows as CSV to PATH instead of table/JSON output ('-' for stdout)
  • --sessions-csv PATH — Also write the per-session side-table (session_id + user_metadata) as CSV to PATH ('-' for stdout); join it against the usage rows on session_id