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

Disclaimer:

SOLUTIONS ARE PROVIDED ON AN "AS IS" BASIS. NEITHER FLEXERA NOR ITS SUPPLIERS MAKE ANY WARRANTIES, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. LICENSEE MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, WILL BE LIMITED TO THE SHORTER OF (I) THE STATUTORILY REQUIRED PERIOD OR (II) THIRTY (30) DAYS FROM LICENSEE’S ACCEPTANCE OF THE AGREEMENT.

Flexera One ITAM data can now be extensively integrated with other applications, using the just released "ReportsExecute" REST API.

This API (available only in the Cloud Version of ITAM) allows you to get the output of any custom web report created from the Web Client by calling the ReportID (that you can get from the ReportsIndex REST API).

Filtering is allowed on any indexed columns (you decide which columns are indexed when you create the report) by the SearchText parameter, just like the "Search" filter would be applied in a report.

The output is in JSON format, that can be easily converted into csv for instance.

The API call has the following grammar (CURL):

https://api.flexera.com/fnms/v1/orgs/{orgId}/reports/{id}/execute?searchText=&limit=&skipToken=

In the attached PowerShell example, an input allows you to enter the report name. The script finds the Report ID, queries the report, brings the result back, loads all pages, and converts the output to a csv.

A screenshot below.

Enjoy collecting any ITAM data now!

 ReportsExecute API PowerShell.png

 

Was this article helpful? Yes No
100% helpful (2/2)
Comments
Ronny_OO7
By Level 8 Champion
Level 8 Champion

Great that this is available for F1 . What about  On-premises? Are there any plans to backport this to On-premises?

kclausen
By
Flexera Alumni

@Ronny_OO7 - I am not aware of any plans to create a REST API for FNMS On-Premises.  Unlike Flexera One ITAM, with FNMS-OP you have direct access to the database to pull any data that you want.

Ronny_OO7
By Level 8 Champion
Level 8 Champion

thanks Kclausen.  Al tough you do have direct db acces many customers would like to see an API to integrate other products with FNMS. This is also because not everyone will get direct db acces and an API available from IIS FNMS webserver would be great then.Secondly for those customers who might migrate to F1 in the future it would save them developing things twice. 

DiannaB
By
Level 6

@Ronny_OO7  totally agree!  We do not want to give direct database access to certain groups, and an API is the preferred method anyway.  Would love to have that for On Prem.

dmathias
By
Level 7

Chiming in to support API for On-Prem as well.

David - NTT DATA Services

ChrisG
By Community Manager Community Manager
Community Manager

If you're interested in similar APIs in FlexNet Manager Suite (on premises), please vote for the following Idea that is logged against this product to help the Flexera team gauge the level of interest: FNMS-I-197: Getting Custom reports Using REST API and option to have PowerBI connection

nrousseau1
By Level 10 Champion
Level 10 Champion

Hello everyone,

That's right providing API access to external parties in an on premise instance of FlexNet Manager makes sense.

I published a while ago this article for Cloud Customers to show sophisticated things could be performed using the GetCustomViewResult SOAP API... that works nicely on premise.

https://community.flexera.com/t5/FlexNet-Manager-Knowledge-Base/Allocation-Automation-Example-for-FNMS-Cloud/ta-p/5135

Please check the pre requisites (activation request etc) and you will be able to use it.

There is no plan to develop a REST API for on premise instances at this stage but take note of your request (and please vote for the idea indeed).

Best regards,

Nicolas

 

 

dmathias
By
Level 7

Hi @nrousseau1 - is that the correct link (Allocation Automation Example for FNMS Cloud)?  I briefly looked at the linked content and attachment and I didn't see mention of  GetCustomViewResult SOAP API.  Maybe I just missed it?

Thanks for responding.  I have already added my vote to the idea.

Best, David

Ronny_OO7
By Level 8 Champion
Level 8 Champion

Hello all, thanks for the valuable feedback.

