Skip to main content

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.

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.

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 from GET /v1/dashboard/summary:
CardFieldTypeDescription
Total spendtotal_spendnumberCumulative USD cost of all synced requests
Requeststotal_requestsnumberTotal number of API calls recorded
Input tokenstotal_input_tokensnumberSum of prompt tokens across all requests
Output tokenstotal_output_tokensnumberSum of completion tokens across all requests
Total spend is also shown as a percentage of your configured monthly budget with a colour-coded progress bar.

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 from GET /v1/dashboard/chart?days=<n> and represents a DailySpend object:
FieldTypeDescription
datestringISO date string (e.g. "2025-06-15")
costnumberTotal USD cost for that day
Days with no activity are returned as zero so the chart never shows gaps.

Provider Breakdown

GET /v1/dashboard/providers returns a ProviderBreakdown[] array showing total cost and request count split by provider — currently Anthropic and OpenAI:
FieldTypeDescription
providerstringProvider name (e.g. "anthropic", "openai")
costnumberTotal USD cost for this provider
requestsnumberTotal 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:
FieldTypeDescription
modelstringExact model identifier (e.g. "claude-opus-4-5")
providerstringProvider name
costnumberAggregated USD cost
requestsnumberRequest count
Results are sorted by cost descending so the most expensive model always appears first.

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:
FieldTypeDescription
idnumberUnique record ID
user_idnumberID of the account that owns this record
sync_token_idnumberID of the sync token used to upload this record
timestampstringWhen the upstream AI request was made
providerstring"anthropic" or "openai"
modelstringExact model string (e.g. "claude-opus-4-5", "gpt-4o")
input_tokensnumberPrompt token count
output_tokensnumberCompletion token count
cache_creation_tokensnumberAnthropic cache-write tokens (0 for OpenAI)
cache_read_tokensnumberAnthropic cache-read tokens (0 for OpenAI)
costnumberCalculated cost in USD
request_pathstringThe upstream path the proxy forwarded to
synced_atstringWhen this record was uploaded to the cloud

Connecting the Proxy to the Dashboard

1

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.
2

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.
bg_82f72566bd4662be...
3

Add the token to burnguard.yaml

Open your burnguard.yaml (generated by burnguard init) and paste the token under the sync section:
sync:
  enabled: true
  token: "bg_82f72566bd4662be..."
  url: "https://api.burnguard.run"
  interval: 60
The interval field controls how often (in seconds) the proxy batches and uploads usage records. The default is 60 seconds.
4

Restart the proxy

Apply the new configuration by restarting the proxy:
burnguard start
On the next sync cycle (within 60 seconds of the first request), data will appear in your dashboard.
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.

Build docs developers (and LLMs) love