docs/fireworks.md
Fireworks is API-only for billing: there is no public credit-balance endpoint, so CodexBar shows the last 30 days of rated spend from the account billing summary API instead of a balance gauge.
~/.codexbar/config.json or supplied via FIREWORKS_API_KEY (legacy alias: FIREWORKS_KEY).~/.codexbar/config.json or supplied via FIREWORKS_ACCOUNT_SLUG.The slug is the segment after /accounts/ in console URLs (e.g. the slug for
app.fireworks.ai/accounts/x0mh0x is x0mh0x). Fireworks does not expose a whoami endpoint, so the slug
cannot be derived from the API key and is required. Settings shows an API key field plus an Account slug field,
and the config validator flags a missing slug when a key is configured.
GET https://api.fireworks.ai/v1/accounts/{account_slug}/billing/summary?startTime=...&endTime=...Authorization: Bearer <api key>, Accept: application/jsonstartTime/endTime as ISO 8601); granularity is not requested.lineItems with rated totalCost entries (currencyCode, units, nanos).units + nanos / 1e9 across line items, using the first rated currency as the display currency
and skipping rows in other currencies.$0.53 under a "Spend" label.The native fetcher remains authoritative. A valid response with no rated line items intentionally produces a successful snapshot with no rate window, cost, or detail; the current plugin snapshot contract rejects that shape.
Sources/CodexBarCore/Providers/Fireworks/FireworksProviderDescriptor.swift (descriptor + fetch strategy)Sources/CodexBarCore/Providers/Fireworks/FireworksUsageFetcher.swift (HTTP client + JSON parser)Sources/CodexBarCore/Providers/Fireworks/FireworksSettingsReader.swift (env var resolution)Sources/CodexBar/Providers/Fireworks/FireworksProviderImplementation.swift (settings fields)Sources/CodexBar/Providers/Fireworks/FireworksSettingsStore.swift (SettingsStore extension)