External local dashboards need a truthful way to distinguish a fresh read of codex-lb state from an upstream usage refresh attempt. The current live fleet view can read a summary, but upstream usage refresh remains background-only, so a manual refresh button in a sibling dashboard cannot ask codex-lb to refresh and report what happened.
- Add API-key-authenticated
GET /api/fleet/summaryfor minimal per-account capacity state. - Add API-key-authenticated
POST /api/fleet/refreshthat runs the existing usage refresh path outside proxy request selection. - Return a minimal non-sensitive refresh outcome with
usageWritten,accountCount,attemptedCount, andgeneratedAt. - Preserve existing usage-refresh freshness, cooldown, paused, reauth-required, and deactivated-account rules.
fleet-summary: expose minimal account capacity for trusted local fleet consumers and let them request bounded refresh attempts.
- Backend: new
app/modules/fleetAPI, schemas, and mappers; router registration inapp/main.py. - Specs: new
fleet-summarycapability. - Tests: integration coverage for auth, minimal projection, sensitive-field omission, and refresh outcome shape.
- No database migration: no schema changes.