-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Is your feature request related to a problem? Please describe.
There is no official, machine-readable API specification for Apollo’s OpenAPI endpoints. Integrators have to read code or scattered docs to discover endpoints and parameters, which leads to:
- duplicate client implementations and inconsistent behavior,
- harder onboarding and testing,
- no automatic SDK generation or contract validation.
Describe the solution you'd like
Provide and maintain an official OpenAPI 3.0 YAML for Apollo’s OpenAPI endpoints, and publish browsable docs.
Proposed plan:
- Add
apollo-openapi.yaml
(OpenAPI 3.0.x). - Version the spec with releases; keep
operationId
stable for SDKs. - Include request/response schemas, enums, and examples.
- (Optional) Provide
openapi-generator
scripts to generate Java/Go/TS SDK stubs.
Describe alternatives you've considered
- Postman collections or wiki pages (not type-safe, hard to keep in sync).
- Reading controller code (steep learning curve for external users).
- Community-maintained specs (can drift from upstream behavior).
Additional context
I have a draft spec in my fork/branch and can open a PR to iterate together:
tacklequestions/apollo:feat/openapi-yaml
It currently covers core resources/tags such as Apps, Configs, Env, Clusters, Namespace, Item, Release with endpoints like:
POST /apps
,GET /apps/{appId}
,PUT /{appId}
,DELETE /apps/{appId}
GET /apps/{appId}/envclusters
POST /apps/{appId}/envs/{env}/clusters
POST /apps/{appId}/namespaces
, etc.
Happy to align naming, tags, and folder structure with maintainers’ preferences and expand coverage in follow-ups.