Retrieval of software inventory (v2)
Available from 9.2.8. You use the
GET
operation on the api/sam/v2/software_instances
element to request information
about software installed in your infrastructure. The API returns details of existing components
as well as historical data about components that were removed.
The
/api/sam/v2/software_instances
API does not return software instances
with unfinished processing by default. You can enable the include_unprocessed
parameter to allow the API to include the unprocessed data. Use the is_processed
property parameter to return the component instance processing status.
Permissions
You must have the View Endpoints and View Hardware Inventory permissions to use
this API.
Resource URL
https://hostname:port/api/sam/v2/software_instances?token=token
Resource information
Operation details | Description |
---|---|
HTTP method | GET |
Request headers |
Negotiates the language of the response. If the header is not specified, the content is returned in the server language. |
Request format | application/json |
Response headers |
Specifies the content type of the response. |
Specifies the language of the response content. If the header is not specified, the content is returned in the server language. |
|
Response payload | Software Instances element |
Response format | application/json |
Response codes |
|
Schema description
GET api/sam/v2/schemas/software_instance.json?token=<token>
Available columns
Column | Description | Displayed by default | Type |
---|---|---|---|
instance_id | Identifier of the component instance. | Numeric | |
computer_id | Identifier of the computer as defined in BigFix Inventory. | Numeric | |
computer_bigfix_id | Identifier of the computer as defined in BigFix. | Numeric | |
computer_dns_name | DNS of the computer. | String | |
computer_name | Name of the computer. | ✓ | String |
computer_ip_address | IP address of the computer. | ✓ | String |
computer_os | Operating system of the computer. | String | |
computer_os_type | Type of the operating system of the computer. | String | |
component_name | Component name. | ✓ | String |
component_release | Component release number. | ✓ | String |
![]() |
Detailed version of a software component. The version is used as software
signature. The software version is detected in several ways, such as in the
presence of specific packages, the highest version of SWID tags, Windows file, and
extended signature reporting. The package based discovery is available since
BigFix Inventory
![]() |
String | |
discoverable_guid | Component GUID. | String | |
discoverable_family_guid | Component family GUID. For example, if the component is IBM DB2 Enterprise Server Edition, component family is IBM DB2. | String | |
component_publisher_name | Component publisher. | String | |
component_has_usage | Information whether usage data is available for the component. | Boolean | |
is_present | Information whether the component is still installed in the environment. | Boolean | |
discovery_start | Date and time when the component was reported for the first time. The time is specified in the GMT time zone. | ✓ | String |
discovery_end | Date and time when the component was reported for the last time. The time is specified in the GMT time zone. | ✓ | String |
discovery_path | Path where the component is installed. Starting from BigFix Inventory 10.0.2, discovery path is available for all products. | ✓ | String |
product_name | Name of the product to which the component is assigned. | ✓ | String |
![]() |
Product GUID. For example, if the product release is IBM DB2 Enterprise Server Edition 10.5, product is IBM DB2 Enterprise Server Edition. | String | |
product_family_guid | Product family GUID. For example, if the product is IBM DB2 Enterprise Server Edition, product family is IBM DB2. | String | |
product_publisher_name | Product publisher. | String | |
product_release_name | Name of the product release to which the component is assigned. | String | |
product_release | Product release number. | ✓ | String |
product_release_guid | Product release GUID. | String | |
metric_id | Identifier of the license metric that is used by the product. For information
about the meaning of each metric_id , see: Metric IDs and code names. |
String | |
metric_code_name | Unique code name of the license metric that is used by the product. For
information about the meaning of each metric_code_name , see:
Metric IDs and code names. |
String | |
is_confirmed | Information whether the assignment of the component to the product is confirmed. | Boolean | |
is_excluded | Information whether the product is excluded from pricing calculations. | Boolean | |
is_suppressed | Information whether the component is suppressed on the computer on which it is installed. | ✓ | Boolean |
![]() |
Indicates whether a component instance's processing has been completed. Value '1' means the processing has been completed. If the value is '0', some information (for example, classification details) may not be available until the next data import is finished. By default, only component instances with completed processing are returned. To return unprocessed component instances, use the 'include_unprocessed' parameter. |
Boolean | |
exclusion_or_suppress_comment | Comment that was provided during the exclusion or suppression. | String | |
![]() |
Identifier of the FlexPoint offering or CloudPak to which the software
instance is bundled. Possible values include:
|
String | |
![]() |
Name of the FlexPoint offering or Cloud Pak to which the software instance is
assigned. Possible values include:
|
String | |
![]() |
Type of a bundle to which the software instance is assigned. Possible values
include:
|
Numeric | |
![]() |
GUID of the FlexPoint offering or Cloud Pak to which the software instance is
assigned. Possible values include:
|
String | |
![]() |
Information whether any Common Vulnerabilities and Exposures (CVE) are
matched to the component. Possible values include:
|
Boolean | |
![]() |
Information whether the component to product assignment is confirmed. | Boolean | |
![]() |
Information whether you declared the particular product as your software entitlement. | Boolean |
Applicable associations
component_cpe
component_tags
computer_hardware
computer_health
cve
discovery_details
instance_tags
release_component_lifecycle
usage_data
detailed_hw_ip_addresses
detailed_hw_lpars
detailed_hw_memories
detailed_hw_network_adapters
detailed_hw_operating_systems
detailed_hw_partitions
detailed_hw_physical_processors
detailed_hw_smbios
detailed_hw_storages
null
.Query parameters
Parameter | Description | Required | Value |
---|---|---|---|
columns | Specify which columns to retrieve. If you do not specify this
parameter, only default columns are retrieved. Example: Retrieve product name
and
release
|
String | |
order | Specify how to sort the returned data. The default direction
for sorting columns is ascending. If you want to specify a descending sort, append
desc to the column name. Example: Order by computer ID
descending
|
Alphanumeric | |
limit | Specify the number of rows to retrieve. If you omit this
parameter, all rows are retrieved. Example: Retrieve 100 records
|
Numeric | |
offset | Specify the number of rows to skip for retrieving results. You
can use it together with the limit parameter to paginate results. Example:
Retrieve 50 records starting after record
150
|
Numeric | |
token | A unique user authentication identifier. You can retrieve it
by using REST API for retrieving
authentication token. You can also log in to BigFix Inventory, hover over the
User icon ![]() |
✓ | Alphanumeric |
criteria | Retrieve records which match specific conditions. The parameter should have
the following structure, written in one line:
For more information about operators, see: Common connectors and operators. Example: Retrieve software
instances whose product name contains "BigFix" OR the discovery start is within
a specific date range
For columns that use the date and time values, you can retrieve data also for a period instead of a specific date. To do so, use last or next as <operator>, and then specify the time value in the following convention: PxD/PxW/PxM/PxY, where x is a number in the 1-999 range, and D, W, M, or Y is a designator that represents days, weeks, months, or years respectively. Example: Retrieve software instances which took part in the license utilization peak. The date and time of the peak is: 2018-10-10T00:00:00+00:00Z. Query searches for the instances that meet the following criteria: product name contains "DB2" AND use the given metric AND discovery start withing the peak. For PVU, RVU MAPC and
VPC
For
other
metrics
Example: Retrieve software instances that were first reported
within the last 7
days
|
String | |
![]() |
Specify if the response should include unprocessed component instances. When not provided or set to 'false,' only component instances with completed processing are returned. |
Boolean |
Example conversation - default columns
- Request
-
GET api/sam/v2/software_instances?token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623 Host: localhost:9081 Accept: application/json Accept-Language: en-US
- Response body
-
[{ "computer_name":"NC107069", "computer_ip_address":["10.0.107.69"], "component_name":"BigFix Platform Agent", "component_release":"9.0", "is_present":1, "discovery_start":"2016-04-28T15:37:26Z", "discovery_end":"2016-11-17T15:11:10Z", "discovery_path":"/opt/BESClient/bin/properties/version", "product_name":"BigFix for Power Management", "product_release":"9.0" }]
Example conversation - all columns
- Request
-
GET api/sam/v2/software_instances?columns[]=discovery_path &columns[]=instance_id&columns[]=computer_id&columns[]=computer_bigfix_id &columns[]=computer_dns_name&columns[]&columns[]=computer_name &columns[]=computer_ip_address&columns[]=computer_os&columns[]=computer_os_type &columns[]=component_name&columns[]=component_release&columns[]=discoverable_guid &columns[]=component_publisher_name&columns[]=component_has_usage&columns[]=is_present &columns[]=discovery_start&columns[]=discovery_end&columns[]=product_name &columns[]=product_publisher_name&columns[]=product_release_name&columns[]=product_release &columns[]=metric_id&columns=metric_code_name&columns[]=is_confirmed &columns[]=is_excluded&columns[]=is_suppressed&columns[]=exclusion_or_suppress_comment &token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623 Host: localhost:9081 Accept: application/json Accept-Language: en-US
- Response body
-
[{ "instance_id":1, "computer_id":3, "computer_bigfix_id":null, "computer_dns_name":"NC107069", "computer_name":"NC107069", "computer_ip_address":"10.0.107.69", "computer_os":"AIX 5.3", "computer_os_type":"AIX", "component_name":"BigFix Platform Agent", "component_release":"9.0", "discoverable_guid":"0768FB15-383C-4124-A7E2-0D76DDA06874", "component publisher name":"IBM", "component_has_usage":1, "is_present":0, "discovery_start":"2016-04-28T15:37:26Z", "discovery_end":"2016-11-17T15:11:10Z", "discovery_path":"/opt/BESClient/bin/properties/version", "product_name":"BigFix for Power Management", "product_publisher_name":"IBM", "product_release_name":"BigFix for Power Management", "product_release":"9.0", "metric_id":"6", "metric_code_name":"INTERNAL_RVU_MAPC", "is_confirmed":0, "is_excluded":0, "is_suppressed":0, "exclusion_or_suppress_comment":null }]
Example conversation - additional column
- Request
-
GET api/sam/v2/software_instances?columns[]=component_name &columns[]=product_name&columns[]=is_confirmed &token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623 Host: localhost:9081 Accept: application/json Accept-Language: en-US
- Response body
-
[{ "component_name":"BigFix Platform Agent", "product_name":"BigFix for Power Management", "is_confirmed":0 }]
Example conversation - association
- Request
-
GET api/sam/v2/software_instances?columns[]=computer_id &columns[]=computer_health.catalog_version &token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623 Host: localhost:9081 Accept: application/json Accept-Language: en-US
- Response body
-
[{ "computer_id":1, "catalog_version":1304630 }]