API Reference

This section of the documentation contains the API references for Ably.

The following API references are available:

Client library SDKs

Depending on availability, an Ably client library SDK may support both a realtime interface and a REST interface. Some SDKs only provide a REST interface. You can check availability on the SDK page.

The realtime interface allows your client to both publish and subscribe to a channel, but the REST interface only allows you to publish to a channel. The REST interface can also be used for non-recurring operations such as obtaining statistics, or checking status. The REST interface has less resource impact, as it is much simpler than the realtime interface.

Typically the REST interface is used on the server, as the server’s main task is to authenticate clients, but does not usually need to subscribe to a channel to obtain realtime events.

REST API

A raw REST API is also provided – you don’t need to install any SDK to use this. This is used where an Ably client library SDK is not available for your chosen platform, or you do not wish to use a client library SDK due to resource constraints.

SSE API

The Ably Server-Sent Events API, and raw HTTP streaming API, provide a way to get a realtime stream of events from Ably in circumstances where using a full Ably Realtime client library, or even an MQTT library, is impractical due to resource constraints. HTTP streaming can be used where an SSE client is not supported.

Control API

Ably Control API is a REST API that enables you to manage your Ably account programmatically. The Control API also enables you to build web apps and command-line tools, to create and manage your Ably realtime infrastructure.

Further information

In addition to the API references listed previously, our developer documentation also provides information on how these interfaces are used, and this covers key concepts such as connections, channels, messages and the pub/sub pattern. You can find that information on the following pages:


Need help?

If you need any help with your implementation or if you have encountered any problems, do get in touch. You can also quickly find answers from our knowledge base, and blog.