BigFix Inventory Info using the api


I am looking to pull specific hardware and software information from BigFix Inventory 10.0.8. The information I want to send to another system using the api exists within the BigFix inventoery server. For hardware related information I ma looking for the OS, IP, Department setting, Device type, computer type, manufactureer, model and catalog version. For software information I want the Publisher Name, the Product Name, the Product value and the end of support value.

How do I qyuery the BFI API to retrieve these two sets of information?

Do you need those two in the same retrieval OR one at a time? If it’s the latter then just find whatever you need in the resource classes (documentation).

If you need them in a single query then it’s a matter of selecting the resource which you want to start with (generally, it should be the one you plan to apply filters on - for example if you want to narrow down the machine names/products/etc) and then look into extending the class you are using with the available associations.

Here is an example that uses “Software Instances” resource to retrieve data filtered out to: (Publisher = Oracle OR Publisher = Sun) AND (Component contains “Java” OR Component contains “JDK”), and then using association properties to add usage & details on top of what is in the software instance resource only…Generally the associations are in the formation <associated_resource>.<name_of_property> format. Hope this helps you…

GET https://BFIURL:BFIPORT/api/sam/v2/software_instances?token=Some-Token;criteria={"and":[{"or":[["product_publisher_name", "=", "Oracle"], ["product_publisher_name", "=", "Sun"]]}, {"or":[["component_name", "contains", "java"], ["component_name", "contains", "jdk"]]}, ["is_present", "=", "1"]]};columns[]=computer_id;columns[]=computer_name;columns[]=product_publisher_name;columns[]=component_name;columns[]=component_detailed_version;columns[]=discovery_details.discovery_path;columns[]=usage_data.total_runs;columns[]=usage_data.last_used;columns[]=usage_data.avg_runs_per_day

For the Hardware:
This information will be available in api/sam/v2/computers or one of the associated APIs. The information can be found in this link.
If the data is available in one of the associated APIs, then the columns should be explicitly specified in the API query. There are couple of examples in the above link.

If there any custom properties (such as Department setting or Device type)), they will be available in computer_details API. The computer_details schema query can be run to obtain the custom_property name and then can be added as association (EX: computer_details.computer_property_xx).

For Software:
Is the information looking for from Catalog? Which report are you referring to for these columns?