As I am continuing my journey into the Omnissa Horizon REST API’s, it is becoming apparent that as new functionality comes available, you need to know what URL versions are available to you.
What does this mean? Well, for retroactive support, URL’s are not removed in favor of new ones.
For example, a common task is to query the URL endpoint for desktop pools. The newest build of Horizon is 2512. That build has a new URL endpoint of /rest/inventory/v12/desktop-pools. VMware and now Omnissa have introduced new URL endpoints over the years. Here is a list of the newest “desktop-pools” endpoint URL for several previous versions of Horizon.
2512 – /rest/inventory/v12/desktop-pools
2506 – /rest/inventory/v11/desktop-pools
2503 – /rest/inventory/v11/desktop-pools
2412 – /rest/inventory/v10/desktop-pools
2406 – /rest/inventory/v9/desktop-pools
2312 – /rest/inventory/v8/desktop-pools
2309 – /rest/inventory/v7/desktop-pools
NOTE: Go to Omnissa’s Horizon Server API Documentation at https://developer.omnissa.com/horizon-apis/horizon-server/versions/2512/ to show which URL’s exist for past versions!
If you write a script that calls desktop-pools, you’ll want to make sure your URL exists! If you try to hit /v12 with a GET on build 2506, you will probably get a 404 error that there is “no static resource” found!
One trick I discovered is you can use the API documentation to return the build. Then, you can let your script decide what URL you want to use based on that build. Some people like using the API to get information like this. Honestly, using something like a Powershell “Invoke-WebRequest” is all you need since the documentation doesn’t require an auth token.
Try doing something like this:

Then, inside your script, you can set a build version object, and based on its value, set your poolsUri to the proper version.
More on this in future posts!