Seafile Web API 2.1 - Wrong Doc links

Why the HELL all web api PRO functions have different link?
I’m trying to write new low level PHP API library and fluent library and now I see there is /api/v2.1/ instead of /api2/.
It’s too hard just check in every function if is for PRO or do it more inteligent like /api2/pro/****. Or write it on the top of doc. This now destroy my architecture cause didn’t expect more then one path to one version of API. So can you please write it on top doc for people like me, cause I have to now rewrite all methods.

I think api/v2.1 is not for Pro. It is a set of new APIs introduced by Seafile server v5.1.0+. In other words, v2.1 APIs do not exist for server older than that version.

You can get a list of APIs from these two files.
api2: https://github.com/haiwen/seahub/blob/master/seahub/api2/urls.py
api2.1: https://github.com/haiwen/seahub/blob/master/seahub/urls.py#L202

But I also don’t have idea why they designed URL in this way. There should have been better as you suggested.

I didn’t find function on API/v2.1 which is not for PRO. See doc. And if they did it as you said, then under API/v2.1 should be all older function which are now under api2/.

You can find all the APIs in this document: https://manual.seafile.com/develop/web_api_v2.1.html

Before version 5.1, all APIs were starting with URL /api2/. After version 5.1, newly rewritten APIs are starting with URL /api2/v2.1/. It has nothing todo with pro edition.

Yes, I get this, but what I’m saying is exactly what I’m saying bad. New functions somewhere, old function somewhere. Old should be in /api2. New and all old should be in /api/v2.1/. Every time you increase version of api, then all older function which should work in new version have to be callable under new address, cause developers which are using api can think that function which are not under new link are deprecated.