action ably_get_presence_of_channel { label: "Get presence of a channel" description: "Get presence on a channel" provider: ably method: GET path: "/channels/{channel_id}/presence" encoding: json input: { type: "object" properties: { clientId: { type: "string" } connectionId: { type: "string" } limit: { type: "integer" } } additionalProperties: false } output: { type: "array" items: { type: "object" properties: { action: { type: "string" description: "The event signified by a PresenceMessage." enum: ["ABSENT", "PRESENT", "ENTER", "LEAVE", "UPDATE"] } clientId: { type: "string" description: "The client ID of the publisher of this presence update." } connectionId: { type: "string" description: "The connection ID of the publisher of this presence update." } data: { type: "string" description: "The presence update payload, if provided." } encoding: { type: "string" description: "This will typically be empty as all presence updates received from Ably are automatically decoded client-side using this value. However, if the message encoding cannot be processed, this attribute will contain the remaining transformations not applied to the data payload." } extras: { type: "object" description: "Extras object. Currently only allows for [push](https://www.ably.io/documentation/general/push/publish#channel-broadcast-example) extra." 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 } } } } } } } id: { type: "string" description: "Unique ID assigned by Ably to this presence update." } timestamp: { type: "integer" format: "int64" description: "Timestamp when the presence update was received by Ably, as milliseconds since the epoch." } } } } }