REST API considerations
You can use BigFix Inventory REST API to retrieve large amounts of data that is related to computer systems, software instances, and license usage in your environment. Such information can then be passed to other applications for further processing and analysis.
Although using single API requests to retrieve data only from a selected subset of computers does not greatly impact the performance of BigFix Inventory, this is not true when retrieving data in bulk for all your computer systems at the same time. Such an action requires the processing of large amounts of data and it always influences the application performance and when possible should not be executed during data import.
In general, the API requests should not be used together with other performance intensive tasks,
like software scans or data imports. Each user that is logged in to the application, as well
as the number of actions that are performed in the web user interface during the REST API
calls also decrease the performance.
Important: Each time you want to retrieve
data through REST API, ensure that the use of BigFix Inventory at a moderate level, so
that the extra workload resulting from REST API does not overload the application and create
performance problems.
Special considerations
- Up to version 10.0.2, the application that calls the APIs, must control the size of individual response. Starting from 10.0.2, BigFix Inventory uses HTTP streaming in JSON responses. As a result, the response does not cause buffering on the server side to calculate the response size.
- Before 10.0.2, BigFix Inventory used to send a HTTP error code in case of any issue during preparing whole response. Starting from 10.0.2, if an error occurs during streaming and the streaming gets interrupted, you must interpret the problem as an error.
- Check only for changes in data and do not fetch all the data every time. Use
valid_from
/valid_to
ordiscovery_start
/discovery_end
fields to retrieve changes. - When you complete your data import, BigFix Inventory does not call the APIs. In case, you attempt to perform this process, the request may fail with a misleading error. It is recommended to implement an option for the application to retry the request after some time.