1# BundleInfo 2 3The **BundleInfo** module defines the bundle information. A system application can obtain its own or others' bundle information through [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). A third-party application can obtain its own bundle information through [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself). The input parameter [bundleFlags](js-apis-bundleManager.md#bundleflag) specifies the information to be contained in the returned [BundleInfo](js-apis-bundleManager-bundleInfo.md) object. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8 9## BundleInfo 10 11**System capability**: SystemCapability.BundleManager.BundleFramework.Core 12 13| Name | Type | Readable| Writable| Description | 14| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ | 15| name | string | Yes | No | Bundle name. | 16| vendor | string | Yes | No | Vendor of the bundle. | 17| versionCode | number | Yes | No | Version number of the bundle. | 18| versionName | string | Yes | No | Version description of the bundle. | 19| minCompatibleVersionCode | number | Yes | No | Earliest version compatible with the bundle in the distributed scenario. | 20| targetVersion | number | Yes | No | Target API version required for running the bundle. | 21| appInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | Yes | No | Application information. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_APPLICATION** to the **bundleFlags** parameter of [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). | 22| hapModulesInfo | Array\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | Yes | No | Module configuration information. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE** to the **bundleFlags** parameter of [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). | 23| reqPermissionDetails | Array\<[ReqPermissionDetail](#reqpermissiondetail)> | Yes | No | Detailed information of the permissions to request from the system. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION** to the **bundleFlags** parameter of [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo).| 24| permissionGrantStates | Array\<[PermissionGrantState](js-apis-bundleManager.md#permissiongrantstate)> | Yes | No | Permission grant state. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION** to the **bundleFlags** parameter of [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). | 25| signatureInfo | [SignatureInfo](#signatureinfo) | Yes | No | Signature information of the bundle. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_SIGNATURE_INFO** to the **bundleFlags** parameter of [bundleManager.getBundleInfo](js-apis-bundleManager.md#bundlemanagergetbundleinfo). | 26| installTime | number | Yes | No | Time when the bundle was installed. | 27| updateTime | number | Yes | No | Time when the bundle was updated. | 28 29 30## ReqPermissionDetail 31 32Provides the detailed information of the permissions to request from the system. 33 34**System capability**: SystemCapability.BundleManager.BundleFramework.Core 35 36| Name | Type | Readable| Writable| Description | 37| --------------------- | ----------------------- | ---- | ---- | ---------------------| 38| name | string | Yes | Yes | Name of the permission to request. | 39| reason | string | Yes | Yes | Reason for requesting the permission. | 40| reasonId | number | Yes | Yes | ID of the reason for requesting the permission.| 41| usedScene | [UsedScene](#usedscene) | Yes | Yes | Application scenario and timing for using the permission.| 42 43 44 45## UsedScene 46 47Describes the application scenario and timing for using the permission. 48 49**System capability**: SystemCapability.BundleManager.BundleFramework.Core 50 51| Name | Type | Readable| Writable| Description | 52| --------- | -------------- | ---- | ---- | --------------------------- | 53| abilities | Array\<string> | Yes | Yes | Abilities that use the permission. | 54| when | string | Yes | Yes | Time when the permission is used. | 55 56## SignatureInfo 57 58Describes the signature information of the bundle. 59 60**System capability**: SystemCapability.BundleManager.BundleFramework.Core 61 62| Name | Type | Readable| Writable| Description | 63| --------- | -------------- | ---- | ---- | --------------------------- | 64| appId | string | Yes | No | Application ID. | 65|fingerprint| string | Yes | No | Fingerprint information of the bundle. | 66