---
title: "One dashboard snapshot: signups, keys, metered usage, MAU, downloads, credit and territory presence, derived read-only from the existing tables (and the staged territory directories), no new writes."
method: GET
path: "/admin/overview"
tags: ["admin"]
---

# One dashboard snapshot: signups, keys, metered usage, MAU, downloads, credit and territory presence, derived read-only from the existing tables (and the staged territory directories), no new writes.

`GET /admin/overview`

## Request

- Base URL: `https://api.mapmap.ai`
- URL: `https://api.mapmap.ai/admin/overview`
- Auth: HTTP bearer

## Response `200`

Aggregated signups, keys, usage, MAU, downloads, credit and territories

- OverviewResponse: Response for `GET /admin/overview`.
  - `abuse` AbuseOverview, required: Self-serve abuse signals for the overview, the issuance-velocity counters the signup path already writes, surfaced for the first time.
    - `distinct_ips_today` integer, required: Distinct source IPs that issued a key today (UTC), a spike relative to signups is an IP-rotating-farm signal.
    - `issuances_this_hour` integer, required: Key issuances recorded in the current UTC hour (across all IPs).
    - `issuances_today` integer, required: Self-serve key issuances recorded today (UTC), across all IPs.
    - `max_issuances_per_hour` integer, required: The configured global hourly ceiling (`SN_MAX_ISSUANCES_PER_HOUR`); `0` means the ceiling is disabled.
  - `activation` ActivationOverview, required: Activation funnel for the overview, the time-to-first-call north star (`docs/DEVELOPER-FEEDBACK-LOOP.md`). Computed over the signup cohort of the last [`ACTIVATION_WINDOW_DAYS`] days: what share of those signups ever reached a first successful metered call, and how long it took the ones that did. Recent, still-pending signups are counted as signups but not yet converted, so the rate is a conservative lower bound for the freshest cohort. Percentiles are `null` until at least one identity in the window has activated.
    - `conversion_rate` number, double, required: `converted / signups`, in `0.0..=1.0`; `0.0` when there were no signups in the window.
    - `converted` integer, required: Of those, how many reached a first successful metered call.
    - `median_ttfc_seconds` integer, nullable: Median (p50) time-to-first-call in whole seconds across the converted identities, or `null` if none have converted.
    - `p90_ttfc_seconds` integer, nullable: p90 time-to-first-call in whole seconds across the converted identities, or `null` if none have converted.
    - `signups` integer, required: Identities created within the window.
    - `window_days` integer, required: Length of the signup-cohort window, in days.
  - `credit` CreditOverview, required: Prepaid-credit figures for the overview.
    - `balance_pence` integer, required: Prepaid balance outstanding across all identities, in pence.
    - `consumed_pence` integer, required: Credit consumed all-time (`credited_total - balance`), in pence, prepaid revenue actually recognised as metered usage.
    - `credited_total_pence` integer, required: Lifetime credited total across all identities, in pence.
  - `downloads` DownloadsOverview, required: Offline territory-download figures for the overview.
    - `allowance_mib` integer, required: Sum of every identity's monthly allowance, in MiB.
    - `month` string, required: The calendar month reported (`YYYY-MM`, UTC).
    - `used_mib` integer, required: Bytes served this month across all identities, in MiB (rounded up).
  - `generated_at` string, required: RFC 3339 timestamp this snapshot was computed at.
  - `identities` IdentitiesOverview, required: Signup counts for the overview.
    - `by_source` SourceCount[], required: Signups by channel tag, largest first, identities whose issuance carried a `source` ("chatgpt", "premium-wall", "agent-recipe" …). Untagged identities are counted in `untagged`, not listed.
      - `last_30d` integer, required: Of those, created in the last 30 days.
      - `source` string, required: The sanitised channel tag as stored.
      - `total` integer, required: Identities carrying it, all-time.
    - `new_30d` integer, required: Identities created in the last 30 days.
    - `new_7d` integer, required: Identities created in the last 7 days.
    - `total` integer, required: Total identities ever created.
    - `untagged` integer, required: Identities with no recorded signup source (predate tagging, or arrived without one).
  - `keys` KeysOverview, required: Key counts for the overview, split by lifecycle state.
    - `active_this_month` integer, required: Distinct keys that made at least one metered call this calendar month (issued-and-idle keys are excluded).
    - `operator` integer, required: Operator-issued (`admin` state) keys.
    - `provisional` integer, required: Self-served, unverified keys.
    - `revoked` integer, required: Keys that have been revoked (any state).
    - `total` integer, required: Total keys ever issued (including revoked).
    - `verified` integer, required: Email-verified free-tier keys.
  - `mau` MauOverview, required: Monthly-active-user figures for the overview.
    - `distinct_users` integer, required: Distinct (identity, end user) pairs recorded this month.
    - `month` string, required: The calendar month reported (`YYYY-MM`, UTC).
    - `new_this_month` integer, required: Distinct end users first seen this month (no prior-month row), genuinely new users.
    - `overdrawn_identities` integer, required: Identities marked MAU-overdrawn this month (the fail-open flag; serving continued).
    - `returning_this_month` integer, required: Distinct end users this month that were also seen in an earlier month, returning users (`distinct_users - new_this_month`).
  - `mcp_sources` McpSourcesOverview, required: Hosted-MCP connections by source over the last [`WINDOW_DAYS`] days.
    - `by_source` McpSourceCount[], required: Tagged sources, most connections first. Includes the reserved `_invalid` (a refused value, never stored) and `_other` (past the daily cap on distinct slugs) buckets when they occur.
      - `connections` integer, required: Connections in the window.
      - `source` string, required: The validated slug, e.g. `film`, or a reserved `_` bucket.
      - `today` integer, required: Connections today (UTC).
    - `configured` boolean, required: Whether `SN_MCP_USAGE_DIR` is set on this gateway. False means the zeros below are "not measured", not "no connections".
    - `total` integer, required: MCP connections (successful handshakes) opened in the window, every bucket included. Connections, not people: a client that reconnects on each launch counts each time.
    - `untagged` integer, required: Connections in the window that carried no `?src=`.
    - `window_days` integer, required: Days covered, today (UTC) inclusive.
  - `outcomes` OutcomesOverview, required: Request-outcome figures for the overview, the error/denial signal the gateway historically never stored. Flushed rows only: the buffered outcome writer lags by at most the flush interval.
    - `by_class` OutcomeClassCount[], required: Current-month request counts by status class, in class order. Classes with no recorded outcome are omitted.
      - `count` integer, required: Requests recorded with that outcome this calendar month.
      - `status_class` string, required: Status class: `2xx`, `401`, `402`, `404`, `422`, `429`, `4xx` or `5xx` (see `crate::outcomes`).
    - `month` string, required: The calendar month reported (`YYYY-MM`, UTC).
    - `rejections` integer, required: Current-month requests answered with anything other than `2xx`, the aggregate friction signal (401 storms, 422 traps, 429 walls).
    - `server_errors` ServerErrorDetail: Where this month's server errors actually happened, enough for the console's triage ribbon to tell a live fire from a finished burst without anyone opening a database. Present only when the month has a 5xx at all.
      - `last_day` string, required: The most recent UTC day (`YYYY-MM-DD`) any 5xx was recorded.
      - `top_endpoint` string, required: The endpoint with the most 5xx this month (ties: first by name).
      - `top_endpoint_count` integer, required: 5xx recorded against that endpoint this month.
  - `territories` TerritoryPresence[], required: Territories staged on this gateway (update-channel packages and hosted tiles), sorted by id. Empty when neither directory is configured.
    - `id` string, required: Territory id, e.g. `uk`.
    - `package_versions` string[], required: Published update-channel package versions (from `SN_CHANNEL_DIR`), sorted; empty when the territory has no offline package staged.
    - `tiles` boolean, required: Whether a hosted-tiles PMTiles archive is staged (`SN_TILES_DIR`).
  - `usage` UsageOverview, required: Metered-call figures for the overview. Flushed rows only: the buffered usage writer lags by at most the flush interval.
    - `by_endpoint` EndpointUsage[], required: Current-month metered calls split by collapsed endpoint, busiest first, turns the coarse standard/premium split into real product-usage understanding.
      - `count` integer, required: Metered calls recorded to it this calendar month.
      - `endpoint` string, required: Collapsed endpoint label, e.g. `/route/v1`, `/geocode`, `/tiles`.
    - `days` UsageDay[], required: Per-day counts for the last [`OVERVIEW_USAGE_DAYS`] days, oldest first. Days with no recorded usage are omitted.
      - `day` string, required: ISO `YYYY-MM-DD` UTC day.
      - `premium` integer, required: Premium-class calls recorded that day (see the type docs for the endpoint-label approximation).
      - `standard` integer, required: Standard-class calls recorded that day.
    - `month` MonthUsage, required: Current-calendar-month call totals, split like [`UsageDay`].
      - `premium` integer, required: Premium-class calls this month.
      - `standard` integer, required: Standard-class calls this month.
      - `total` integer, required: All metered calls this month.
  - `x402` X402Overview, required: x402 machine-payment status and settled-revenue figures for the overview, read from config and the settlement journal (migration 0010).
    - `enabled` boolean, required: Whether x402 is configured on this deployment.
    - `network` string, required: The primary network advertised (e.g. `base`, `base-sepolia`), or empty when x402 is unconfigured.
    - `settled_atomic_this_month` string, required: Sum of settled `amount_atomic` this month, in the asset's base units (decimal string; USDC 6-dp, so `"15000"` = $0.015). String because the total can exceed `i64`.
    - `settled_this_month` integer, required: Successful settlements journalled this calendar month.
    - `settled_total` integer, required: Successful settlements journalled all-time.

## Other responses

- `401`: Missing or wrong admin token

---

[API](https://skmtc.dev/mapmap/apis/sn-gateway.md) · [All operations](https://skmtc.dev/mapmap/apis/sn-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/mapmap/apis/sn-gateway/revisions/2293be8b4c38?raw)
