The Community is now in read-only mode to prepare for the launch of the new Flexera Community. During this time, you will be unable to register, log in, or access customer resources. Click here for more information.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to get devices and installed applications via Flexera API

msmajevic
By
Level 2

Hi all,

we are trying to find a place in the api where we can get the information about devices and applications installed (on these devices).

We were looking at the official documentation: Flexera API but we could not find the required information. 

However, in the other place (Consuming a Flexera One API) we have found this information:

"The following example shows the Devices with Installed Software URI, where {orgID} should be replaced with your organization ID:"
https://api.flexera.com/fnms/v1/orgs/{orgID}/devices/installed-software/

We tried using https://api.flexera.eu/fnms/v1/orgs/{ourOrgId}/devices/installed-software/ but we get 405 Method not allowed. 

What are we doing wrong and is there some other way (Idk possibly with the reports)?

Thx

(1) Solution

msmajevic
By
Level 2

We have just realized that we were using the Api in a wrong way. We did not realize the part with the creation of the files. So we need to send a POST request and then the file creation starts and we have to wait until this is done. It is also clearly stated in the documentation.  

Flexera API
"

  • Step 1: A POST request (without a data payload) to "../orgs/28010/devices/installed-software" starts the generation and returns a job status of "Created"
  • Step 2: A user can know when the report has been created in one of two ways:
    1. Repeated POST requests to the URL in Step 1 will eventually return a status of "Completed" along with a "completionDate".
    2. By using the path in the response to the request in Step 1 and a get request from: "../orgs/28010/files/d4dfdf8f00991aa6b30749ae4402d01ea15d3ef38b89d5f2952f3b96ced21e6e.zip".
      The Location header will provide the URL to download the content.
  • Step 3: The files request in Option 2 of Step 2 returns the Location header of the URL to download the content. This will be a very long AWS S3 download location of the form "https://fnms-data-api-g-65d6e67e-fc9d-4e6e-a40b-d62706f57cc9-product.s3.amazonaws.com/18e63591d……".

"

View solution in original post

(2) Replies

msmajevic
By
Level 2

We have just realized that we were using the Api in a wrong way. We did not realize the part with the creation of the files. So we need to send a POST request and then the file creation starts and we have to wait until this is done. It is also clearly stated in the documentation.  

Flexera API
"

  • Step 1: A POST request (without a data payload) to "../orgs/28010/devices/installed-software" starts the generation and returns a job status of "Created"
  • Step 2: A user can know when the report has been created in one of two ways:
    1. Repeated POST requests to the URL in Step 1 will eventually return a status of "Completed" along with a "completionDate".
    2. By using the path in the response to the request in Step 1 and a get request from: "../orgs/28010/files/d4dfdf8f00991aa6b30749ae4402d01ea15d3ef38b89d5f2952f3b96ced21e6e.zip".
      The Location header will provide the URL to download the content.
  • Step 3: The files request in Option 2 of Step 2 returns the Location header of the URL to download the content. This will be a very long AWS S3 download location of the form "https://fnms-data-api-g-65d6e67e-fc9d-4e6e-a40b-d62706f57cc9-product.s3.amazonaws.com/18e63591d……".

"

Nico_Erasmus
By
Level 8

Thanks for that update.  I don't see value in that multi-step process to get the installations for a single device. 

I find it significantly easier to download the reporting objects via the REST API overnight, and then create SQL views that I can access inside my business, integrated into my business processes.