API documentation
Everything you need to authenticate, pull live data, and design tools against the Lumenboard API — the same interface a real integration would use.
Getting an API key
- Your team receives one pre-generated API key at kickoff — check with your team lead or the run organizer if you don't have yours yet. Keys are issued per team, not per person, so everyone on a team shares the same key.
- Confirm your key works by calling
GET /healthwith it attached (see the example below). A successful response echoes your team name back to you. - That's it — the same key authenticates every endpoint below. There's no separate sign-up flow and no OAuth dance; it's a flat per-team credential, like a typical SaaS API key.
Treat your key like any other client secret: don't commit it to a public repo or paste it into a shared chat. If you think it's leaked, ask the organizer for a new one.
Authenticating a request
Every endpoint (except this docs page and the raw /openapi.json spec) requires your key on the
x-api-key header:
curl https://api.lumenboard.syntheticsignal.io/health \ -H "x-api-key: YOUR_TEAM_KEY"
An Authorization: Bearer YOUR_TEAM_KEY header is
also accepted as a fallback, but x-api-key is the documented, primary scheme.
Endpoints
| Method | Path | What it returns |
|---|---|---|
| GET | /health | Confirms your key works |
| GET | /users | Paginated list of users (page, pageSize) |
| GET | /accounts | All accounts, incl. plan, seats, MRR, health score, renewal date |
| GET | /accounts/{id}/usage | Weekly usage time series for one account |
| GET | /events?since= | Recent product events, cursor-paginated, filterable by time |
Every error response — missing key, wrong key, bad parameter,
unknown account id, rate limit — shares the same shape: {"error":{"code":"...","message":"..."}}.
Raw OpenAPI spec
The spec below is fetched live from the running API, not a hand-copied snapshot — what you see here is exactly what the API itself will return.
(click "Fetch spec" once the API base above points at a running instance)