Skip to content

The generated openapi.json describes no endpoints #1085

Description

@rubenvdlinde

What goes wrong

The app's generated OpenAPI document describes no endpoints. A developer looking for stackiq's API contract finds an openapi.json with only an info block, and the only machine-readable descriptions are two hand-written JSON endpoints that cover two of the app's API families.

Evidence, re-read at c9760e0

  • openapi.json at the repo root contains openapi: 3.0.3 and an info block (title stackiq, version 0.2.3-unstable.20260912202721) and no paths key at all.
  • composer.json:43 defines the script "openapi": "generate-spec", so the file is generated output; the generator finds nothing to describe in the current controllers.
  • Hand-written documentation endpoints: lib/Controller/ViewController.php:373 getApiDocumentation() (GET /api/views/docs, appinfo/routes.php:186) and lib/Controller/AangebodenGebruikController.php:866 (GET /api/aangeboden-gebruik/docs, routes.php:261). The first is @NoAdminRequired (login required); the second is @PublicPage with an anonymous rate limit. Nothing in src/ calls either. (The matrix row says both are login-only; the aangeboden-gebruik one is public.)
  • appinfo/routes.php registers 132 routes; none of the others has a description anywhere in the repo besides the markdown pages on the docs site.

Context: VNG requirement

VNG #85 in issues.md:198-212 (public API for supply information) is marked met through OpenRegister's per-register OAS at /index.php/apps/openregister/api/registers/{id}/oas. That covers the register objects, not stackiq's own /apps/stackiq/api/* endpoints, and issues.md:208 itself notes the OAS endpoint 500s on registers with an organisation field. So this is a gap next to that requirement, not a duplicate of it.

Why it matters

Integrators (including the external VNG frontend) have no generated contract for stackiq's own endpoints, so changes to them cannot be checked or noticed from a spec.

Surfaced by the capability matrix in stackiq#1072 (merge 38b9938), row share-api-docs.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

triageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions