Receipts

Each request is logged with provider, model, token counts, and estimated kgCO2e. Receipts are stored in Postgres when configured, or JSONL locally.

Storage
Postgres table: `usage_events`.
Fallback file: `data/usage.jsonl`.
Fields
provider, model, profileUsed, profileRequested
inputTokens, outputTokens
estimatedKgCO2e, avoidedKgCO2e, cacheHit
utm (utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid)
Example
{
  "id": "req_123",
  "createdAt": "2025-01-01T12:00:00Z",
  "workspaceId": "acme",
  "provider": "openai",
  "model": "gpt-5-mini",
  "profileRequested": "auto",
  "profileUsed": "eco_fast",
  "inputTokens": 42,
  "outputTokens": 128,
  "estimatedKgCO2e": 0.00003,
  "avoidedKgCO2e": 0.00001,
  "cacheHit": false,
  "ecoMode": true,
  "requestHash": "...",
  "utm": { "source": "newsletter", "campaign": "launch" }
}