Skip to content

Quickstart

Five minutes from zero to a run event on your dashboard.

1. Create an API key

In LumaTrack, go to Settings, API keys and create a key. It is shown once, at creation; only a hash is stored. Keys are scoped to your organization, so everything you send lands in your org and nowhere else.

export LUMATRACK_URL="https://your-lumatrack-host"
export LUMATRACK_KEY="lmt_..."

2. Create an automation (or pick one)

Every run event names the automation it belongs to by slug. List what you already have:

curl -s "$LUMATRACK_URL/api/v1/automations" \
  -H "Authorization: Bearer $LUMATRACK_KEY"

Or create one. The numbers are the manual baseline: what the task costs a human, and what the automation costs to build and run.

curl -s -X POST "$LUMATRACK_URL/api/v1/automations" \
  -H "Authorization: Bearer $LUMATRACK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "OS patching",
    "status": "active",
    "manual_minutes": 45,
    "oversight_minutes": 5,
    "build_cost": 6000,
    "monthly_cost": 50,
    "run_cost": 0.02,
    "expected_runs_per_month": 120
  }'

The response includes the slug (here: os-patching).

3. Send a run

curl -s -X POST "$LUMATRACK_URL/api/v1/runs" \
  -H "Authorization: Bearer $LUMATRACK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "automation": "os-patching",
    "status": "success",
    "duration_seconds": 142,
    "source": "ansible",
    "external_id": "tower-job-99412"
  }'

A 201 means recorded. Send the same external_id again and you get 200 with "deduplicated": true, which is why you should always pass one: your retries become harmless.

Report failures too, with "status": "failure". Failed runs cost money and save nothing, and the ledger prices that honestly. A tracker that only ever hears about successes is flattering itself.

4. See the value

Open the dashboard, or read the same numbers over the API:

curl -s "$LUMATRACK_URL/api/v1/summary" \
  -H "Authorization: Bearer $LUMATRACK_KEY"
{
  "organization": "Acme Industries",
  "hours_saved": 812.5,
  "net_savings": 48210.33,
  "roi_pct": 341.2,
  "fte_years": 0.41,
  "cost_per_completed_run": 1.87,
  "...": "..."
}

Next steps

  • Hook your tools up for good: n8n, Python, or anything that speaks HTTP.
  • Already have months of history in your automation platform? Backfill it so the trend lines start with the truth.
  • Skim Concepts so workspaces, savings classes, and frozen months make sense when you meet them.