Ably Apps API

The apps API from Ably — 3 operation(s) for apps.

Operations 5

GET /accounts/{account_id}/apps Lists account apps #
POST /accounts/{account_id}/apps Creates an app #
PATCH /apps/{id} Updates an app #
DELETE /apps/{id} Deletes an app #
POST /apps/{id}/pkcs12 Updates app's APNs info from a `.p12` file #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ably-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

ably-apps-api-openapi.yml Raw ↑
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_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_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_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>.