Omada V2 API
Omada V2 API

How does one get info on the V2 API? I see on previous posts it was provided for V1, but nothing on the newest. I am currently running the Omada V4 Controller Software.
Example - https://community.tp-link.com/en/business/forum/topic/156627
Please advise.
- Copy Link
- Subscribe
- Bookmark
- Report Inappropriate Content

Dear @sic,
How does one get info on the V2 API? I see on previous posts it was provided for V1, but nothing on the newest. I am currently running the Omada V4 Controller Software.
Example - https://community.tp-link.com/en/business/forum/topic/156627
Here is the API for Omada Controller V4.1.5 for your reference.
- Copy Link
- Report Inappropriate Content
@Fae This is great. But I'm having a couple of issues with the API on v4.4.3 of the controller.
- The path /api/v2/sites/{siteKey}/clients returns an error. Has this been removed?
- The path /api/v2/sites/{siteKey}/insight/clients works, but only returns 10 clients. The JSON shows:
"currentPage": 1,
"currentSize": 10,- How can the size and page be updated? It doesn't appear to be covered in the API document.
Is there a place that we can find the updated API documentation (this should be published on the site somewhere)?
Thanks, the API documentation you provided has been a real help.
- Copy Link
- Report Inappropriate Content

Dear @OneFix,
OneFix wrote
- The path /api/v2/sites/{siteKey}/clients returns an error. Has this been removed?
- The path /api/v2/sites/{siteKey}/insight/clients works, but only returns 10 clients. The JSON shows:
"currentPage": 1,
"currentSize": 10,
- How can the size and page be updated? It doesn't appear to be covered in the API document.
Just confirmed the information for you, here is the answer:
No, both paths haven't been adjusted/removed, but paging queries are required.
"currentPage" refers to the current page number, it is populated with 1 by default;
"currentPageSize" refers to the number of clients displaying on each page, and it's populated with 10 by default.
The above fields are not populated by default on the interface /api/v2/sites/{siteKey}/clients, so it returns an error.
I think you can modify the currentPage and currentSize to check more clients.
- Copy Link
- Report Inappropriate Content
@Fae Thanks for the pointer to the API; excuse my ignorance, but where is the definition of the POST payloads? For example for `login` API call?
- Copy Link
- Report Inappropriate Content
Fae wrote
Dear @OneFix,
OneFix wrote
- The path /api/v2/sites/{siteKey}/clients returns an error. Has this been removed?
- The path /api/v2/sites/{siteKey}/insight/clients works, but only returns 10 clients. The JSON shows:
"currentPage": 1,
"currentSize": 10,
- How can the size and page be updated? It doesn't appear to be covered in the API document.
Just confirmed the information for you, here is the answer:
No, both paths haven't been adjusted/removed, but paging queries are required.
"currentPage" refers to the current page number, it is populated with 1 by default;
"currentPageSize" refers to the number of clients displaying on each page, and it's populated with 10 by default.
The above fields are not populated by default on the interface /api/v2/sites/{siteKey}/clients, so it returns an error.
I think you can modify the currentPage and currentSize to check more clients.
Thanks, the API document doesn't seem to mention the proper way to modify the currentPage and currentPageSize settings.
I seem to have gotten it working with the insights page. For anyone interested, It is:
/api/v2/sites/{siteKey}/insight/clients?currentPageSize=999¤tPage=1 (there seems to be no upper limit on currentPageSize)
But, the interface /api/v2/sites/{siteKey}/clients still returns a "General Error" even when I add the currentPageSize and currentPage parameters.
Do you have any information on how to do this correctly?
- Copy Link
- Report Inappropriate Content

Dear @OneFix,
OneFix wrote
But, the interface /api/v2/sites/{siteKey}/clients still returns a "General Error" even when I add the currentPageSize and currentPage parameters.
Do you have any information on how to do this correctly?
Sorry, there is another parameter to verify, that is "filters.active=true", which refers to check the online clients.
Note: the current controller doesn't support checking the offline clients.
- Copy Link
- Report Inappropriate Content
Do you have a complete/functional v2 API document? Preferably a Swagger/OpenAPI version? The v2 API document referenced above contains the HTTP verbs and URLs but doesn't provide any of the JSON request payloads or example JSON responses. Thanks!
- Copy Link
- Report Inappropriate Content
A complete OpenAPI document would be ideal - one can then generate a client from it.
- Copy Link
- Report Inappropriate Content
ZdenekM wrote
A complete OpenAPI document would be ideal - one can then generate a client from it.
Agreed, that is actually what I was working on building (a Python module to be specific).
- Copy Link
- Report Inappropriate Content
@Fae any update on complete API documentation?
- Copy Link
- Report Inappropriate Content

Information
Helpful: 0
Views: 25
Replies: 0
Voters 0
No one has voted for it yet.