# Ably Platform API API

> Ably Platform API API on Apizie: 22 endpoints (Enumerate all active channels of the application, Get metadata of a channel, Get message history for a channel, Publish a message to a channel, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/cloud:ably-platform/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:ably-platform`
- Category: Cloud
- Status: byok
- Source: https://ably.com
- Page: https://apizie.tech/api/cloud/ably-platform
- OpenAPI: https://apizie.tech/api/cloud/ably-platform/openapi.json

The [REST API specification](https://www.ably.io/documentation/rest-api) for Ably.

## Endpoints

### Enumerate all active channels of the application
`GET https://apizie.tech/v1/cloud:ably-platform/get-metadata-of-all-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| limit | integer | no |  |
| prefix | string | no | Optionally limits the query to only those channels whose name starts with the given prefix |
| by | string | no | optionally specifies whether to return just channel names (by=id) or ChannelDetails (by=value) |

### Get metadata of a channel
`GET https://apizie.tech/v1/cloud:ably-platform/get-metadata-of-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel_id | string | yes | The [Channel's ID](https://www.ably.io/documentation/rest/channels). |

### Get message history for a channel
`GET https://apizie.tech/v1/cloud:ably-platform/get-messages-by-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel_id | string | yes | The [Channel's ID](https://www.ably.io/documentation/rest/channels). |
| start | string | no |  |
| limit | integer | no |  |
| end | string | no |  |
| direction | string | no |  |

### Publish a message to a channel
`POST https://apizie.tech/v1/cloud:ably-platform/publish-messages-to-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel_id | string | yes | The [Channel's ID](https://www.ably.io/documentation/rest/channels). |
| body | object | no | JSON request body |

### Get presence of a channel
`GET https://apizie.tech/v1/cloud:ably-platform/get-presence-of-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel_id | string | yes | The [Channel's ID](https://www.ably.io/documentation/rest/channels). |
| clientId | string | no |  |
| connectionId | string | no |  |
| limit | integer | no |  |

### Get presence history of a channel
`GET https://apizie.tech/v1/cloud:ably-platform/get-presence-history-of-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel_id | string | yes | The [Channel's ID](https://www.ably.io/documentation/rest/channels). |
| start | string | no |  |
| limit | integer | no |  |
| end | string | no |  |
| direction | string | no |  |

### Request an access token
`POST https://apizie.tech/v1/cloud:ably-platform/request-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| keyName | string | yes | The [key name](https://www.ably.io/documentation/rest-api/token-request-spec#api-key-format) comprises of the app ID and key ID of an API… |
| body | object | no | JSON request body |

### List channel subscriptions
`GET https://apizie.tech/v1/cloud:ably-platform/get-push-subscriptions-on-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel | string | no | Filter to restrict to subscriptions associated with that channel. |
| deviceId | string | no | Optional filter to restrict to devices associated with that deviceId. Cannot be used with clientId. |
| clientId | string | no | Optional filter to restrict to devices associated with that clientId. Cannot be used with deviceId. |
| limit | integer | no | The maximum number of records to return. |

### Subscribe a device to a channel
`POST https://apizie.tech/v1/cloud:ably-platform/subscribe-push-device-to-channel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| body | object | no | JSON request body |

### Delete a registered device's update token
`POST https://apizie.tech/v1/cloud:ably-platform/delete-push-device-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| channel | string | no | Filter to restrict to subscriptions associated with that channel. |
| deviceId | string | no | Must be set when clientId is empty, cannot be used with clientId. |
| clientId | string | no | Must be set when deviceId is empty, cannot be used with deviceId. |

### List all channels with at least one subscribed device
`GET https://apizie.tech/v1/cloud:ably-platform/get-channels-with-push-subscribers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |

### List devices registered for receiving push notifications
`GET https://apizie.tech/v1/cloud:ably-platform/get-registered-push-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| deviceId | string | no | Optional filter to restrict to devices associated with that deviceId. |
| clientId | string | no | Optional filter to restrict to devices associated with that clientId. |
| limit | integer | no | The maximum number of records to return. |

### Register a device for receiving push notifications
`POST https://apizie.tech/v1/cloud:ably-platform/register-push-device` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| body | object | no | JSON request body |

### Unregister matching devices for push notifications
`POST https://apizie.tech/v1/cloud:ably-platform/unregister-all-push-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| deviceId | string | no | Optional filter to restrict to devices associated with that deviceId. Cannot be used with clientId. |
| clientId | string | no | Optional filter to restrict to devices associated with that clientId. Cannot be used with deviceId. |

### Get a device registration
`GET https://apizie.tech/v1/cloud:ably-platform/get-push-device-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| device_id | string | yes | Device's ID. |

### Update a device registration
`POST https://apizie.tech/v1/cloud:ably-platform/put-push-device-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| device_id | string | yes | Device's ID. |
| body | object | no | JSON request body |

### Update a device registration
`POST https://apizie.tech/v1/cloud:ably-platform/patch-push-device-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| device_id | string | yes | Device's ID. |
| body | object | no | JSON request body |

### Unregister a single device for push notifications
`POST https://apizie.tech/v1/cloud:ably-platform/unregister-push-device` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| device_id | string | yes | Device's ID. |

### Reset a registered device's update token
`GET https://apizie.tech/v1/cloud:ably-platform/update-push-device-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| device_id | string | yes | Device's ID. |

### Publish a push notification to device(s)
`POST https://apizie.tech/v1/cloud:ably-platform/publish-push-notification-to-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| body | object | no | JSON request body |

### Retrieve usage statistics for an application
`GET https://apizie.tech/v1/cloud:ably-platform/get-stats` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |
| start | string | no |  |
| limit | integer | no |  |
| end | string | no |  |
| direction | string | no |  |
| unit | string | no | Specifies the unit of aggregation in the returned results. |

### Get the service time
`GET https://apizie.tech/v1/cloud:ably-platform/get-time` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Ably-Version | string | no | The version of the API you wish to use. |
| format | string | no | The response format you would like |

## Example
```
curl "https://apizie.tech/v1/cloud:ably-platform/get-metadata-of-all-channels" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Ably Platform API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/cloud:ably-platform/get-metadata-of-all-channels with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Ably Platform API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Ably Platform API itself also needs your own key from rest.ably.io.

### Can AI agents use the Ably Platform API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:ably-platform.

### What is the status of the Ably Platform API API?
Needs your own provider key (bring your own key)
