Catalog your APIs
Every API in the repository, and who owns it
You need an API's definition and an owner to ask. One command lists the specifications Git tracks, their last changes and the owners you've recorded.Experimental: outside the 1.0 compatibility promise, so its commands and output can still change.
- An inventory with no setup
apigenie-catalog listfinds the tracked OpenAPI, AsyncAPI, Swagger 2.0, Protobuf and GraphQL files of a repository, with no configuration. - Owners in code reviewNames and owners live in
apigenie.yaml, so a change of owner is a reviewed commit. - Nothing to hostThe repository is the catalog: no server, no upload, and the history of the APIs is the repository's history.
The inventory, and the owners you add
init writes an entry per specification Git tracks, with owner: null for you to fill in. list then prints the table with the owners, or JSON with a published schema.
$ apigenie-catalog init
$ cat apigenie.yaml
catalog:
specs:
- name: order-events
path: apis/events.json
owner: null
- name: orders-api
path: apis/orders.yaml
owner: null
$ # fill in the owners, commit, and
$ apigenie-catalog list
NAME FORMAT VERSION OWNER PATH COMMIT
order-events AsyncAPI 3.0.0 2.0.0 team-events apis/events.json 96175d8 2026-10-12
orders-api OpenAPI 3.1.0 1.2.0 team-commerce apis/orders.yaml 4d0c2e1 2026-10-14What it covers
- listEvery specification with its format, version, path and last commit.
- initNames and owners in the configuration file, kept on later runs.
- JSON outputA report with a published schema, for scripts and dashboards.
The tool that does it
Step by step
Catalog the APIs of a repository: List every API specification of a repository, give each a stable name and an owner, and keep the catalog current in CI.
Run it on the repository you have
apigenie-catalog list finds the specifications without configuration. init adds the names and owners when you want them, in a file you review like code.