openapi: 3.0.1 info: title: Control API v1 apps History API version: 1.0.32 description: 'Use the Control API to manage your applications, namespaces, keys, queues, rules, and more. Detailed information on using this API can be found in the Ably Control API docs. Control API is currently in Preview. ' servers: - url: https://control.ably.net/v1 tags: - name: History paths: /channels/{channel_id}/messages: parameters: - $ref: '#/components/parameters/versionHeader' - $ref: '#/components/parameters/responseFormat' get: summary: Get message history for a channel operationId: getMessagesByChannel tags: - History description: Get message history for a channel parameters: - $ref: '#/components/parameters/channelId' - $ref: '#/components/parameters/filterStart' - $ref: '#/components/parameters/filterLimit' - $ref: '#/components/parameters/filterEnd' - $ref: '#/components/parameters/filterDirection' responses: 2XX: description: OK headers: link: $ref: '#/components/headers/Link' x-ably-serverid: $ref: '#/components/headers/ServerId' content: application/json: schema: type: array items: $ref: '#/components/schemas/Message' application/x-msgpack: schema: type: array items: $ref: '#/components/schemas/Message' text/html: schema: type: string default: description: Error headers: x-ably-errorcode: $ref: '#/components/headers/ErrorCode' x-ably-errormessage: $ref: '#/components/headers/ErrorMessage' x-ably-serverid: $ref: '#/components/headers/ServerId' /channels/{channel_id}/presence/history: parameters: - $ref: '#/components/parameters/versionHeader' - $ref: '#/components/parameters/responseFormat' get: summary: Get presence history of a channel operationId: getPresenceHistoryOfChannel description: Get presence on a channel tags: - History parameters: - $ref: '#/components/parameters/channelId' - $ref: '#/components/parameters/filterStart' - $ref: '#/components/parameters/filterLimit' - $ref: '#/components/parameters/filterEnd' - $ref: '#/components/parameters/filterDirection' responses: 2XX: description: OK headers: link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/PresenceMessage' application/x-msgpack: schema: type: array items: $ref: '#/components/schemas/PresenceMessage' text/html: schema: type: string default: $ref: '#/components/responses/Error' components: parameters: filterEnd: name: end in: query schema: type: string default: now filterStart: name: start in: query schema: type: string channelId: name: channel_id in: path schema: type: string required: true description: The [Channel's ID](https://www.ably.io/documentation/rest/channels). responseFormat: in: query name: format schema: type: string enum: - json - jsonp - msgpack - html description: The response format you would like versionHeader: in: header name: X-Ably-Version schema: type: string description: The version of the API you wish to use. filterLimit: name: limit in: query schema: type: integer default: '100' filterDirection: name: direction in: query schema: type: string default: backwards enum: - forwards - backwards schemas: PresenceMessage: type: object properties: id: description: Unique ID assigned by Ably to this presence update. type: string readOnly: true action: description: The event signified by a PresenceMessage. type: string enum: - ABSENT - PRESENT - ENTER - LEAVE - UPDATE readOnly: true data: description: The presence update payload, if provided. type: string clientId: description: The client ID of the publisher of this presence update. type: string connectionId: description: The connection ID of the publisher of this presence update. type: string timestamp: description: Timestamp when the presence update was received by Ably, as milliseconds since the epoch. type: integer format: int64 readOnly: true encoding: 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. type: string extras: $ref: '#/components/schemas/Extras' 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: $ref: '#/components/schemas/Push' Push: type: object properties: data: description: Arbitrary [key-value string-to-string payload](https://www.ably.io/documentation/general/push/publish#channel-broadcast-example). type: string notification: $ref: '#/components/schemas/Notification' apns: description: Extends and overrides generic values when delivering via APNs. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure) type: object properties: notification: $ref: '#/components/schemas/Notification' fcm: description: Extends and overrides generic values when delivering via GCM/FCM. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure) type: object properties: notification: $ref: '#/components/schemas/Notification' web: description: Extends and overrides generic values when delivering via web. [See examples](https://www.ably.io/documentation/general/push/publish#payload-structure) type: object properties: notification: $ref: '#/components/schemas/Notification' Notification: type: object properties: title: description: Title to display at the notification. type: string body: description: Text below title on the expanded notification. type: string icon: description: Platform-specific icon for the notification. type: string sound: description: Platform-specific sound for the notification. type: string collapseKey: description: Platform-specific, used to group notifications together. type: string Message: type: object description: Message object. properties: name: description: The event name, if provided. type: string data: description: The string encoded payload, with the encoding specified below. type: string id: description: A Unique ID that can be specified by the publisher for [idempotent publishing](https://www.ably.io/documentation/rest/messages#idempotent). type: string readOnly: true timestamp: description: Timestamp when the message was received by the Ably, as milliseconds since the epoch. type: integer format: int64 readOnly: true encoding: description: This will typically be empty as all messages 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. type: string clientId: description: The [client ID](https://www.ably.io/documentation/core-features/authentication#identified-clients) of the publisher of this message. type: string connectionId: description: The connection ID of the publisher of this message. type: string extras: $ref: '#/components/schemas/Extras' Error: type: object description: Returned error from failed REST. properties: message: type: string description: Message explaining the error's cause. code: type: integer description: Error code. statusCode: type: integer description: Status error code. href: type: string description: Link to help with error. serverId: type: string description: Server ID with which error was encountered. headers: ErrorCode: description: The error code. schema: type: integer Link: description: Links to related resources, in the format defined by [RFC 5988](https://tools.ietf.org/html/rfc5988#section-5). This will potentially include a link with relation type `next`, `first`, and `current`, where appropiate. schema: type: string pattern: (<(.*)?>; rel=\"(first|current|last)?\",)*(<(.*)?>; rel=\"(first|current|last)?\")+ required: true ServerId: description: The ID for the server communicated with. schema: type: string required: true ErrorMessage: description: The error message. schema: type: string responses: Error: description: Error content: application/json: schema: $ref: '#/components/schemas/Error' application/x-msgpack: schema: $ref: '#/components/schemas/Error' text/html: schema: $ref: '#/components/schemas/Error' headers: x-ably-errorcode: $ref: '#/components/headers/ErrorCode' x-ably-errormessage: $ref: '#/components/headers/ErrorMessage' x-ably-serverid: $ref: '#/components/headers/ServerId' securitySchemes: bearer_auth: type: http scheme: bearer description: Control API uses bearer authentication. You need to generate an access token for use with this API. More details can be found in the Ably docs.