Operations 4
Documentation
Documentation
https://ably.com/docs/api/rest-api
Documentation
https://ably.com/docs/api/control-api
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/ably-keys-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Control API v1 Keys 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: Keys
paths:
/apps/{app_id}/keys:
get:
summary: Lists app keys
description: Lists the API keys associated with the application ID.
tags:
- Keys
parameters:
- name: app_id
description: The application ID.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: Key list
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/key_response'
'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'
'504':
description: Gateway timeout
content:
application/json:
schema:
$ref: '#/components/schemas/error'
operationId: getAppsByAppIdKeys
x-operation-id-source: derived
post:
summary: Creates a key
description: Creates an API key for the application specified.
tags:
- Keys
parameters:
- name: app_id
description: The application ID.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'201':
description: Key created
content:
application/json:
schema:
$ref: '#/components/schemas/key_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 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/key_post'
operationId: postAppsByAppIdKeys
x-operation-id-source: derived
/apps/{app_id}/keys/{key_id}:
patch:
summary: Updates a key
description: Update the API key with the specified key ID, for the application with the specified application ID.
tags:
- Keys
parameters:
- name: app_id
description: The application ID.
in: path
required: true
schema:
type: string
- name: key_id
description: The API key ID.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: Key updated
content:
application/json:
schema:
$ref: '#/components/schemas/key_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 request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'504':
description: Gateway timeout
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/key_patch'
operationId: patchAppsByAppIdKeysByKeyId
x-operation-id-source: derived
/apps/{app_id}/keys/{key_id}/revoke:
post:
summary: Revokes a key
description: Revokes the API key with the specified ID, with the Application ID. This deletes the key.
tags:
- Keys
parameters:
- name: app_id
description: The application ID.
in: path
required: true
schema:
type: string
- name: key_id
description: The key ID.
in: path
required: true
schema:
type: string
security:
- bearer_auth: []
responses:
'200':
description: Key revoked
content: {}
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'504':
description: Gateway timeout
content:
application/json:
schema:
$ref: '#/components/schemas/error'
operationId: postAppsByAppIdKeysByKeyIdRevoke
x-operation-id-source: derived
components:
schemas:
key_post:
type: object
additionalProperties: false
properties:
name:
description: The name for your API key. This is a friendly name for your reference.
type: string
example: My key name
capability:
description: These are the capability operations described in the <a href="https://ably.com/docs/auth/capabilities">capabilities docs</a>.
type: object
additionalProperties:
type: array
description: An array of strings setting the capability operations for the resource.
items:
type: string
example:
name: My key name
capability:
channel1:
- publish
- subscribe
channel2:
- history
required:
- name
- capability
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
key_patch:
type: object
additionalProperties: false
properties:
name:
description: The name for your API key. This is a friendly name for your reference.
type: string
example: My key name
capability:
description: These are the capability operations described in the Ably <a href="https://ably.com/docs/auth/capabilities">capabilities docs</a>.
type: object
additionalProperties:
type: array
description: An array of strings setting the capability operations for the resource.
items:
type: string
example:
name: My key name
capability:
channel1:
- publish
- subscribe
channel2:
- history
key_response:
type: object
additionalProperties: false
properties:
appId:
description: The Ably application ID which this key is associated with.
type: string
example: 28GY6a
id:
description: The key ID.
type: string
example: G8dabc
name:
description: The name for your API key. This is a friendly name for your reference.
type: string
example: My key name
status:
description: The status of the key. `0` is enabled, `1` is revoked.
type: integer
key:
description: The complete API key including API secret.
type: string
capability:
description: The capabilities that this key has. More information on capabilities can be found in the Ably <a href="https://ably.com/docs/auth/capabilities">capabilities docs</a>.
type: object
additionalProperties:
type: array
description: An array of strings setting the capability operations for the resource.
items:
type: string
example:
channel1:
- publish
- subscribe
channel2:
- history
created:
type: integer
description: Unix timestamp representing the date and time of creation of the key.
example: 1602844091815
modified:
type: integer
description: Unix timestamp representing the date and time of the last modification of the key.
example: 1614679682091
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>.