The BurnGuard Cloud dashboard lives at burnguard.run and provides a centralised view of every AI API dollar your proxy has tracked. It is separate from the local SQLite store on your machine — the proxy pushes usage records to the cloud every 60 seconds using a sync token you generate from the Tokens page. Without a valid sync token, data stays local only and nothing appears in the dashboard.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Verifieddanny/BurnGuard/llms.txt
Use this file to discover all available pages before exploring further.
What the Dashboard Shows
The dashboard is divided into five sections. Four of them are backed by dedicated API endpoints; the fifth — the model breakdown — is computed client-side from recent request records.Summary Cards
Four at-a-glance metrics appear at the top of the Overview page, sourced fromGET /v1/dashboard/summary:
| Card | Field | Type | Description |
|---|---|---|---|
| Total spend | total_spend | number | Cumulative USD cost of all synced requests |
| Requests | total_requests | number | Total number of API calls recorded |
| Input tokens | total_input_tokens | number | Sum of prompt tokens across all requests |
| Output tokens | total_output_tokens | number | Sum of completion tokens across all requests |
Spend Chart
The spend chart plots daily cost over a rolling window. You can switch between 7, 30, and 90 day views using the range selector. Each data point comes fromGET /v1/dashboard/chart?days=<n> and represents a DailySpend object:
| Field | Type | Description |
|---|---|---|
date | string | ISO date string (e.g. "2025-06-15") |
cost | number | Total USD cost for that day |
Provider Breakdown
GET /v1/dashboard/providers returns a ProviderBreakdown[] array showing total cost and request count split by provider — currently Anthropic and OpenAI:
| Field | Type | Description |
|---|---|---|
provider | string | Provider name (e.g. "anthropic", "openai") |
cost | number | Total USD cost for this provider |
requests | number | Total request count for this provider |
Model Breakdown
The backend has no dedicated/dashboard/models endpoint. The model breakdown is computed entirely client-side: the dashboard fetches up to 200 recent UsageRecord entries from GET /v1/dashboard/requests?limit=200 and aggregates them by the model field, summing cost and counting requests. The resulting ModelBreakdown objects are:
| Field | Type | Description |
|---|---|---|
model | string | Exact model identifier (e.g. "claude-opus-4-5") |
provider | string | Provider name |
cost | number | Aggregated USD cost |
requests | number | Request count |
Request Log
GET /v1/dashboard/requests?limit=<n> (default 20) returns the most recent UsageRecord entries for your account. Each UsageRecord has the following fields:
| Field | Type | Description |
|---|---|---|
id | number | Unique record ID |
user_id | number | ID of the account that owns this record |
sync_token_id | number | ID of the sync token used to upload this record |
timestamp | string | When the upstream AI request was made |
provider | string | "anthropic" or "openai" |
model | string | Exact model string (e.g. "claude-opus-4-5", "gpt-4o") |
input_tokens | number | Prompt token count |
output_tokens | number | Completion token count |
cache_creation_tokens | number | Anthropic cache-write tokens (0 for OpenAI) |
cache_read_tokens | number | Anthropic cache-read tokens (0 for OpenAI) |
cost | number | Calculated cost in USD |
request_path | string | The upstream path the proxy forwarded to |
synced_at | string | When this record was uploaded to the cloud |
Connecting the Proxy to the Dashboard
Sign up at burnguard.run
Visit burnguard.run/login and sign in with GitHub, Google, or a passkey. Your account is created automatically on first sign-in.
Create a sync token
Navigate to the Tokens page in the left sidebar and click Create token. Give it a descriptive name such as
production-proxy or dev-machine. The raw token is displayed exactly once — copy it immediately before closing the modal.Add the token to burnguard.yaml
Open your The
burnguard.yaml (generated by burnguard init) and paste the token under the sync section:interval field controls how often (in seconds) the proxy batches and uploads usage records. The default is 60 seconds.The dashboard only shows records that have been synced to the cloud. Usage data is always written to the local SQLite database first — from the moment the proxy starts — but only records uploaded via the sync token appear at burnguard.run. If you run the proxy without a sync token, your local data is preserved and can be uploaded once you configure one.
Dashboard Navigation
Overview
The main landing page after sign-in. Shows summary cards, the spend chart, provider and model breakdowns, and the full request log. This is your primary day-to-day view.
Settings
Configure your monthly budget (requests are blocked once the limit is reached) and alert preferences — choose which Slack or Discord webhook to hit and at which budget thresholds (50%, 80%, 100%) notifications fire. Also shows your linked OAuth providers and passkey registration status.
Tokens
Create and manage sync tokens. Each token links one proxy instance to your account. Tokens can be named per environment and revoked individually. The
last_used_at timestamp on each token tells you when the proxy last synced successfully.