Docs & OpenAPI
A reference that is generated from your running code instead of maintained by hand.
Apikee builds your API reference from the endpoint registry, which the SDKs populate as your service runs. There is no YAML file to keep in sync and no step where the docs quietly drift from reality.
How it works
- Your SDK registers each route the first time it sees traffic — method and path.
- You optionally describe each route once at startup: a sentence, the scopes it needs, tags, request and response shapes.
- The platform regenerates the document whenever the registry changes and stores it in object storage (MinIO).
- It is served in the dashboard, in the developer portal, and as a downloadable OpenAPI document.
Because step 1 is automatic, a route that exists gets documented whether or not anyone remembered to. Because steps 2 is explicit, the parts that need judgement stay under your control.
Bulk import
Already have an OpenAPI document? Paste or upload it on the Endpoints page and the routes are created in one pass — a reasonable way to seed an existing API before switching auto-registration on.
The AI assistant can do the same from a pasted spec or an informal description, staging the endpoints as a button you confirm.
Security scheme in your own Swagger UI
If you already publish Swagger UI from your service, the SDKs can inject the Apikee security scheme so every operation shows the lock and the Authorize button accepts a key:
import { injectSwagger } from 'apikee/express'
injectSwagger(spec)Keeping descriptions honest
Two habits keep generated docs trustworthy:
- Use the path template, not a concrete value —
/v1/users/{id}, never/v1/users/42. Otherwise you get one endpoint record per user. - Declare scopes where you enforce them. Declaring a scope does not enforce it, so if the two drift, the docs are the thing that misleads people.

