# @ohos.app.form.formInfo (formInfo) (System API)
The **formInfo** module provides types and enums related to the widget information and state.
> **NOTE**
>
> 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.
> This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.app.form.formInfo (formInfo)](./js-apis-app-form-formInfo.md).
## Modules to Import
```ts
import { formInfo } from '@kit.FormKit';
```
## FormParam
Enumerates the widget parameters.
**System capability**: SystemCapability.Ability.Form
| Name | Value | Description |
| ----------- | ---- | ------------ |
| DEVICE_ID_KEY | 'ohos.extra.param.key.device_id' | Device ID.
**System API**: This is a system API. |
## FormUsageState
Enumerates the usage statuses of widgets.
**System capability**: SystemCapability.Ability.Form
**System API**: This is a system API.
| Name | Value | Description |
| ----------- | ---- | ------------ |
| USED11+ | 0 | The widget is in use. |
| UNUSED11+ | 1 | The widget is not in use. |
## RunningFormInfo10+
Defines the information about an added widget, which can be either in use or not.
**System capability**: SystemCapability.Ability.Form
**System API**: This is a system API.
| Name | Type | Readable | Writable | Description |
| ----------- | -------- | -------- | -------------------- | ------------------------------------------------------------ |
| formId | string | Yes | No | Widget ID. |
| bundleName10+ | string | Yes | No | Name of the bundle to which the widget provider belongs. |
| hostBundleName | string | Yes | No | Name of the bundle to which the widget host belongs. |
| visibilityType | [VisibilityType](js-apis-app-form-formInfo.md#visibilitytype) | Yes | No | Visibility types of the widget. |
| moduleName10+ | string | Yes | No | Name of the module to which the widget belongs. |
| abilityName10+ | string | Yes | No | Name of the ability to which the widget belongs. |
| formName10+ | string | Yes | No | Widget name. |
| dimension | number | Yes | No | Widget specifications. |
| formUsageState11+ | [FormUsageState](#formusagestate) | Yes | No | Usage status of the widget. |
| formDescription11+ | string | Yes | No | Description in the widget configuration file of the provider. |
| formLocation12+ | [FormLocation](#formlocation12)| Yes | No | Location of the widget. |
## formProviderFilter10+
Defines the information about the widget provider.
**Model restriction**: This API can be used only in the stage model.
**System capability**: SystemCapability.Ability.Form
**System API**: This is a system API.
| Name | Type | Readable | Writable | Description |
| ----------- | -------- | -------- | -------------------- | ------------------------------------------------------------ |
| bundleName | string | Yes | No | Name of the bundle to which the widget provider belongs. |
| formName | string | Yes | No | Widget name. |
| moduleName | string | Yes | No | Name of the module to which the widget belongs. |
| abilityName | string | Yes | No | Name of the ability to which the widget belongs. |
| isUnusedIncluded11+ | boolean | Yes | No | Whether an unused widget is included. |
## FormInfoFilter
Defines the widget information filter. Only the widget information that meets the filter is returned.
**Atomic service API**: This API can be used in atomic services since API version 11.
**System capability**: SystemCapability.Ability.Form
| Name | Type | Mandatory |Description |
| ----------- | ---- | ------------ |------------ |
| bundleName | string |No | Only the widget information in which **bundleName** is the same as the provided value is returned. If this parameter is left unspecified, the widget information is not filtered by **bundleName**.
**System API**: This is a system API. |
| supportedDimensions | Array |No | Only the widget information in which **supportedDimensions** is the same as the provided value is returned. If this parameter is left unspecified, the widget information is not filtered by **supportedDimensions**.
**System API**: This is a system API. |
| supportedShapes12+ | Array\ |No | Only the widget information in which **supportedShapes** is the same as the provided value is returned. If this parameter is left unspecified, the widget information is not filtered by **supportedShapes**.
**System API**: This is a system API. |
## FormLocation12+
Enumerates the widget locations.
**System capability**: SystemCapability.Ability.Form
| Name | Value | Description |
| ---------------------------- | ---- | -------------------------------- |
| OTHER | -1 | The widget is not located in any of the following defined positions. |
| DESKTOP | 0 | The widget is located on the home screen. |
| FORM_CENTER | 1 | The widget is located in the widget center of the home screen. |
| FORM_MANAGER | 2 | The widget is located in the widget manager of the home screen. |
| NEGATIVE_SCREEN | 3 | The widget is located on the minus 1 screen. |
| FORM_CENTER_NEGATIVE_SCREEN | 4 | The widget is located in the service panel of the minus 1 screen. |
| FORM_MANAGER_NEGATIVE_SCREEN | 5 | The widget is located in the widget manager of the minus 1 screen. |
| SCREEN_LOCK | 6 | The widget is located on the locked screen. |
| AI_SUGGESTION | 7 | The widget is located in the area of Celia Suggestions. |
## PublishFormResult
Describes the result for the operation of adding a widget to the home screen.
**System capability**: SystemCapability.Ability.Form
| Name | Type | Readable | Writable | Description |
| ------- | --------------------------------------------- | ---- | ---- | -------------------------- |
| code | [PublishFormErrorCode](#publishformerrorcode) | Yes | No | Result code of the operation. |
| message | string | Yes | No | Message returned for the operation. |
## PublishFormErrorCode
Enumerates the result codes that may be used for the operation of adding a widget to the home screen.
**System capability**: SystemCapability.Ability.Form
| Name | Value | Description |
| -------------- | ---- | -------------------------------- |
| SUCCESS | 0 | The widget is added to the home screen. |
| NO_SPACE | 1 | There is no space for adding widgets. |
| PARAM_ERROR | 2 | Parameter check fails. |
| INTERNAL_ERROR | 3 | An internal error occurs during widget processing. |