# Alibaba Cloud Alibaba Cloud Mobile Push API

> Alibaba Cloud Alibaba Cloud Mobile Push API on Apizie: 32 endpoints (Attach an alias to a device, Attaches a device to a phone number, Binds tags to specified device targets. Tag bindings take effect within 10 minutes, Cancels a scheduled push task that has not yet been executed, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/cloud:aliyun-push/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:aliyun-push`
- Category: Cloud
- Status: byok
- Source: https://api.alibabacloud.com/product/push
- Page: https://apizie.tech/api/cloud/aliyun-push
- OpenAPI: https://apizie.tech/api/cloud/aliyun-push/openapi.json

Alibaba Cloud OpenAPI for Alibaba Cloud Mobile Push (push, version 2016-08-01). Calls are signed with ACS3-HMAC-SHA256 using your AccessKey ID and secret.

## Endpoints

### Attach an alias to a device
`POST https://apizie.tech/v1/cloud:aliyun-push/bind-alias` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | Your AppKey |
| DeviceId | string | yes | The unique identifier of the device in Mobile Push. It is 32 characters long and contains only numbers and lowercase letters |
| AliasName | string | yes | The alias to attach. You can attach up to 10 aliases in one request. Separate multiple aliases with commas. Each alias can be up to 128… |

### Attaches a device to a phone number
`POST https://apizie.tech/v1/cloud:aliyun-push/bind-phone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| DeviceId | string | yes | The unique identity of the device, 32-bit, a combination of numbers and lowercase letters |
| PhoneNumber | string | yes | Phone number |

### Binds tags to specified device targets. Tag bindings take effect within 10 minutes
`POST https://apizie.tech/v1/cloud:aliyun-push/bind-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey of your application |
| ClientKey | string | yes | The ID of the target device. You can specify a maximum of 1,000 device IDs |
| KeyType | string | yes | The type of the `ClientKey`. Valid value: DEVICE: Indicates a device target |
| TagName | string | yes | The tags to bind. Separate multiple tags with commas (,). You can bind up to 10 tags per request. A tag name can be up to 128 characters… |

### Cancels a scheduled push task that has not yet been executed
`POST https://apizie.tech/v1/cloud:aliyun-push/cancel-push` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | Your AppKey |
| MessageId | integer | yes | The message ID of the push task to cancel |

### Checks the expiration time and current status of the iOS certificate for a specified app
`POST https://apizie.tech/v1/cloud:aliyun-push/check-certificate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey of the application |

### Validate a specified group of devices
`POST https://apizie.tech/v1/cloud:aliyun-push/check-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| DeviceIds | string | yes | The unique identifier for each device in the push service. Each ID is 32 characters long and contains only digits and lowercase letters.… |

### Manually ends a continuous push task
`POST https://apizie.tech/v1/cloud:aliyun-push/complete-continuously-push` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| MessageId | string | yes | The message ID. This ID is returned after you call the Push operation and set Target to TBD. It identifies a message saved in the push… |

### Executes a predefined continuous push task
`POST https://apizie.tech/v1/cloud:aliyun-push/continuously-push` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| MessageId | string | yes | Message ID. Obtain this MessageId by calling the Push API with Target set to TBD. It represents a message already saved in the push system |
| Target | string | yes | Push target: DEVICE: Push by device ACCOUNT: Push by account ALIAS: Push by alias Continuous push supports only these three target types |
| TargetValue | string | yes | Specify values based on Target. Separate multiple values with commas. If you exceed the limit, split the push into multiple calls.… |

### Queries the tags of an app. A maximum of 100 records are returned
`POST https://apizie.tech/v1/cloud:aliyun-push/list-tags` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |

### Push different messages/notifications to different devices in batch
`POST https://apizie.tech/v1/cloud:aliyun-push/mass-push` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| PushTask | string | yes | An array of independent push tasks (JSON-encoded) |
| IdempotentToken | string | no | An idempotency parameter used to prevent duplicate pushes caused by API caller retries. When calls are made with the same IdempotentToken… |

### Pushes notifications in batch by using the advanced push API V2
`POST https://apizie.tech/v1/cloud:aliyun-push/mass-push-v2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey information |
| IdempotentToken | string | no | An idempotent parameter used to prevent duplicate pushes caused by API call retries on the client side. If the same IdempotentToken is… |
| PushTasks | string | yes | The batch push tasks (JSON-encoded) |

### Advanced Push API that pushes notifications or messages to different device endpoints. This API provides…
`POST https://apizie.tech/v1/cloud:aliyun-push/push` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| PushType | string | yes | Push type. Valid values: NOTICE: Notification. Notifications are delivered to devices through vendor channels such as APNs, Huawei,… |
| DeviceType | string | yes | Device type. Valid values: HARMONY: HarmonyOS device iOS: iOS device ANDROID: Android device ALL: When the AppKey is for a legacy… |
| Target | string | yes | Push target. Valid values: DEVICE: Push by device. ACCOUNT: Push by account. ALIAS: Push by alias. TAG: Push by tag. ALL: Push to all… |
| TargetValue | string | yes | Set based on the Target type. Multiple values are separated by commas. If the limit is exceeded, split into multiple pushes.… |
| StoreOffline | string | no | Whether to store offline messages/notifications. StoreOffline defaults to false. If enabled, when the user is offline during push, the… |
| SendChannels | string | no | Specify sending channels. Valid values: accs: Alibaba Cloud proprietary channel huawei: Huawei channel honor: Honor channel xiaomi: Xiaomi… |
| PushTime | string | no | Used for scheduled sending. If not set, the default is immediate sending. Scheduled sending must be no later than 7 days from now. The… |
| ExpireTime | string | no | Expiration time for offline messages/notifications, used in conjunction with StoreOffline. Expired messages will no longer be sent.… |
| JobKey | string | no | Custom identifier for the push task. When JobKey is not empty, the receipt log will include this field. For viewing receipt logs, see… |
| Title | string | no | Title of the notification/message during push. Length limit: 200 bytes. Required for Android and HarmonyOS push; optional for iOS… |
| Body | string | no | Notification content/message content for Android and HarmonyOS push; iOS message/notification content. The push content size is limited.… |
| Trim | string | no | Whether to automatically truncate overly long titles and content. Only applies to vendor channels that explicitly limit title and content… |
| iOSApnsEnv | string | no | iOS notifications are sent through the APNs center, and the corresponding environment information must be provided. DEV: Development… |
| iOSRemind | string | no | When the device is offline during message push (i.e., the persistent connection to the push server is disconnected), this push will be… |
| iOSSubtitle | string | no | iOS notification subtitle content (iOS 10+) |
| iOSRemindBody | string | no | iOS notification content used when converting iOS messages to notifications. Only valid when iOSApnsEnv=PRODUCT and iOSRemind is true |
| iOSMusic | string | no | iOS notification sound. Specify the name of an audio file stored in the app bundle or the sandbox Library/Sounds directory. See:… |
| iOSBadge | integer | no | iOS app icon badge number in the upper-right corner. If iOSBadgeAutoIncrement is set to True, this field must be empty |
| iOSBadgeAutoIncrement | string | no | Whether to enable badge auto-increment. Default is false. When this is set to true, iOSBadge must be empty. The badge auto-increment… |
| iOSSilentNotification | string | no | Whether to enable iOS silent notification |
| iOSMutableContent | string | no | iOS notification processing extension flag (iOS 10+). If set to true, the APNs push notification can reach the Extension for processing… |
| iOSNotificationCategory | string | no | Specify the iOS notification Category (iOS 10+) |
| iOSNotificationCollapseId | string | no | When a device receives messages with the same CollapseId, they will be merged into one. When the device is offline and consecutive… |
| iOSNotificationThreadId | string | no | This attribute is used to group iOS remote notifications, identifying the group name for collapsed notifications. Only supported on iOS… |
| iOSInterruptionLevel | string | no | Interruption level. Valid values: passive: The system adds the notification to the notification list without lighting up the screen or… |
| iOSRelevanceScore | number | no | Summary highlight score. Value range: floating-point number in [0,1] |
| iOSExtParameters | string | no | Extension attributes for iOS notifications. For iOS 10+, you can specify the resource URL for rich media push notifications here:… |
| iOSLiveActivityEvent | string | no | Start, update, or end a Live Activity. Enum: start / update / end |
| iOSLiveActivityId | string | no | The Live Activity ID reported from the device to the user's server. The unique identifier of the Live Activity |
| iOSLiveActivityAttributesType | string | no | The type of Live Activity to start. Required when iOSLiveActivityEvent is start |
| iOSLiveActivityAttributes | string | no | JSON string, static parameters for Live Activity (Dynamic Island) push. Contains static user-defined information such as product IDs and… |
| iOSLiveActivityContentState | string | no | Dynamic parameters for Live Activity (Dynamic Island) push, containing real-time update information such as price and inventory changes |
| iOSLiveActivityDismissalDate | integer | no | Timestamp in seconds. The ended Live Activity will remain on the lock screen until this specified time, with a maximum of 4 hours |
| iOSLiveActivityStaleDate | integer | no | Timestamp in seconds. Marks the expiration time of the activity content |
| AndroidNotifyType | string | no | Notification alert type. Valid values: VIBRATE: Vibration (default) SOUND: Sound BOTH: Sound and vibration NONE: Silent |
| AndroidRemind | string | no | When the push type is message and the device is offline, this push will use the supplementary popup feature. Default is false. Only… |
| AndroidOpenType | string | no | Action after clicking the notification. Valid values: APPLICATION: Open the application (default) ACTIVITY: Open an Android Activity URL:… |
| AndroidActivity | string | no | Specify the activity to open from the notification. Only pass this when AndroidOpenType="Activity", e.g.:… |
| AndroidOpenUrl | string | no | URL to open when Android receives the push. Only pass this when AndroidOpenType="URL" |
| AndroidPopupActivity | string | no | Specify the Activity to navigate to after clicking the notification |
| AndroidPopupTitle | string | no | Title content in supplementary popup mode. Required when the AndroidPopupActivity parameter is not empty. Length limit: 50 characters… |
| AndroidPopupBody | string | no | Body content in supplementary popup mode. Required when the AndroidPopupActivity parameter is not empty. Length limit: 200 characters… |
| AndroidRenderStyle | integer | no | Notification style. Valid values: 0: Standard mode (default) 1: Long text mode (supported by Huawei, Honor, Xiaomi, OPPO, Meizu, and… |
| AndroidBigTitle | string | no | Title in long text mode. Length limit: 200 bytes (1 Chinese character counts as 3 bytes). Currently only supported by the Honor channel… |
| AndroidBigBody | string | no | Body in long text mode. Length limit: 1000 bytes (1 Chinese character counts as 3 bytes). Subject to specific vendor channel limits when… |
| AndroidBigPictureUrl | string | no | Image URL in big picture mode. Currently supported by: Proprietary channel: Android SDK 3.6.0 and above |
| AndroidXiaomiBigPictureUrl | string | no | This parameter is deprecated. Starting from August 2023, Xiaomi officially no longer supports dynamically setting small icons, right-side… |
| AndroidImageUrl | string | no | Right-side icon URL. Currently supported by: Huawei EMUI (only applicable in long text mode and Inbox mode). Honor Magic UI (only… |
| AndroidXiaomiImageUrl | string | no | This parameter is deprecated. Starting from August 2023, Xiaomi officially no longer supports dynamically setting small icons, right-side… |
| AndroidInboxBody | string | no | Body content in Inbox mode. The content must be a valid JSON Array with no more than 5 elements. Currently supported by: Huawei: EMUI 9… |
| AndroidNotificationBarType | integer | no | Android custom notification bar style. Value range: 1-100 |
| AndroidNotificationBarPriority | integer | no | Priority of the Android notification position in the notification bar. Valid values: -2, -1, 0, 1, 2 |
| AndroidNotificationNotifyId | integer | no | Unique identifier for each message when displayed in the notification bar. Different notification bar messages can share the same… |
| AndroidNotificationChannel | string | no | The channelId of the Android app, which must correspond to the channelId in the app. Set the NotificationChannel parameter. For specific… |
| AndroidNotificationHuaweiChannel | string | no | Set the Huawei notification message classification importance parameter, which determines notification behavior on user devices. Valid… |
| AndroidNotificationHonorChannel | string | no | Set the Honor notification message classification importance parameter, which determines notification behavior on user devices. Valid… |
| AndroidNotificationXiaomiChannel | string | no | Set the Xiaomi notification type channelId. Requires application on the Xiaomi platform. For details, see: Application Link… |
| AndroidNotificationVivoChannel | string | no | Set the vivo notification message classification. Valid values: 0: Operational messages (default) 1: System messages vivo channel… |
| AndroidNotificationGroup | string | no | Message grouping. Messages in the same group are displayed as only the latest one in the notification bar along with the total count of… |
| AndroidNotificationThreadId | string | no | Message grouping. Messages in the same group are collapsed in the notification bar and can be expanded. Notifications from different… |
| AndroidExtParameters | string | no | Set the extension attributes of the notification. This attribute does not take effect when PushType is set to MESSAGE. This parameter must… |
| AndroidMessageHuaweiUrgency | string | no | Huawei channel notification delivery priority. Valid values: HIGH NORMAL Requires permission application. For details, see: Application… |
| AndroidMessageHuaweiCategory | string | no | Purpose 1: After completing the self-classification rights application… |
| AndroidMessageOppoCategory | string | no | OPPO classifies messages into two categories for management: Communication & Service, and Content & Marketing. Communication & Service… |
| AndroidMessageOppoNotifyLevel | integer | no | OPPO channel notification bar message notification level. Valid values: 1: Notification bar 2: Notification bar, lock screen, ringtone,… |
| AndroidMessageVivoCategory | string | no | vivo classifies messages into two categories for management: System messages and Operational messages. System messages: IM: Instant… |
| AndroidTargetUserType | integer | no | Set vendor channel notification type: 0: Official notification (default). 1: Test notification. When this parameter is configured, it is… |
| AndroidHuaweiTargetUserType | integer | no | Set Huawei channel notification type: 0: Official notification (default). 1: Test notification. Each application can send up to 500 test… |
| AndroidHonorTargetUserType | integer | no | Set Honor channel notification type: 0: Official notification (default). 1: Test notification. Each application can send up to 1000 test… |
| AndroidVivoPushMode | integer | no | Set vivo channel notification type: 0: Official push (default). 1: Test push. For test push, please configure the test device on the vivo… |
| AndroidOppoIntentEnv | integer | no | Set OPPO Fluid Cloud push environment: 0: Production environment (default). 1: Test environment. OPPO Fluid Cloud test environment… |
| AndroidHuaweiBusinessType | integer | no | Set Huawei Quick Notification parameter: 0: Send Huawei standard notification (default). 1: Send Huawei Quick Notification |
| AndroidHuaweiReceiptId | string | no | Huawei channel receipt ID. This receipt ID can be found in the receipt parameter configuration on the Huawei channel push management… |
| AndroidVivoReceiptId | string | no | vivo channel receipt ID. This receipt ID can be found in the application information of the push service on the vivo open platform. If the… |
| AndroidBadgeClass | string | no | Full class name of the app entry Activity for badge settings. Only effective for Huawei/Honor vendor channel push |
| AndroidBadgeAddNum | integer | no | Set the badge increment value, which is added to the current badge count. Value range: [1-99]. Only effective for Huawei/Honor vendor… |
| AndroidBadgeSetNum | integer | no | Set a fixed badge number. Value range: [0-99]. For vendor channel push, only effective on Huawei and Honor channels. For Alibaba Cloud… |
| AndroidMusic | string | no | Huawei vendor channel notification sound. Specify the name of an audio file stored in the client project's app/src/main/res/raw/… |
| HarmonyRemind | string | no | When the push type is message and the device is offline, this push will use the supplementary popup feature. Default is false. Only… |
| HarmonyRemindTitle | string | no | HarmonyOS notification title used when converting HarmonyOS messages to notifications. Only valid when HarmonyRemind is true |
| HarmonyRemindBody | string | no | HarmonyOS notification content used when converting HarmonyOS messages to notifications. Only valid when HarmonyRemind is true |
| HarmonyCategory | string | no | Notification message category. After completing the notification message self-classification rights application, this is used to identify… |
| HarmonyNotificationSlotType | string | no | Use the specified notification channel type. Only effective when the Alibaba Cloud proprietary channel is online. SOCIAL_COMMUNICATION:… |
| HarmonyNotifyId | integer | no | Unique identifier for each message when displayed as a notification. If not provided, the push service automatically generates a unique… |
| HarmonyActionType | string | no | Action after clicking the notification. Valid values: APP_HOME_PAGE: Open app home page APP_CUSTOM_PAGE: Open app custom page |
| HarmonyAction | string | no | The action corresponding to the in-app page ability. When HarmonyActionType is APP_CUSTOM_PAGE, at least one of HarmonyUri and… |
| HarmonyUri | string | no | The URI corresponding to the in-app page ability. When HarmonyActionType is APP_CUSTOM_PAGE, at least one of HarmonyUri and HarmonyAction… |
| HarmonyRenderStyle | string | no | Notification message style: NORMAL: Standard notification (default) MULTI_LINE: Multi-line text style |
| HarmonyImageUrl | string | no | URL for the large icon on the right side of the notification. The URL must use the HTTPS protocol. Supported image formats: png, jpg,… |
| HarmonyInboxContent | string | no | Content for multi-line text style. Required when HarmonyRenderStyle is MULTI_LINE. Supports up to 3 items |
| HarmonyExtParameters | string | no | Set the extension attributes of the notification. This attribute does not take effect when PushType is set to MESSAGE. This parameter must… |
| HarmonyTestMessage | string | no | Test message flag: false: Official message (default) true: Test message For details, see the HarmonyOS official documentation… |
| HarmonyReceiptId | string | no | HarmonyOS channel receipt ID. This receipt ID can be found in the receipt parameter configuration on the HarmonyOS channel push management… |
| HarmonyExtensionPush | string | no | When PushType is NOTICE, whether to send as a HarmonyOS notification extension message. true: Send notification extension message false:… |
| HarmonyExtensionExtraData | string | no | Extra data for notification extension messages. Effective when sending HarmonyOS notification extension messages. Conceptually equivalent… |
| HarmonyBadgeAddNum | integer | no | HarmonyOS app badge increment number. Refer to HarmonyOS badge addNum field description… |
| HarmonyBadgeSetNum | integer | no | HarmonyOS app badge set number. Refer to HarmonyOS badge setNum field description… |
| SmsTemplateName | string | no | The template name for supplementary SMS. This can be obtained from the SMS template management page and is a system-assigned name, not a… |
| SmsSignName | string | no | The signature for supplementary SMS |
| SmsParams | string | no | Variable name-value pairs for the SMS template, in the format: `key1=value1&key2=value2` |
| SmsDelaySecs | integer | no | Delay time before triggering SMS, in seconds. Must be set when using SMS convergence. Recommended to be 15 seconds or more, with a maximum… |
| SmsSendPolicy | integer | no | Condition for triggering SMS. Valid values: 0: Triggered when push is not received. 1: Triggered when user has not opened the notification |
| SendSpeed | integer | no | This parameter is deprecated |
| AndroidXiaoMiNotifyTitle | string | no | This parameter is deprecated. All third-party supplementary popups are now supported by the new parameter AndroidPopupTitle |
| AndroidXiaoMiNotifyBody | string | no | This parameter is deprecated. All third-party supplementary popups are now supported by the new parameter AndroidPopupBody |
| AndroidXiaoMiActivity | string | no | This parameter is deprecated. All third-party supplementary popups are now supported by the new parameter AndroidPopupActivity |
| IdempotentToken | string | no | An idempotent parameter to prevent duplicate pushes caused by API client retries. When the same IdempotentToken is used for calls within… |
| AndroidMeizuNoticeMsgType | integer | no | Meizu message type: 0: Public message (default) 1: Private message |
| AndroidOppoPrivateMsgTemplateId | string | no | OPPO private message template ID |
| AndroidOppoPrivateTitleParameters | string | no | OPPO private message template title parameters (JSON-encoded) |
| AndroidOppoPrivateContentParameters | string | no | OPPO private message template content parameters (JSON-encoded) |
| AndroidXiaomiTemplateId | string | no | Xiaomi private message template ID |
| AndroidXiaomiTemplateParams | string | no | Xiaomi private message template parameters, JSON string |
| HarmonyLiveViewPayload | string | no | JSON string of the HarmonyOS Live View data structure LiveViewPayload… |
| AndroidHuaweiLiveNotificationPayload | string | no | JSON string of the Huawei Android Live Notification data structure LiveNotificationPayload… |
| AndroidOppoIntelligentIntent | string | no | JSON string of the OPPO Fluid Cloud intent sharing data structure IntelligentIntent… |
| AndroidOppoDeleteIntentData | string | no | JSON string of the OPPO Fluid Cloud intent deletion data structure data (https://open.oppomobile.com/documentation/page/info?id=13578).… |
| AndroidVivoLiveMessage | string | no | JSON string of the vivo Atomic Island data structure liveMessage (https://dev.vivo.com.cn/documentCenter/doc/896#s-fdagzbd4). For… |
| AndroidXiaomiFocusParam | string | no | JSON string of the Xiaomi Super Island data structure miui.focus.param (https://dev.mi.com/xiaomihyperos/documentation/detail?pId=2131).… |
| AndroidXiaomiFocusPics | string | no | JSON string of the Xiaomi Super Island image data miui.focus.pic_xxx (https://dev.mi.com/xiaomihyperos/documentation/detail?pId=2131). For… |

### Sends a message to an Android device through the Alibaba Cloud Mobile Push proprietary channel. After the…
`POST https://apizie.tech/v1/cloud:aliyun-push/push-message-to-android` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey |
| Target | string | yes | The push target. Valid values: DEVICE: Pushes messages to devices. ACCOUNT: Pushes messages to accounts. ALIAS: Pushes messages to… |
| TargetValue | string | yes | Set this parameter based on the value of \`Target\`. Use commas (,) to separate multiple values. If you exceed the limit, send the pushes… |
| Title | string | yes | The title of the message |
| Body | string | yes | The content of the message |
| StoreOffline | string | no | Specifies whether to store the message offline. The default value is false. If you store the message and the user is offline, the message… |
| JobKey | string | no | A custom ID for the push task. If \`JobKey\` is not empty, this field is included in the receipt logs. For more information, see… |

### Pushes messages to iOS devices. These messages are delivered through the proprietary channel of Alibaba…
`POST https://apizie.tech/v1/cloud:aliyun-push/push-message-toi-os` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| Target | string | yes | Push target. Valid values: DEVICE: Push by device ACCOUNT: Push by account ALIAS: Push by alias TAG: Push by tag ALL: Push to all devices |
| TargetValue | string | yes | Set based on Target. Separate multiple values with commas. If the limit is exceeded, push multiple times. Target=DEVICE. Example values:… |
| Title | string | yes | The title of the message |
| Body | string | yes | The content of the message |
| StoreOffline | string | no | Whether to store the message offline. StoreOffline is set to false by default. If stored, and the user is offline during the push, the… |
| JobKey | string | no | The custom ID for the push Job. If JobKey is not empty, this field is included in the receipt log. For receipt logs, see… |

### Sends a notification to Android devices. The notification appears directly in the device’s notification tray…
`POST https://apizie.tech/v1/cloud:aliyun-push/push-notice-to-android` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | Your AppKey |
| Target | string | yes | The target of the push. Valid values: DEVICE: Push to specific devices. ACCOUNT: Push to specific accounts. ALIAS: Push to users with… |
| TargetValue | string | yes | Set this based on the Target value. Separate multiple values with commas. If you exceed the limit, send multiple requests. If… |
| Title | string | yes | The title of the notification |
| Body | string | yes | The body of the notification |
| StoreOffline | string | no | Whether to store the notification for offline delivery. Default: false. If enabled, the notification is redelivered when the user comes… |
| JobKey | string | no | A custom ID for the push task. If you specify a non-empty JobKey, it appears in the delivery receipt log. For more information, see… |
| ExtParameters | string | no | Custom key-value pairs for Android-specific extensions. Pass this as a JSON object |

### Send a notification to iOS devices. The notification uses Apple’s APNs channel and appears directly in the…
`POST https://apizie.tech/v1/cloud:aliyun-push/push-notice-toi-os` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | Your AppKey |
| Target | string | yes | The target of the push. Valid values: DEVICE: Push to specific devices. ACCOUNT: Push to specific accounts. ALIAS: Push to users with… |
| TargetValue | string | yes | Values depend on the Target value. Separate multiple values with commas. If you exceed the limit, send multiple requests. If… |
| ApnsEnv | string | yes | iOS notifications use Apple’s APNs service. Specify the environment. DEV: Development environment. PRODUCT: Production environment |
| Title | string | no | The title of the notification. iOS 10 and later: Displays as the notification title. iOS 8.2 through iOS 9.x: Replaces the app name in the… |
| Body | string | yes | The body text of the notification |
| JobKey | string | no | A custom ID for the push task. If you specify a JobKey, the delivery log includes this field. For more information, see… |
| ExtParameters | string | no | A custom key-value map for developer extensions. For iOS devices, pass this parameter as a JSON object. Otherwise, parsing fails |

### Sends a push notification by using the advanced push API V2
`POST https://apizie.tech/v1/cloud:aliyun-push/push-v2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey information |
| IdempotentToken | string | no | An idempotence parameter that prevents duplicate push notifications caused by retries from the API caller. If you use the same… |
| PushTask | string | yes | The push task (JSON-encoded) |

### Query the list of aliases attached to a specified device
`POST https://apizie.tech/v1/cloud:aliyun-push/query-aliases` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| DeviceId | string | yes | The unique identifier for the device in Mobile Push. It is 32 characters long and contains only digits and lowercase letters |

### Query details of a specified device
`POST https://apizie.tech/v1/cloud:aliyun-push/query-device-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| DeviceId | string | yes | The unique identity of the device in the push system. Query only one at a time |

### Queries device statistics by application dimension
`POST https://apizie.tech/v1/cloud:aliyun-push/query-device-stat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| StartTime | string | yes | The start time of the query. The time format follows the ISO8601 standard and uses UTC time, in the format YYYY-MM-DDThh:mm:ssZ. The… |
| EndTime | string | yes | The end time of the query. The time format follows the ISO8601 standard and uses UTC time, in the format YYYY-MM-DDThh:mm:ssZ. The… |
| DeviceType | string | no | This parameter is only valid for early Android and iOS dual-platform application types. If your application is a dual-platform… |
| QueryType | string | yes | Query new devices or historical cumulative devices. Valid values: NEW: New devices TOTAL: Cumulative devices |

### Retrieve the list of devices associated with an account using the account name
`POST https://apizie.tech/v1/cloud:aliyun-push/query-devices-by-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| Account | string | yes | Account name. You can query only one account at a time |

### Query the list of devices by alias
`POST https://apizie.tech/v1/cloud:aliyun-push/query-devices-by-alias` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| Alias | string | yes | The alias. You can query only one alias at a time |

### You can query push records with pagination and basic filtering
`POST https://apizie.tech/v1/cloud:aliyun-push/query-push-records` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey of the application |
| StartTime | string | yes | The start time for the query. Specify the time in UTC, using the ISO-8601 format `YYYY-MM-DDThh:mm:ssZ` |
| EndTime | string | yes | The end time for the query. Specify the time in UTC, using the ISO-8601 format `YYYY-MM-DDThh:mm:ssZ` |
| PushType | string | no | The push type. Valid values: MESSAGE: A message. NOTICE: A notification. LIVE_ACTIVITY: A Live Activity |
| Target | string | no | The push target. Valid values: DEVICE: Push to devices. ACCOUNT: Push to accounts. ALIAS: Push to aliases. TAG: Push to tags. ALL: Push to… |
| Source | string | no | The push source. Valid values: API: Pushes initiated via an OpenAPI call. CONSOLE: Pushes initiated from the Mobile Push console.… |
| Keyword | string | no | The keyword used for the query. The search covers the `MessageId`, `Title`, and `Body` fields. For `Title` and `Body`, the system applies… |
| NextToken | string | no | This parameter is deprecated |
| PageSize | integer | no | The number of entries to return on each page. Default: 20. Maximum: 100 |
| Page | integer | no | The page number to query. Default: 1. Maximum: 10,000 |

### Query push statistics for an app
`POST https://apizie.tech/v1/cloud:aliyun-push/query-push-stat-by-app` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| StartTime | string | yes | The start time of the query. Specify the time in ISO 8601 format, YYYY-MM-DDThh:mm:ssZ |
| EndTime | string | yes | The end time of the query. Specify the time in ISO 8601 format, YYYY-MM-DDThh:mm:ssZ |
| Granularity | string | yes | The data granularity of the response. You can only query data for up to 31 days at daily granularity. Valid values: DAY: Query data at… |

### Queries push statistics for a message
`POST https://apizie.tech/v1/cloud:aliyun-push/query-push-stat-by-msg` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey |
| MessageId | integer | yes | The ID of the pushed message. This ID is returned after a message is pushed. Push data is available the next day. You cannot query data… |

### Queries tags for a specified object, such as a device, account, or alias
`POST https://apizie.tech/v1/cloud:aliyun-push/query-tags` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| ClientKey | string | yes | The device, account, or alias. Query one ClientKey at a time |
| KeyType | string | yes | The type of the ClientKey |

### Obtain deduplicated device statistics for an app
`POST https://apizie.tech/v1/cloud:aliyun-push/query-unique-device-stat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | Your app key |
| StartTime | string | yes | The start time of the query, in ISO 8601 format. Format: YYYY-MM-DDThh:mm:ssZ |
| EndTime | string | yes | The end time of the query, in ISO 8601 format. Format: YYYY-MM-DDThh:mm:ssZ |
| Granularity | string | yes | The time granularity for the query. Valid values: DAY MONTH |

### Removes a tag from an app
`POST https://apizie.tech/v1/cloud:aliyun-push/remove-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey value |
| TagName | string | yes | The name of the tag to remove. You can remove only one tag at a time. Maximum length: 128 characters |

### Unbinds an alias. The change takes effect immediately
`POST https://apizie.tech/v1/cloud:aliyun-push/unbind-alias` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey |
| DeviceId | string | yes | The unique device identifier for push notifications. It is 32 characters long and consists of digits and lowercase letters |
| AliasName | string | no | The alias to detach. An alias supports up to 128 bytes (one Chinese character counts as 3 bytes). This field is required when UnbindAll is… |
| UnbindAll | string | no | Whether to detach all aliases. Default is false. If true, detaches all aliases currently bound to the device. If false, detaches only the… |

### Unbind the mobile phone number from a specified device
`POST https://apizie.tech/v1/cloud:aliyun-push/unbind-phone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | AppKey information |
| DeviceId | string | yes | The unique identity of the device. It is 32 characters long and consists of digits and lowercase letters |

### Unbinds one or more tags from a specified target
`POST https://apizie.tech/v1/cloud:aliyun-push/unbind-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| AppKey | integer | yes | The AppKey of your application |
| ClientKey | string | yes | The ID of the device |
| KeyType | string | yes | The type of the ClientKey. Valid value: DEVICE: The key is a device ID |
| TagName | string | yes | Specifies the tag to unbind. To unbind multiple tags, separate them with commas. A maximum of 10 tags, each up to 128 characters long, can… |

### version
`POST https://apizie.tech/v1/cloud:aliyun-push/version` (byok)

## Example
```
curl "https://apizie.tech/v1/cloud:aliyun-push/bind-alias" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Alibaba Cloud Alibaba Cloud Mobile Push API?
Create a free Apizie key, then send POST https://apizie.tech/v1/cloud:aliyun-push/bind-alias with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Alibaba Cloud Alibaba Cloud Mobile Push API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Alibaba Cloud Alibaba Cloud Mobile Push itself also needs your own key from aliyuncs.com.

### Can AI agents use the Alibaba Cloud Alibaba Cloud Mobile Push API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:aliyun-push.

### What is the status of the Alibaba Cloud Alibaba Cloud Mobile Push API?
Needs your own provider key (bring your own key)
