openapi: 3.0.1 info: title: Control API v1 apps Publishing 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: Publishing paths: /channels/{channel_id}/messages: parameters: - $ref: '#/components/parameters/versionHeader' - $ref: '#/components/parameters/responseFormat' post: summary: Publish a message to a channel operationId: publishMessagesToChannel description: Publish a message to the specified channel tags: - Publishing parameters: - $ref: '#/components/parameters/channelId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Message' application/x-msgpack: schema: $ref: '#/components/schemas/Message' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Message' responses: 2XX: description: OK headers: x-ably-serverid: $ref: '#/components/headers/ServerId' content: application/json: schema: type: object properties: channel: type: string messageId: type: string application/x-msgpack: schema: type: object properties: channel: type: string messageId: type: string text/html: schema: type: object properties: channel: type: string messageId: type: string default: $ref: '#/components/responses/Error' components: schemas: 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' 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' 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 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. parameters: 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. headers: ErrorCode: description: The error code. schema: type: integer 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.