DocsAPI & MCP
Changelog
Every released change to the v1 REST API and the MCP server, newest first — with the date-based X-MF-API-Version header each change shipped under.
Every response from /api/v1/* and /api/mcp carries an X-MF-API-Version header — the date of the newest released contract change, matching the top entry on this page. Under the contract freeze all changes are additive: released fields never change meaning, scale, or name, so the version is informational — you never need to pin it.
2026-07-11
X-MF-API-Versionheader added to every/api/v1and/api/mcpresponse (including errors and429s).- Pagination (additive) on the list resources —
brands,prompts,competitors,sources,urls,answers: optionalcursor/limitparams (limit 1–200, default 50) withnext_cursorin the envelope. Paged reads enumerate the full listing, past the default response caps. Requests without either param are unchanged. See Limits. GET /api/v1/crawlers(additive): agent analytics — per-agent hits, pages, first/last seen, and robots.txt verdicts, with the same honest-null rules as the dashboard. Plan-gated like the /crawlers page (Growth+). Matching MCP toolget_crawler_analytics.- MCP
list_urlstool: theurlsresource (shipped to REST 2026-07-10) now has MCP parity. GET /api/v1/metrics/history: historical daily time series (visibility, share-of-voice fraction, citation share, sentiment index) with presets or custom ranges; matching MCP toolget_metrics_history.
2026-07-10
GET /api/v1/urls(additive): URL-level citation rows — the individual cited pages behindsources.- Per-key rate limiting: 120 requests/minute per API key, shared between REST and MCP;
X-RateLimit-*headers on every keyed response, honest429+Retry-Afteron refusal. share_of_voice_fraction(additive) onoverviewandcompetitors: the same number as the frozen 0–100share_of_voice, on the standard 0–1 fraction scale. Prefer it in new integrations.channel_coverage(additive) on the shopping leaderboard: per-engine shopping-capability status;carousels: nullmeans unobservable, not zero.GET /api/v1/shoppingand/api/v1/shopping-trend: AI shopping-carousel placements; MCP toolslist_shopping_productsandget_shopping_trend.archived(additive) on brand listings: archived brands keep their row and their history stays readable; the flag says collection stopped.
2026-07-09
- Ingest-only key scope: workspace keys minted for deployed Cloudflare Workers carry scope
ingest— they canPOST /api/v1/crawler-eventsand nothing else. Read surfaces refuse them with403.
2026-07-08
- Workspace API keys (
mf_…, Settings → API keys): self-serve tenant-scoped keys alongside the operator key; key lifecycle recorded in the workspace audit log.
2026-07-05
- MCP server at
/api/mcp(Streamable HTTP, stateless, read-only): the v1 read views exposed as tools. POST /api/v1/crawler-events: crawler-event ingestion (nginx/apache combined format or NDJSON), deliberately unmetered.- Product renamed EchoLens → MentionFlow (
mentionflow.ai).
2026-07-04
- v1 REST API released (read-only):
overview,prompts,competitors,sources,answers,brandsunderAuthorization: Bearerauth. The released response fields froze here — everything since is additive.