unleash
unleash copied to clipboard
🔥feat: OpenAPI all the things.
We currently have a manually written Open API specification contributed by the community, still considered a "beta feature". We should iterate on this to make it fully part of our API and all changes to the API should validate that the OAS is still correct.
It should also be aligned with the new "Create screens" in the UI

We've started integrating OpenAPI directly into our backend. First step: the Admin API.
This first iteration lets us write OpenAPI specs directly in code. These specs are then used in request validation middleware. We also derive request and response types from the specs, which should help with type safety in our handlers. On the frontend we'll experiment with using an OpenAPI client generated from the specs.
The runtime-generated OpenAPI document will be available at /docs/openapi.json, and its Swagger UI at /docs/openapi.The current spec should remain until most endpoints use this new setup.
We have documented all Open-Source API resources in Q2-2022. In Q3-2022 we will finish the last few enterprise specific endpoints (e.g. configure SSO)