Enable Lumen
Lumen does not collect anything until an org admin or owner provisions it. After that you mint a key in the Lumen app and send events over HTTP — or install the collector in a Kubernetes cluster.
- 1. EnableGovernance → Observability
- 2. Mint a keylumen.orkestia.dev
- 3. Send an eventHTTP or collector
- 4. Open logs
- 1. Enable→2. Mint a key
- 2. Mint a key→3. Send an event
- 3. Send an event→4. Open logs
1. Enable it for the organization
- Sign in at app.orkestia.dev.
- Open Governance → Observability (Lumen) (
/governance/lumen). - If Lumen has never been turned on, the page says Lumen is not enabled for this organization.
- Choose a plan:
- Enable Free — on immediately, no checkout.
- Enable Pro / Enable Enterprise — Stripe checkout, then Lumen is provisioned.
Until this succeeds, every ingest call returns 403 with "code": "LUMEN_NOT_PROVISIONED". Paused orgs use the same code. Auth failures are 401 INGEST_AUTH_REQUIRED / INGEST_AUTH_INVALID. Over the per-minute cap: 429 INGEST_RATE_LIMITED plus Retry-After and X-RateLimit-*. Over the monthly entry cap: 429 { "quota_exceeded": true }.
Plans
| Plan | Ingest cap / min | Retention | Included entries / month | Included storage |
|---|---|---|---|---|
| Free | 600 | 7 days | 1,000,000 | 1 GB |
| Pro | 20,000 | 30 days | 25,000,000 | 25 GB |
| Enterprise | 120,000 | 90 days | 250,000,000 | 250 GB |
The per-minute cap comes from the plan; you cannot type a custom rate limit. Retention 0 means the plan default. Paid plans can raise retention through billing. Extra entry packs and storage GB are sold from Billing on the Lumen tab.
You can pause Lumen (ingest is rejected until you resume) or purge all Lumen data. Purge asks you to type the organization id.
2. Mint an ingest key
Keys live in the Lumen app, not on the Governance page.
- Open lumen.orkestia.dev and sign in with the same account.
- Go to Get started → Connect a source (
/onboarding) or Usage & keys (/billing). - Click generate ingest key.
- Copy the secret immediately. It is shown once. Lumen stores only a hash.
| Prefix | Scope | Use |
|---|---|---|
lumk_… | ingest | Collectors and services that write logs and metrics |
lumk_… | read | Scripts that query (optional; a signed-in session also works) |
lump_… | product | Pulse product analytics only — see Send data |
Send ingest keys as X-Api-Key. Never put an ingest key in a browser. The organization is taken from the key — do not send an organization UUID.
3. Send the first event
A project is the project string on the payload. The first accepted event creates it.
curl -X POST https://lumen-api.orkestia.dev/api/logs/ingest \
-H "X-Api-Key: lumk_REPLACE_ME" \
-H "Content-Type: application/json" \
-d '{
"project": "my-service",
"level": "ERROR",
"message": "Hello from Lumen"
}'
project and message are required. Full fields: Send data.
To stream a cluster instead, install the collector.
4. Confirm it arrived
Onboarding waits until GET /api/projects returns at least one project, then offers view logs. You can also open lumen.orkestia.dev/logs.
A new error is searchable as a log immediately. The error group (and any alert) appears a moment later.
