GetProductInfo
Will retrieve product information given a product signature.
Syntax
Method ID
#define WAAPI_MID_COMMON_GET_PRODUCT_INFO 109
JSON Input Structure
{
"input": {
"method": 109,
"signature": number,
"run_detection": boolean,
"detect_user_installed_mode": boolean
}
}
Input Properties
| Parameter | Type | Description |
|---|---|---|
run_detection | boolean | (optional) Specifies whether detection should be run for the product (default is false). If true and the product is not detected then the call will return WAAPI_ERROR_NOT_FOUND. If false, some of the info returned, such as categories, may not be valid for the current product on the system. |
detect_user_installed_mode | boolean | (optional) Specifies whether this method should check for the installed mode of the product (default is false). |
JSON Output Structure
{
"result": {
"method": 109,
"code": number,
"timing": number,
"timestamp": string,
"detected_product": {
"signature": number,
"sig_name": string,
"categories": [
number,
...
],
"installed_for_all_users": boolean,
"methods": [
number,
...
],
"labels": {
"pua": boolean,
"toolbar": boolean,
"bloatware": boolean,
"adware": boolean
},
"product": {
"id": number,
"name": string
},
"vendor": {
"id": number,
"name": string
}
}
}
}
Output Properties
| Property | Type | Description |
|---|---|---|
result.method | number | The method ID that generated this result. |
result.code | number | The result code. See Result Codes. |
result.timing | number | The measured time for the method call in milliseconds. |
result.timestamp | string | The timestamp in seconds of when the call was made. |
result.detected_product | object | A detected product on this system. |
result.detected_product.signature | number | The unique identifier for a product signature. |
result.detected_product.sig_name | string | The name collected for this signature of the product. |
result.detected_product.categories | array<number> | The product categories identified for this signature of the product. |
result.detected_product.product.id | number | The unique identifier for the product associated with this signature. |
result.detected_product.product.name | string | The product name. |
result.detected_product.vendor.id | number | The unique identifier for the vendor of this product. |
result.detected_product.vendor.name | string | The vendor name. |
result.detected_product.installed_for_all_users | boolean | (optional) Exist if input flag detect_user_installed_mode is true. The result is true if the product is installed for all users on the machine, otherwise false. |
result.detected_product.methods | object | (optional) The methods that are available for the product, separated by module. Only the listed modules currently have the capability to track which methods are available. |
result.detected_product.methods.manageability | array<number> | (optional) The method ids that are available when the manageability module is deployed. |
result.detected_product.methods.removal | array<number> | (optional) The method ids that are available when the removal module is deployed. |
result.detected_product.methods.3rdparty | array<number> | (optional) The method ids that are available when the 3rd party api is deployed. |
result.detected_product.methods.constant | array<number> | (optional) The method ids which have a fixed error return. This is generally to represent a method that is unsupported. |
result.detected_product.labels | object | The labels for the product. Defined labels will ALWAYS exist, but additional labels may also be present. |
result.detected_product.labels.pua | boolean | Boolean value which is true if the product is classified as a potentially unwanted application. |
result.detected_product.labels.toolbar | boolean | Boolean value which is true if the product is classified as a toolbar application. |
result.detected_product.labels.bloatware | boolean | Boolean value which is true if the product is classified as a bloatware application. |
result.detected_product.labels.adware | boolean | Boolean value which is true if the product is classified as an adware application. |
Result Codes
| Code | Name | Description |
|---|---|---|
| 0 | WAAPI_OK | The operation completed successfully. |
note
Other codes may be returned. See the full Result Codes reference for the complete list.
Remarks
Error Handling
The results of this function are determined by the error code returned by the call. If successful, WAAPI_OK or a special success code will be returned. Always check both the function return value and the result.code field in the output JSON.
Examples
Examples will be added here demonstrating the usage of this method.
See Also
Last updated: 2026-10-01