1# NotificationRequest (System API) 2<!--Kit: Notification Kit--> 3<!--Subsystem: Notification--> 4<!--Owner: @michael_woo888--> 5<!--Designer: @dongqingran; @wulong158--> 6<!--Tester: @wanghong1997--> 7<!--Adviser: @huipeizi--> 8 9The **NotificationRequest** module provides APIs for defining the notification request. 10 11> **NOTE** 12> 13> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. 14> 15> This topic describes only system APIs provided by the module. For details about its public APIs, see [NotificationRequest](./js-apis-inner-notification-notificationRequest.md). 16 17## NotificationRequest 18 19**System capability**: SystemCapability.Notification.Notification 20 21| Name | Type | Read Only| Optional| Description | 22|-------------------------------| -------------------------------------------------------- | ----- | --- |-----------------------------------------------------------------------| 23| overlayIcon<sup>11+</sup> | [image.PixelMap](../apis-image-kit/arkts-apis-image-PixelMap.md) | No | Yes | Notification overlay icon. The total number of bytes of image pixels cannot exceed 192 KB.<br>**System API**: This is a system API. | 24| classification | string | No | Yes | Notification category.<br>**System API**: This is a system API. Not supported currently. | 25| isRemoveAllowed<sup>8+</sup> | boolean | No | Yes | Whether the notification can be removed. If a notification is not removable, it will not be deleted when the user touches the delete button below the notification, but it can still be deleted by swiping left on the notification and touching the delete button.<br> - **true**: Yes.<br> - **false** (default): No.<br>**System API**: This is a system API.<br>**Required permissions**: ohos.permission.SET_UNREMOVABLE_NOTIFICATION | 26| source<sup>8+</sup> | number | Yes | Yes | Notification source.<br>**System API**: This is a system API. Not supported currently. | 27| deviceId<sup>8+</sup> | string | Yes | Yes | Device ID of the notification source.<br>**System API**: This is a system API. Not supported currently. | 28| representativeBundle<sup>12+</sup> | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | No| Yes| Information about the proxied bundle.<br>**System API**: This is a system API.| 29| notificationControlFlags<sup>12+</sup> | number | No | Yes | Notification mode control.<br>This API can be used to reduce the notification modes of the current notification. This parameter is obtained by performing the bitwise OR operation with the enumeration of [NotificationControlFlagStatus](js-apis-notificationManager-sys.md#notificationcontrolflagstatus12).<br>**System API**: This is a system API. | 30| unifiedGroupInfo<sup>12+</sup> | [UnifiedGroupInfo](#unifiedgroupinfo12) | No | Yes |Intelligent notification unification information.<br>**System API**: This is a system API.| 31| creatorInstanceKey<sup>(deprecated)</sup> | number | Yes | Yes | Creator instance key.<br>**System API**: This is a system API.| 32| agentBundle<sup>12+</sup> | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | Yes | Yes | Information about the agent bundle for creating notifications.<br>**System API**: This is a system API.| 33| appInstanceKey<sup>15+</sup> | string | Yes | Yes | Application instance key.<br>**System API**: This is a system API.| 34| notDistributed<sup>18+</sup> | boolean | No| Yes| Whether notifications are not displayed in all scenarios across devices.<br>**NOTE**<br>This field is mutually exclusive with the **forceDistributed** field. When both fields are set, only the **notDistributed** field takes effect.<br>- **true**: Notifications are displayed only on the local device.<br>- **false** (default): Notifications are displayed on all collaboration devices.<br>**System API**: This is a system API.| 35| forceDistributed<sup>18+</sup> | boolean | No| Yes| Whether notifications are forcibly displayed in all scenario across devices.<br>**NOTE**<br>This field takes effect only when the application is on the cross-device collaborative management list and the **notDistributed** field is not set. Check whether the **collaborationFilter** field in the **notification_config.json** file contains the UID or bundle name of the application. For details about the file configuration path, see the **NOTIFICATION_CONFIG_FILE** property in [notification_config_parse.h](https://gitee.com/openharmony/notification_distributed_notification_service/blob/master/services/ans/include/notification_config_parse.h). If yes, the application is on the cross-device collaborative management list.<br>- **true**: Notifications are displayed on all collaboration devices.<br>- **false** (default): Notifications are displayed on the applications that are on the collaborative management list.<br>**System API**: This is a system API. | 36| extendInfo<sup>20+</sup> | Record<string, Object> | No| Yes| Extended parameters customized for the system applications to publish notifications.<br>**System API**: This is a system API.| 37 38## DistributedOptions<sup>8+</sup> 39 40Describes distributed notification options. 41 42**System capability**: SystemCapability.Notification.Notification 43 44| Name | Type | Read Only| Optional| Description | 45| ---------------------- | -------------- | ---- | ---- | ---------------------------------- | 46| remindType | number | Yes | Yes | Notification reminder type.<br>**System API**: This is a system API. | 47 48 49## NotificationFilter<sup>11+</sup> 50 51Describes the filter criteria for querying the live view. 52 53**System capability**: SystemCapability.Notification.Notification 54 55**System API**: This is a system API. 56 57| Name | Type | Read Only| Optional| Description | 58| ----------------| ------------------------------------- | ---- | ---- | ---------------------------------- | 59| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | No| No | Bundle information of the live view.| 60| notificationKey | [notificationSubscribe.NotificationKey](js-apis-notificationSubscribe-sys.md#notificationkey) | No| No | Notification information, including the notification ID and label. | 61| extraInfoKeys | Array\<string> | No| Yes | List of extra keys. If this parameter is left empty, all extra information is included.| 62 63 64## NotificationCheckRequest<sup>11+</sup> 65 66Describes the notification authentication information. 67 68**System capability**: SystemCapability.Notification.Notification 69 70**System API**: This is a system API. 71 72| Name | Type | Read Only| Optional| Description | 73| --------------| --------------------------------------------------------- | ---- | ---- | ----------------- | 74| contentType | [notificationManager.ContentType](js-apis-notificationManager.md#contenttype) | No| No | Notification type. | 75| slotType | [notificationManager.SlotType](js-apis-notificationManager.md#slottype) | No| No | Notification slot type. | 76| extraInfoKeys | Array\<string> | No| No| Extra information about the live view.| 77 78## UnifiedGroupInfo<sup>12+</sup> 79 80Describes the fields of notification intelligent unification information. 81 82**System capability**: SystemCapability.Notification.Notification 83 84**System API**: This is a system API. 85 86| Name | Type | Read Only| Optional| Description | 87| ---------------------- | -------------- | ---- | ---- | ---------------------------------- | 88| key | string | No| Yes | Unified group ID. | 89| title | string | No| Yes | Unified group title. | 90| content | string | No| Yes | Unified group summary. | 91| sceneName | string | No| Yes | Name of an unification scene. | 92| extraInfo | {[key: string]: any} | No| Yes | Other unification information. | 93