---
title: "Admin Install Step Funnel"
method: GET
path: "/admin/install-step-funnel"
---

# Admin Install Step Funnel

`GET /admin/install-step-funnel`

## Request

- Base URL: `https://api.local-mcp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.local-mcp.com/admin/install-step-funnel`
- Auth: none declared. Required headers: `x-admin-key`

Install drop-off funnel from `install_step` telemetry.

Returns, for the same time window the install-refs panel uses:
  - steps:    distinct machines reaching each step (ok), ordered as a
              retention funnel (most machines first), with fail counts.
  - failures: every fail step with its `detail` reason + platform.

COHORT-SCOPED: the funnel only counts machines whose `start` step falls in
the window (= installs that began in the window). Without this, a machine
that installed months ago via npx but keeps heartbeating would drag its
historical `route` event into every window, making the live DMG-vs-npx mix
look stuck on npx. Steps cluster within minutes of `start`, so scoping by
start-in-window gives the true per-install funnel.

Note: the granular step funnel only covers the curl/install.sh path. The
notarized DMG-app completes via `config_written`, not these steps — so this
diagnoses where curl installers drop, not total completion.

## Query parameters

- `days` integer
- `frm` string
- `to` string

## Headers

- `x-admin-key` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/local-mcp/apis/lmcp-api.md) · [All operations](https://skmtc.dev/local-mcp/apis/lmcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/local-mcp/apis/lmcp-api/revisions/f1f1c502623a?raw)
