Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align api endpoints structure with open-api guidelines #4211

Open
ayushin opened this issue Aug 2, 2021 · 1 comment
Open

Align api endpoints structure with open-api guidelines #4211

ayushin opened this issue Aug 2, 2021 · 1 comment

Comments

@ayushin
Copy link

ayushin commented Aug 2, 2021

Hi,

Let me start by saying I think mailcow is a truly great and unparalleled product in its own class and that I don't want to start a war here, even though I noticed certain resistance of the team to the external ideas, so I am going to give a try.

I've noticed that the API structure does not really follow the open-api guidelines (https://swagger.io/blog/api-design/api-design-best-practices/) and even REST principals, where the whole idea of the resource URI is roughly resource/identifier/operation, e.g. GET /domains/1234 or DELETE /domains/1234 or PATCH /domains/1234 etc

This uniformity allows to use open-api in multiple applications and automatically generate clients in various languages.

Was there any reason to take a non-standard approach to structuring and naming the api end-points?

If not, I think it really would be worth considering for API v2 because at the moment this prevents using this API out-of-the box in a number of applications, which is what the open-api intended for.

Again, excuse my interference, we want to use mailcow for a larger scale customer base deployment, and this is one of the thing which is in our way.

@axello
Copy link

axello commented Sep 28, 2024

I second this idea. I've been tinkering with the idea to make a mobile app to easily add aliases to domains, and if an OpenAPI spec would be available, half of the development work could be automated.
And there is one now, available here: https://demo.mailcow.email/api/ !

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

No branches or pull requests

2 participants