This is a SOAP API but is accessed through a Business adapter instead of through a PowerShell script. So it will make it slightly more packable in terms of dependencies. Personally, I would still opt to go the PowerShell route for more flexibility.

Apart from the permission challenges there were 2 other major limitations to the SOAP API:
1. FNMS data exposure was limited to the report model (similar to how Analytics is limited to its data models)
2. There’s a limit on how many data you can return and there’s no pagination built-in:

The last one was a major issue at several customers since we were looking for a solution to expose the Compliance inventory for further BI but the connection errored out on massive data sets which was their (Enterprise Architects) main interest.
For the first limitation we now have a solution in custom report SQL procedures.

So we can actually expose more data for On-prem (either directly with db access or through SOAP API with custom report SQL procedures) in comparison to the new ITAM REST API, but are limited on the latter on the amount of data we can return.
@nrousseau1 Nicolas do you knows a way to overcome this? A solution to paginate the data returned via the SOAP API, thanks and Regards Ronald 

nrousseau1
By Level 10 Champion
Level 10 Champion

Hello @dmathias , Sorry, the document is not explicit on the fact it uses the GetCustomViewResult SOAP API. The embedded Business Adapter uses the API. Updating now (screenshot and text) the post to reflect this.

Thanks

NicolasAdapter.png

 

nrousseau1
By Level 10 Champion
Level 10 Champion

Hello @Ronny_OO7 ,

Thanks for the precise (as usual!) information!

The SOAP API is indeed not paginated and I don't know work arounds.

When it comes to exposing objects beyond web reporting objects (whcih the REST API does not do neither today...). There is a nice way that works and that we have just used with the Windows Server Optimization flat report...

  • Create the SQL Procedure for the report
  • Create the report... set up the searchmapping xml to match the final select statement of the SQL stored procedure

What I don't know is if using a SQL report that has no row limitations can lead to removing the limit on the query output. That said, I would be cautious has developers told me the SOAP API was brutal with loading the full data set and not paginating...

Best regards,

Nicolas

Example of Searchmapping xml:

<ArrayOfCustomViewColumnMapping> 

  <CustomViewColumnMapping> 

    <Column ColumnName="DeviceName" DefaultFilterType="2" /> 

    <Index>1</Index> 

    <FieldName>DeviceName</FieldName> 

    <ShowInGrid>true</ShowInGrid> 

  </CustomViewColumnMapping> 

  <CustomViewColumnMapping> 

    <Column ColumnName="DeviceType" DefaultFilterType="2" /> 

    <Index>2</Index> 

    <FieldName>DeviceType</FieldName> 

    <ShowInGrid>true</ShowInGrid> 

  </CustomViewColumnMapping> 

  <CustomViewColumnMapping> 

    <Column ColumnName="DeviceRole" DefaultFilterType="2" /> 

    <Index>3</Index> 

    <FieldName>DeviceRole</FieldName> 

    <ShowInGrid>true</ShowInGrid> 

  </CustomViewColumnMapping> 

  <CustomViewColumnMapping> 

    <Column ColumnName="OperatingSystem" DefaultFilterType="2" /> 

    <Index>4</Index> 

    <FieldName>OperatingSystem</FieldName> 

    <ShowInGrid>true</ShowInGrid> 

  </CustomViewColumnMapping> 

</ArrayOfCustomViewColumnMapping> 

 

craig_fox
By
Level 2

HI

has anybody executed this and come up with JSON Serialization errors?

cheers

By Anonymous
Not applicable

@nrousseau1  - Might want to update your script, $results is not getting updated with the data from $nextPage

jq3i4h9u
By
Level 6

Hi @nrousseau1 is it possible to get the results of the Application Transparency Report through API now? @shill2 

JeffVoss
By
Level 7

has anyone really looked closely at <your web url>/ManageSoftServices/ComplianceAPIService/ComplianceAPIService.asmx 
soap based api 
it may not be turned on in your license. 

under the ManageSoftServices in IIS on the WebUI server. 

ChrisG
By Community Manager Community Manager
Community Manager

