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 [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 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 [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 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 [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 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 [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 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 [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 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| moduleName<sup>10+</sup> | string | Yes | Yes | Name of the module that requests the permission. | 40| reason | string | Yes | Yes | Reason for requesting the permission. | 41| reasonId | number | Yes | Yes | ID of the reason for requesting the permission.| 42| usedScene | [UsedScene](#usedscene) | Yes | Yes | Use scenario and timing for using the permission.| 43 44## UsedScene 45 46Describes the use scenario and timing for using the permission. 47 48**System capability**: SystemCapability.BundleManager.BundleFramework.Core 49 50| Name | Type | Readable| Writable| Description | 51| --------- | -------------- | ---- | ---- | --------------------------- | 52| abilities | Array\<string> | Yes | Yes | Abilities that use the permission. | 53| when | string | Yes | Yes | Time when the permission is used. | 54 55## SignatureInfo 56 57Describes the signature information of the bundle. 58 59**System capability**: SystemCapability.BundleManager.BundleFramework.Core 60 61| Name | Type | Readable| Writable| Description | 62| --------- | -------------- | ---- | ---- | --------------------------- | 63| appId | string | Yes | No | Application ID. | 64|fingerprint| string | Yes | No | Fingerprint information of the bundle. | 65