action ably_publish_push_notification_to_devices { label: "Publish a push notification to device(s)" description: "A convenience endpoint to deliver a push notification payload to a single device or set of devices identified by their client identifier." provider: ably method: POST path: "/push/publish" encoding: form input: { type: "object" required: ["recipient"] properties: { push: { type: "object" properties: { apns: { type: "object" description: "Extends and overrides generic values when delivering via APNs. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure)" properties: { notification: { type: "object" properties: { body: { type: "string" description: "Text below title on the expanded notification." } collapseKey: { type: "string" description: "Platform-specific, used to group notifications together." } icon: { type: "string" description: "Platform-specific icon for the notification." } sound: { type: "string" description: "Platform-specific sound for the notification." } title: { type: "string" description: "Title to display at the notification." } } } } } data: { type: "string" description: "Arbitrary [key-value string-to-string payload](https://www.ably.io/documentation/general/push/publish#channel-broadcast-example)." } fcm: { type: "object" description: "Extends and overrides generic values when delivering via GCM/FCM. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure)" properties: { notification: { type: "object" additionalProperties: true } } } notification: { type: "object" additionalProperties: true } web: { type: "object" description: "Extends and overrides generic values when delivering via web. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure)" properties: { notification: { type: "object" additionalProperties: true } } } } } recipient: { type: "object" description: "Push recipient details for a device." properties: { clientId: { type: "string" description: "Client ID of recipient" } deviceId: { type: "string" description: "Client ID of recipient" } deviceToken: { type: "string" description: "when using APNs, specifies the required device token." } registrationToken: { type: "string" description: "when using GCM or FCM, specifies the required registration token." } transportType: { type: "string" description: "Defines which push platform is being used." enum: ["apns", "fcm", "gcm"] } } } } } output: { type: "object" additionalProperties: true } }