Every endpoint you own, including the ones nobody documented
Connect a repo and Elva reads your code, generates the specs you never wrote, groups endpoints into collections, and scores each one. No OpenAPI file required to start.
Your code is the source of truth, not a stale spec file
Elva reads routes, handlers, types, and validators straight from the repo. Where a spec exists it is imported and diffed. Where it does not, one is written for you, and it stays accurate because the scan reruns on every commit.
Grouped, labeled, and searchable in one pass
214 endpoints in a flat list is not a catalog. Elva labels each one by domain, auth requirement, and data sensitivity, then groups them into collections your team already thinks in.
Know who calls what before you change it
Elva traces each endpoint to the frontend pages, services, and MCP clients that call it, and flags the ones nobody calls at all. Deprecation stops being a guessing game.
A grade per endpoint, and the fix to raise it
Design, developer experience, AI readiness, security, and performance, scored per endpoint. Weak specs float to the top of the catalog with a concrete fix attached, so the work is obvious.
A catalog nobody has to maintain by hand
The reason API docs rot is that updating them is a second job. Elva keeps the catalog in sync with the only thing that is always true: the code.
FAQ
How does Elva discover APIs without a spec?
It reads the repo in three passes: fingerprinting the frameworks in play, walking every route registration it can prove reachable, and recovering schemas from validators and serializers. The result is an OpenAPI 3.1 document generated from the code itself.
Which frameworks does Elva support?
Express, NestJS, FastAPI, Flask, Spring, Go routers (net/http, chi, gin), Rails, and more. Monorepos activate multiple extractors at once; the average repo activates 2.3.
How does the catalog stay current?
By rescanning the repo: manually on Free, weekly on Startup, and on every commit on Business and Enterprise. The catalog cannot drift from the code because it is derived from the code.
See your whole API surface in 42 seconds
Connect one repo. No spec file, no config, no credit card.
