1# ExtensionAbilityInfo 2 3The **ExtensionAbilityInfo** module defines the ExtensionAbility information. A third-party application can obtain its own ExtensionAbility information through [bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself), with **GET_BUNDLE_INFO_WITH_HAP_MODULE** and **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY** passed in to [bundleFlags](js-apis-bundleManager.md#bundleflag). 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## ExtensionAbilityInfo 10 11**Atomic service API**: This API can be used in atomic services since API version 11. 12 13**System capability**: SystemCapability.BundleManager.BundleFramework.Core 14 15| Name | Type | Read-Only| Optional| Description | 16| -------------------- | ------------------------------------------------------------ | ---- | ---- | ---------------------------------------------------- | 17| bundleName | string | Yes | No | Bundle name. | 18| moduleName | string | Yes | No | Name of the HAP file to which the ExtensionAbility belongs. | 19| name | string | Yes | No | Name of the ExtensionAbility. | 20| labelId | number | Yes | No | ID of the ExtensionAbility label. | 21| descriptionId | number | Yes | No | ID of the ExtensionAbility description. | 22| iconId | number | Yes | No | ID of the ExtensionAbility icon. | 23| exported | boolean | Yes | No | Whether the ExtensionAbility can be called by other bundles. | 24| extensionAbilityType | [ExtensionAbilityType](js-apis-bundleManager.md#extensionabilitytype) | Yes | No | Type of the ExtensionAbility. | 25| permissions | Array\<string> | Yes | No | Permissions required for other bundles to call the ExtensionAbility.| 26| applicationInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | Yes | No | Application information. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE**, **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY**, and **GET_BUNDLE_INFO_WITH_APPLICATION** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 27| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | Yes | No | Metadata of the ExtensionAbility. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE**, **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY**, and **GET_BUNDLE_INFO_WITH_METADATA** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 28| enabled | boolean | Yes | No | Whether the ExtensionAbility is enabled. | 29| readPermission | string | Yes | No | Permission required for reading data from the ExtensionAbility. | 30| writePermission | string | Yes | No | Permission required for writing data to the ExtensionAbility. | 31| extensionAbilityTypeName<sup>11</sup> | string | Yes | No | Type of the ExtensionAbility. | 32| skills<sup>12+</sup> | Array\<[Skill](js-apis-bundleManager-skill.md)> | Yes | No | Skills of the ExtensionAbility. | 33| appIndex<sup>12+</sup> | number | Yes | No | Index of an application clone. It takes effect only for cloned applications.| 34