@jq3i4h9u - unfortunately there is not currently any API that can be used to retrieve the exact data shown in the Application Transparency report. The API discussed in this post is focused on retrieving data from custom reports that users have configured, not built-in reports or other UI pages.

johnksilverwood
By
Level 6

General FYI - don't know if this is just me, but it seems like there's maybe a wait period between 1) creating a report and 2) querying it via this endpoint.

For example, I created a new custom report this AM, and then tested a working script and it gave this error:

Invoke-RestMethod : {"name":"fault","id":"OJGPXiVT","message":"internal error: Unable to retrieve saved report result","temporary":false,"timeout":false,"fault":true}

When I run it against an older report, it works just fine.

I am assuming maybe the system needs a few hours (or some sort of nightly reconcile?) before the reportID can be recognized by the query?

EDIT: just found this - not sure if it's related. Known Issue: Attempts to call the reportsExecute API fail after Flexera One ITAM maintenance with 40... - Community. However, I have ran the report in the UI before querying it, so I don't think it's the same error. Guessing maybe there are details saved (after running in the UI) in a nightly reconcile that the query uses.

Thanks !

Nico_Erasmus
By
Level 8

@johnksilverwood , please confirm your tenant. I have not experienced this on the EU tenant where multiple reports have been built and immediately imported via teh API

johnksilverwood
By
Level 6

@Nico_Erasmus - I am in United States / North America tenant. It looks like it's working now after 2 hours or so.

So - I guess it may just need to wait a few hrs to settle.

anttimustonen
By
Level 6

Hi, @johnksilverwood 

I am not sure if this is related, but from my experience the reports need to reside in root folder of reports (not in any custom/built-in subfolders), otherwise the report cannot be found via the API. When they are in root Reports folder the URL is following:

https://slo.app.flexera.eu/Suite/Reports/View/<reportID>

If reports are in subfolders the URL is following:

https://slo.app.flexera.eu/Suite/Reports/<reportname>?_reportId=<reportID>

If they are in subfolders the URL is as follows I get the same type of error:

Invoke-WebRequest: {"name":"not_found","id":"jfc7ghBZ","message":"Cannot run the report execute the report once in the UI","temporary":false,"timeout":false,"fault":false}

@nrousseau1 maybe there is some way to circumnvent this?

 

 

 

@Nichrt 

 

johnksilverwood
By
Level 6

@anttimustonen I believe I read somewhere that you need to run the report in the platform (UI) at least once before it is ready to be queried - maybe a different error - have you tried running it in ITAM first before hitting it via API?

anttimustonen
By
Level 6

@johnksilverwood  I've rested just to confirm and still got the same error. The only solution seemed to be is having reports in the root folder.

By Anonymous
Not applicable

My custom reports are in a sub folder and it works most days but still get the 'Cannot run the report execute the report once in the UI' a couple of times a month. It seems to happen more often after other new custom reports are created. It's quite an annoying issue and wish there was an ETA for when it'll get fixed.

ChrisG
By Community Manager Community Manager
Community Manager

The issue of needing to re-run a report in the UI every now and then is the issue described in the following article that @johnksilverwood noted in an earlier comment: Known Issue: Attempts to call the reportsExecute API fail after Flexera One ITAM maintenance with 404 NOT FOUND response and error: "Cannot run the report execute the report once in the UI" (IOK-885536).

The status of the issue is currently showing as "under consideration to be addressed in a future release". I've heard some chatter than it is getting attention - hopefully won't be too long!

Custom reports don't need to be (and typically are not) in the root folder in order to be accessible through the API, so @Anonymous's observations sound right. I don't have any immediate insight into what might be going on with @anttimustonen's API calls sorry.

giggs1972
By
Level 3

Interested to hear what the group has configured to secure the refresh token.  We created a system environment variable which our PS script calls which works but wondering if a 'better' method others have used to secure the refresh token.

Version history
Last update:
‎Dec 14, 2023 02:20 PM
Updated by: