---
title: "Admin Alpha Funnel"
method: GET
path: "/v1/admin/funnel"
---

# Admin Alpha Funnel

`GET /v1/admin/funnel`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/admin/funnel`
- Auth: none declared

Alpha-cohort retention funnel.

Six steps over the last N days:
  1. subscribed     — listeners with a row in listener_subscriptions
  2. queued         — at least one Article matched their verticals
  3. played         — at least one ListenerHistory row
  4. completed      — at least one ListenerHistory.completed=true
  5. returned       — listened on >=2 distinct UTC days
  6. upgraded       — flipped free → plus / pro inside the
                      window (monetization audit Action #5,
                      2026-05-31). Reads
                      ``listener_subscriptions.tier_upgraded_at``
                      (added in migration 0143; backfilled from
                      ``plus_since`` so historical paid listeners
                      aren't blanked-out).

The point is signal: how many invitees actually came back, and how
many of those CONVERTED? The drop-off between stages tells you
which gate to invest in next (intake quality, queue UX, audio
quality, repeat-listening hooks, monetization wedge).

## Query parameters

- `days` integer

## Headers

- `x-storyflo-email-token` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
