Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/ably:ably-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Control API v1 Apps 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: Apps
paths:
/accounts/{account_id}/apps:
get:
summary: Lists account apps
description: List all Ably applications for the specified account ID.
tags:
- Apps
parameters:
- name: account_id
in: path
required: true
description: The account ID for which to retrieve the associated applications.
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: List of apps for the specified account are returned
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/app_response'
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
operationId: getAccountsByAccountIdApps
x-operation-id-source: derived
post:
summary: Creates an app
description: Creates an application with the specified properties.
tags:
- Apps
parameters:
- name: account_id
description: The account ID of the account in which to create the application.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'201':
description: App created
content:
application/json:
schema:
$ref: '#/components/schemas/app_response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'422':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/app_post'
operationId: postAccountsByAccountIdApps
x-operation-id-source: derived
/apps/{id}:
patch:
summary: Updates an app
description: Updates the application with the specified application ID.
tags:
- Apps
parameters:
- name: id
description: The ID of application to be updated.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: App updated
content:
application/json:
schema:
$ref: '#/components/schemas/app_response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: App not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'422':
description: Invalid resource
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/app_patch'
operationId: patchAppsById
x-operation-id-source: derived
delete:
summary: Deletes an app
description: Deletes the application with the specified application ID.
tags:
- Apps
parameters:
- name: id
description: The ID of the application to be deleted.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'204':
description: App deleted
content: {}
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: App not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'422':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
operationId: deleteAppsById
x-operation-id-source: derived
/apps/{id}/pkcs12:
post:
summary: Updates app's APNs info from a `.p12` file
description: Updates the application's Apple Push Notification service (APNs) information.
tags:
- Apps
parameters:
- name: id
description: The application ID.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: App updated
content:
application/json:
schema:
$ref: '#/components/schemas/app_response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: App not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/app_pkcs12'
operationId: postAppsByIdPkcs12
x-operation-id-source: derived
components:
schemas:
app_response:
type: object
additionalProperties: false
properties:
accountId:
type: string
description: The ID of your Ably account.
example: WgRpOB
id:
type: string
description: The application ID.
example: 28AB6x
name:
type: string
description: The application name.
example: Default
status:
type: string
description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available.
example: enabled
tlsOnly:
type:
- boolean
- 'null'
description: Enforce TLS for all connections. This setting overrides any channel setting.
example: true
apnsUseSandboxEndpoint:
type:
- boolean
- 'null'
description: Use the Apple Push Notification service sandbox endpoint.
example: false
_links:
type:
- object
- 'null'
description: A link self-referencing the app that has been created.
app_patch:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the application for your reference only.
example: My App
status:
type: string
description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available.
example: enabled
tlsOnly:
type:
- boolean
- 'null'
description: Enforce TLS for all connections.
example: true
fcmKey:
description: The Firebase Cloud Messaging key.
type:
- string
- 'null'
example: AABBQ1KyxCE:APA91bCCYs7r_Q-sqW8HMP_hV4t3vMYx...cJ8344-MhGWODZEuAmg_J4MUJcVQEyDn...I
fcmServiceAccount:
type:
- string
- 'null'
description: Used to specify the Firebase Cloud Messaging(FCM) service account credentials used for authentication and enabling communication with FCM to send push notifications to devices.
example: service_account
fcmProjectId:
type:
- string
- 'null'
description: The unique identifier for the Firebase Cloud Messaging(FCM) project. This ID is used to specify the Firebase project when configuring FCM or other Firebase services.
example: notional-armor-405018
apnsCertificate:
type:
- string
- 'null'
description: The Apple Push Notification service certificate.
example: '-----BEGIN CERTIFICATE-----MIIFaDCC...EXAMPLE...3Dc=-----END CERTIFICATE-----'
apnsPrivateKey:
type:
- string
- 'null'
description: The Apple Push Notification service private key.
example: REDACTED_PRIVATE_KEY_EXAMPLE
apnsUseSandboxEndpoint:
type:
- boolean
- 'null'
description: Use the Apple Push Notification service sandbox endpoint.
example: false
error:
type: object
additionalProperties: false
properties:
message:
type: string
description: The error message.
code:
type: integer
description: The HTTP status code returned.
statusCode:
type: integer
description: The Ably error code.
href:
type: string
description: The URL to documentation about the error code.
details:
type:
- object
- 'null'
description: Any additional details about the error message.
required:
- message
- code
- statusCode
- href
app_post:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the application for your reference only.
example: My App
status:
type: string
description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available.
example: enabled
deprecated: true
tlsOnly:
type:
- boolean
- 'null'
description: Enforce TLS for all connections.
example: true
fcmKey:
description: The Firebase Cloud Messaging key.
type:
- string
- 'null'
example: AABBQ1KyxCE:APA91bCCYs7r_Q-sqW8HMP_hV4t3vMYx...cJ8344-MhGWODZEuAmg_J4MUJcVQEyDn...I
fcmServiceAccount:
type:
- string
- 'null'
description: Used to specify the Firebase Cloud Messaging(FCM) service account credentials used for authentication and enabling communication with FCM to send push notifications to devices.
example: service_account
fcmProjectId:
type:
- string
- 'null'
description: The unique identifier for the Firebase Cloud Messaging(FCM) project. This ID is used to specify the Firebase project when configuring FCM or other Firebase services.
example: notional-armor-405018
apnsCertificate:
type:
- string
- 'null'
description: The Apple Push Notification service certificate.
example: '-----BEGIN CERTIFICATE-----MIIFaDCC...EXAMPLE...3Dc=-----END CERTIFICATE-----'
apnsPrivateKey:
type:
- string
- 'null'
description: The Apple Push Notification service private key.
example: REDACTED_PRIVATE_KEY_EXAMPLE
apnsUseSandboxEndpoint:
type:
- boolean
- 'null'
description: Use the Apple Push Notification service sandbox endpoint.
example: false
required:
- name
app_pkcs12:
type: object
additionalProperties: false
properties:
p12File:
type: string
format: binary
description: The `.p12` file containing the app's APNs information.
example: example.p12
p12Pass:
type: string
description: The password for the corresponding `.p12` file.
example: secret
required:
- p12File
- p12Pass
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 <a href="https://ably.com/docs/account/control-api/#authentication">Ably docs</a>.