npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ably/cli

v0.17.0

Published

Ably CLI for Pub/Sub, Chat and Spaces

Readme

Ably CLI

npm version

Ably CLI for Ably Pub/Sub, Ably Spaces, Ably Chat and the Ably Control API.

Ably CLI screenshot

CLI Usage

[!NOTE] The Ably CLI is currently in Public Preview status. Please raise an issue if you have feedback, feature requests or want to report a bug.

$ npm install -g @ably/cli
$ ably COMMAND
running command...
$ ably (--version)
@ably/cli/0.17.0 darwin-arm64 node-v24.4.1
$ ably --help [COMMAND]
USAGE
  $ ably COMMAND
...
LOGIN (recommended first step)
  $ ably login

Auto-completion

The Ably CLI supports shell auto-completion for bash, zsh, and PowerShell. This helps you discover and use commands more efficiently.

To set up auto-completion:

$ ably autocomplete

This will display installation instructions specific to your shell. Follow them to enable tab completion for commands, subcommands, and flags.

For more details, see the Auto-completion documentation.

Interactive Mode

The Ably CLI includes an interactive shell mode that provides a more convenient way to work with multiple commands:

$ ably-interactive

Features

  • Command history: Previous commands are saved and can be accessed with up/down arrows
  • Tab completion: Full support for command and flag completion
  • Ctrl+C handling:
    • Single Ctrl+C interrupts the current command and returns to prompt
    • Double Ctrl+C (within 500ms) force quits the shell
  • No "ably" prefix needed: Commands can be typed directly (e.g., just channels list instead of ably channels list)

Commands

ably accounts

Manage Ably accounts and your configured access tokens

USAGE
  $ ably accounts

DESCRIPTION
  Manage Ably accounts and your configured access tokens

EXAMPLES
  $ ably accounts login

  $ ably accounts list

  $ ably accounts current

  $ ably accounts logout

  $ ably accounts switch my-account

COMMANDS
  ably accounts current  Show the current Ably account
  ably accounts list     List locally configured Ably accounts
  ably accounts login    Log in to your Ably account
  ably accounts logout   Log out from an Ably account
  ably accounts switch   Switch to a different Ably account

See code: src/commands/accounts/index.ts

ably accounts current

Show the current Ably account

USAGE
  $ ably accounts current [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Show the current Ably account

EXAMPLES
  $ ably accounts current

  $ ably accounts current --json

  $ ably accounts current --pretty-json

See code: src/commands/accounts/current.ts

ably accounts list

List locally configured Ably accounts

USAGE
  $ ably accounts list [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  List locally configured Ably accounts

EXAMPLES
  $ ably accounts list

  $ ably accounts list --json

  $ ably accounts list --pretty-json

See code: src/commands/accounts/list.ts

ably accounts login [TOKEN]

Log in to your Ably account

USAGE
  $ ably accounts login [TOKEN] [-v] [--json | --pretty-json] [-a <value>] [--no-browser]

ARGUMENTS
  TOKEN  Access token (if not provided, will prompt for it)

FLAGS
  -a, --alias=<value>  Alias for this account (default account if not specified)
  -v, --verbose        Output verbose logs
      --json           Output in JSON format
      --no-browser     Do not open a browser
      --pretty-json    Output in colorized JSON format

DESCRIPTION
  Log in to your Ably account

EXAMPLES
  $ ably accounts login

  $ ably accounts login --alias mycompany

  $ ably accounts login --json

  $ ably accounts login --pretty-json

See code: src/commands/accounts/login.ts

ably accounts logout [ALIAS]

Log out from an Ably account

USAGE
  $ ably accounts logout [ALIAS] [-v] [--json | --pretty-json] [-f]

ARGUMENTS
  ALIAS  Alias of the account to log out from (defaults to current account)

FLAGS
  -f, --force        Force logout without confirmation
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Log out from an Ably account

EXAMPLES
  $ ably accounts logout

  $ ably accounts logout mycompany

  $ ably accounts logout --json

  $ ably accounts logout --pretty-json

See code: src/commands/accounts/logout.ts

ably accounts switch [ALIAS]

Switch to a different Ably account

USAGE
  $ ably accounts switch [ALIAS] [-v] [--json | --pretty-json]

ARGUMENTS
  ALIAS  Alias of the account to switch to

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Switch to a different Ably account

EXAMPLES
  $ ably accounts switch

  $ ably accounts switch mycompany

  $ ably accounts switch --json

  $ ably accounts switch --pretty-json

See code: src/commands/accounts/switch.ts

ably apps

Manage Ably apps

USAGE
  $ ably apps

DESCRIPTION
  Manage Ably apps

EXAMPLES
  $ ably apps list

  $ ably apps create

  $ ably apps update

  $ ably apps delete

  $ ably apps set-apns-p12

  $ ably apps channel-rules list

  $ ably apps switch my-app

COMMANDS
  ably apps channel-rules  Manage Ably channel rules (namespaces)
  ably apps create         Create a new app
  ably apps current        Show the currently selected app
  ably apps delete         Delete an app
  ably apps list           List all apps in the current account
  ably apps set-apns-p12   Upload Apple Push Notification Service P12 certificate for an app
  ably apps switch         Switch to a different Ably app
  ably apps update         Update an app

See code: src/commands/apps/index.ts

ably apps channel-rules

Manage Ably channel rules (namespaces)

USAGE
  $ ably apps channel-rules

DESCRIPTION
  Manage Ably channel rules (namespaces)

EXAMPLES
  $ ably apps channel-rules list

  $ ably apps channel-rules create --name "chat" --persisted

  $ ably apps channel-rules update chat --push-enabled

  $ ably apps channel-rules delete chat

See code: src/commands/apps/channel-rules/index.ts

ably apps channel-rules create

Create a channel rule

USAGE
  $ ably apps channel-rules create --name <value> [-v] [--json | --pretty-json] [--app <value>] [--authenticated]
    [--batching-enabled] [--batching-interval <value>] [--conflation-enabled] [--conflation-interval <value>]
    [--conflation-key <value>] [--expose-time-serial] [--persist-last] [--persisted] [--populate-channel-registry]
    [--push-enabled] [--tls-only]

FLAGS
  -v, --verbose                      Output verbose logs
      --app=<value>                  The app ID or name (defaults to current app)
      --authenticated                Whether channels matching this rule require clients to be authenticated
      --batching-enabled             Whether to enable batching for messages on channels matching this rule
      --batching-interval=<value>    The batching interval for messages on channels matching this rule
      --conflation-enabled           Whether to enable conflation for messages on channels matching this rule
      --conflation-interval=<value>  The conflation interval for messages on channels matching this rule
      --conflation-key=<value>       The conflation key for messages on channels matching this rule
      --expose-time-serial           Whether to expose the time serial for messages on channels matching this rule
      --json                         Output in JSON format
      --name=<value>                 (required) Name of the channel rule
      --persist-last                 Whether to persist only the last message on channels matching this rule
      --persisted                    Whether messages on channels matching this rule should be persisted
      --populate-channel-registry    Whether to populate the channel registry for channels matching this rule
      --pretty-json                  Output in colorized JSON format
      --push-enabled                 Whether push notifications should be enabled for channels matching this rule
      --tls-only                     Whether to enforce TLS for channels matching this rule

DESCRIPTION
  Create a channel rule

EXAMPLES
  $ ably apps channel-rules create --name "chat" --persisted

  $ ably apps channel-rules create --name "events" --push-enabled

  $ ably apps channel-rules create --name "notifications" --persisted --push-enabled --app "My App"

See code: src/commands/apps/channel-rules/create.ts

ably apps channel-rules delete NAMEORID

Delete a channel rule

USAGE
  $ ably apps channel-rules delete NAMEORID [-v] [--json | --pretty-json] [--app <value>] [-f]

ARGUMENTS
  NAMEORID  Name or ID of the channel rule to delete

FLAGS
  -f, --force        Force deletion without confirmation
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Delete a channel rule

EXAMPLES
  $ ably apps channel-rules delete chat

  $ ably apps channel-rules delete events --app "My App"

  $ ably apps channel-rules delete notifications --force

  $ ably apps channel-rules delete chat --json

  $ ably apps channel-rules delete chat --pretty-json

See code: src/commands/apps/channel-rules/delete.ts

ably apps channel-rules list

List channel rules for an app

USAGE
  $ ably apps channel-rules list [-v] [--json | --pretty-json] [--app <value>]

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  List channel rules for an app

EXAMPLES
  $ ably apps:channel-rules:list

  $ ably apps:channel-rules:list --app my-app-id

  $ ably apps:channel-rules:list --json

  $ ably apps:channel-rules:list --pretty-json

See code: src/commands/apps/channel-rules/list.ts

ably apps channel-rules update NAMEORID

Update a channel rule

USAGE
  $ ably apps channel-rules update NAMEORID [-v] [--json | --pretty-json] [--app <value>] [--authenticated]
    [--batching-enabled] [--batching-interval <value>] [--conflation-enabled] [--conflation-interval <value>]
    [--conflation-key <value>] [--expose-time-serial] [--persist-last] [--persisted] [--populate-channel-registry]
    [--push-enabled] [--tls-only]

ARGUMENTS
  NAMEORID  Name or ID of the channel rule to update

FLAGS
  -v, --verbose                         Output verbose logs
      --app=<value>                     The app ID or name (defaults to current app)
      --[no-]authenticated              Whether channels matching this rule require clients to be authenticated
      --[no-]batching-enabled           Whether to enable batching for messages on channels matching this rule
      --batching-interval=<value>       The batching interval for messages on channels matching this rule
      --[no-]conflation-enabled         Whether to enable conflation for messages on channels matching this rule
      --conflation-interval=<value>     The conflation interval for messages on channels matching this rule
      --conflation-key=<value>          The conflation key for messages on channels matching this rule
      --[no-]expose-time-serial         Whether to expose the time serial for messages on channels matching this rule
      --json                            Output in JSON format
      --[no-]persist-last               Whether to persist only the last message on channels matching this rule
      --[no-]persisted                  Whether messages on channels matching this rule should be persisted
      --[no-]populate-channel-registry  Whether to populate the channel registry for channels matching this rule
      --pretty-json                     Output in colorized JSON format
      --[no-]push-enabled               Whether push notifications should be enabled for channels matching this rule
      --[no-]tls-only                   Whether to enforce TLS for channels matching this rule

DESCRIPTION
  Update a channel rule

EXAMPLES
  $ ably apps channel-rules update chat --persisted

  $ ably apps channel-rules update events --push-enabled=false

  $ ably apps channel-rules update notifications --persisted --push-enabled --app "My App"

See code: src/commands/apps/channel-rules/update.ts

ably apps create

Create a new app

USAGE
  $ ably apps create --name <value> [-v] [--json | --pretty-json] [--tls-only]

FLAGS
  -v, --verbose       Output verbose logs
      --json          Output in JSON format
      --name=<value>  (required) Name of the app
      --pretty-json   Output in colorized JSON format
      --tls-only      Whether the app should accept TLS connections only

DESCRIPTION
  Create a new app

EXAMPLES
  $ ably apps create --name "My New App"

  $ ably apps create --name "My New App" --tls-only

  $ ABLY_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" ably apps create --name "My New App"

See code: src/commands/apps/create.ts

ably apps current

Show the currently selected app

USAGE
  $ ably apps current [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Show the currently selected app

EXAMPLES
  $ ably apps current

  $ ably apps current --json

  $ ably apps current --pretty-json

See code: src/commands/apps/current.ts

ably apps delete [APPID]

Delete an app

USAGE
  $ ably apps delete [APPID] [-v] [--json | --pretty-json] [-f] [--app <value>]

ARGUMENTS
  APPID  App ID to delete (uses current app if not specified)

FLAGS
  -f, --force        Skip confirmation prompt
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Delete an app

EXAMPLES
  $ ably apps delete

  $ ably apps delete app-id

  $ ably apps delete --app app-id

  $ ABLY_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" ably apps delete app-id

  $ ably apps delete app-id --force

  $ ably apps delete app-id --json

  $ ably apps delete app-id --pretty-json

See code: src/commands/apps/delete.ts

ably apps list

List all apps in the current account

USAGE
  $ ably apps list [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  List all apps in the current account

EXAMPLES
  $ ably apps list

  $ ably apps list --json

  $ ably apps list --pretty-json

See code: src/commands/apps/list.ts

ably apps set-apns-p12 ID

Upload Apple Push Notification Service P12 certificate for an app

USAGE
  $ ably apps set-apns-p12 ID --certificate <value> [-v] [--json | --pretty-json] [--password <value>]
    [--use-for-sandbox]

ARGUMENTS
  ID  App ID to set the APNS certificate for

FLAGS
  -v, --verbose              Output verbose logs
      --certificate=<value>  (required) Path to the P12 certificate file
      --json                 Output in JSON format
      --password=<value>     Password for the P12 certificate
      --pretty-json          Output in colorized JSON format
      --use-for-sandbox      Whether to use this certificate for the APNS sandbox environment

DESCRIPTION
  Upload Apple Push Notification Service P12 certificate for an app

EXAMPLES
  $ ably apps set-apns-p12 app-id --certificate /path/to/certificate.p12

  $ ably apps set-apns-p12 app-id --certificate /path/to/certificate.p12 --password "YOUR_CERTIFICATE_PASSWORD"

  $ ably apps set-apns-p12 app-id --certificate /path/to/certificate.p12 --use-for-sandbox

See code: src/commands/apps/set-apns-p12.ts

ably apps switch [APPID]

Switch to a different Ably app

USAGE
  $ ably apps switch [APPID] [-v] [--json | --pretty-json]

ARGUMENTS
  APPID  ID of the app to switch to

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Switch to a different Ably app

EXAMPLES
  $ ably apps switch APP_ID

  $ ably apps switch

See code: src/commands/apps/switch.ts

ably apps update ID

Update an app

USAGE
  $ ably apps update ID [-v] [--json | --pretty-json] [--name <value>] [--tls-only]

ARGUMENTS
  ID  App ID to update

FLAGS
  -v, --verbose       Output verbose logs
      --json          Output in JSON format
      --name=<value>  New name for the app
      --pretty-json   Output in colorized JSON format
      --tls-only      Whether the app should accept TLS connections only

DESCRIPTION
  Update an app

EXAMPLES
  $ ably apps update app-id --name "Updated App Name"

  $ ably apps update app-id --tls-only

  $ ably apps update app-id --name "Updated App Name" --tls-only

  $ ABLY_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" ably apps update app-id --name "Updated App Name"

See code: src/commands/apps/update.ts

ably auth

Manage authentication, keys and tokens

USAGE
  $ ably auth

DESCRIPTION
  Manage authentication, keys and tokens

EXAMPLES
  $ ably auth keys list

  $ ably auth issue-jwt-token

  $ ably auth issue-ably-token

COMMANDS
  ably auth issue-ably-token  Create an Ably Token with capabilities
  ably auth issue-jwt-token   Create an Ably JWT token with capabilities
  ably auth keys              Key management commands
  ably auth revoke-token      Revoke a token

See code: src/commands/auth/index.ts

ably auth issue-ably-token

Create an Ably Token with capabilities

USAGE
  $ ably auth issue-ably-token [-v] [--json | --pretty-json] [--app <value>] [--capability <value>] [--client-id <value>]
    [--token-only] [--ttl <value>]

FLAGS
  -v, --verbose             Output verbose logs
      --app=<value>         The app ID or name (defaults to current app)
      --capability=<value>  [default: {"*":["*"]}] Capabilities JSON string (e.g. {"channel":["publish","subscribe"]})
      --client-id=<value>   Client ID to associate with the token. Use "none" to explicitly issue a token with no client
                            ID, otherwise a default will be generated.
      --json                Output in JSON format
      --pretty-json         Output in colorized JSON format
      --token-only          Output only the token string without any formatting or additional information
      --ttl=<value>         [default: 3600] Time to live in seconds (default: 3600, 1 hour)

DESCRIPTION
  Create an Ably Token with capabilities

EXAMPLES
  $ ably auth issue-ably-token

  $ ably auth issue-ably-token --capability '{"*":["*"]}'

  $ ably auth issue-ably-token --capability '{"chat:*":["publish","subscribe"], "status:*":["subscribe"]}' --ttl 3600

  $ ably auth issue-ably-token --client-id client123 --ttl 86400

  $ ably auth issue-ably-token --client-id "none" --ttl 3600

  $ ably auth issue-ably-token --json

  $ ably auth issue-ably-token --pretty-json

  $ ably auth issue-ably-token --token-only

  $ ABLY_TOKEN="$(ably auth issue-ably-token --token-only)" ably channels publish my-channel "Hello"

See code: src/commands/auth/issue-ably-token.ts

ably auth issue-jwt-token

Create an Ably JWT token with capabilities

USAGE
  $ ably auth issue-jwt-token [-v] [--json | --pretty-json] [--app <value>] [--capability <value>] [--client-id <value>]
    [--token-only] [--ttl <value>]

FLAGS
  -v, --verbose             Output verbose logs
      --app=<value>         The app ID or name (defaults to current app)
      --capability=<value>  [default: {"*":["*"]}] Capabilities JSON string (e.g. {"channel":["publish","subscribe"]})
      --client-id=<value>   Client ID to associate with the token. Use "none" to explicitly issue a token with no client
                            ID, otherwise a default will be generated.
      --json                Output in JSON format
      --pretty-json         Output in colorized JSON format
      --token-only          Output only the token string without any formatting or additional information
      --ttl=<value>         [default: 3600] Time to live in seconds (default: 3600, 1 hour)

DESCRIPTION
  Create an Ably JWT token with capabilities

EXAMPLES
  $ ably auth issue-jwt-token

  $ ably auth issue-jwt-token --capability '{"*":["*"]}'

  $ ably auth issue-jwt-token --capability '{"chat:*":["publish","subscribe"], "status:*":["subscribe"]}' --ttl 3600

  $ ably auth issue-jwt-token --client-id client123 --ttl 86400

  $ ably auth issue-jwt-token --json

  $ ably auth issue-jwt-token --pretty-json

  $ ably auth issue-jwt-token --token-only

  $ ABLY_TOKEN="$(ably auth issue-jwt-token --token-only)" ably channels publish my-channel "Hello"

See code: src/commands/auth/issue-jwt-token.ts

ably auth keys

Key management commands

USAGE
  $ ably auth keys

DESCRIPTION
  Key management commands

EXAMPLES
  $ ably auth keys list

  $ ably auth keys create --name "My New Key"

  $ ably auth keys get KEY_ID

  $ ably auth keys revoke KEY_ID

  $ ably auth keys update KEY_ID

  $ ably auth keys switch KEY_ID

See code: src/commands/auth/keys/index.ts

ably auth keys create

Create a new API key for an app

USAGE
  $ ably auth keys create --name <value> [-v] [--json | --pretty-json] [--app <value>] [--capabilities <value>]

FLAGS
  -v, --verbose               Output verbose logs
      --app=<value>           The app ID or name (defaults to current app)
      --capabilities=<value>  [default: {"*":["*"]}] Capability object as a JSON string. Example:
                              '{"channel:*":["publish"]}'
      --json                  Output in JSON format
      --name=<value>          (required) Name of the key
      --pretty-json           Output in colorized JSON format

DESCRIPTION
  Create a new API key for an app

EXAMPLES
  $ ably auth keys create --name "My New Key"

  $ ably auth keys create --name "My New Key" --app APP_ID

  $ ably auth keys create --name "My New Key" --capabilities '{"*":["*"]}'

  $ ably auth keys create --name "My New Key" --capabilities '{"channel1":["publish","subscribe"],"channel2":["history"]}'

  $ ably auth keys create --name "My New Key" --json

  $ ably auth keys create --name "My New Key" --pretty-json

  $ ably auth keys create --app <appId> --name "MyKey" --capabilities '{"channel:*":["publish"]}'

  $ ably auth keys create --app <appId> --name "MyOtherKey" --capabilities '{"channel:chat-*":["subscribe"],"channel:updates":["publish"]}' --ttl 86400

  $ ably auth keys create --name "My New Key" --capabilities '{"channel1":["publish","subscribe"],"channel2":["history"]}'

See code: src/commands/auth/keys/create.ts

ably auth keys current

Show the current API key for the selected app

USAGE
  $ ably auth keys current [-v] [--json | --pretty-json] [--app <value>]

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Show the current API key for the selected app

EXAMPLES
  $ ably auth keys current

  $ ably auth keys current --app APP_ID

  $ ably auth keys current --json

  $ ably auth keys current --pretty-json

See code: src/commands/auth/keys/current.ts

ably auth keys get KEYNAMEORVALUE

Get details for a specific key

USAGE
  $ ably auth keys get KEYNAMEORVALUE [-v] [--json | --pretty-json] [--app <value>]

ARGUMENTS
  KEYNAMEORVALUE  Key name (APP_ID.KEY_ID), key ID, key label (e.g. Root), or full key value to get details for

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Get details for a specific key

EXAMPLES
  $ ably auth keys get APP_ID.KEY_ID

  $ ably auth keys get Root --app APP_ID

  $ ably auth keys get KEY_ID --app APP_ID

  $ ably auth keys get APP_ID.KEY_ID --json

See code: src/commands/auth/keys/get.ts

ably auth keys list

List all keys in the app

USAGE
  $ ably auth keys list [-v] [--json | --pretty-json] [--app <value>]

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  List all keys in the app

EXAMPLES
  $ ably auth keys list

  $ ably auth keys list --app APP_ID

  $ ably auth keys list --json

  $ ably auth keys list --pretty-json

See code: src/commands/auth/keys/list.ts

ably auth keys revoke KEYNAME

Revoke an API key (permanently disables the key)

USAGE
  $ ably auth keys revoke KEYNAME [-v] [--json | --pretty-json] [--app <value>] [--force]

ARGUMENTS
  KEYNAME  Key name (APP_ID.KEY_ID) of the key to revoke

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID (defaults to current app)
      --force        Skip confirmation prompt
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Revoke an API key (permanently disables the key)

EXAMPLES
  $ ably auth keys revoke APP_ID.KEY_ID

  $ ably auth keys revoke KEY_ID --app APP_ID

  $ ably auth keys revoke APP_ID.KEY_ID --force

  $ ably auth keys revoke APP_ID.KEY_ID --json

  $ ably auth keys revoke APP_ID.KEY_ID --pretty-json

See code: src/commands/auth/keys/revoke.ts

ably auth keys switch [KEYNAMEORVALUE]

Switch to a different API key for the current app

USAGE
  $ ably auth keys switch [KEYNAMEORVALUE] [-v] [--json | --pretty-json] [--app <value>]

ARGUMENTS
  KEYNAMEORVALUE  Key name (APP_ID.KEY_ID) or full value of the key to switch to

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Switch to a different API key for the current app

EXAMPLES
  $ ably auth keys switch

  $ ably auth keys switch APP_ID.KEY_ID

  $ ably auth keys switch KEY_ID --app APP_ID

See code: src/commands/auth/keys/switch.ts

ably auth keys update KEYNAME

Update a key's properties

USAGE
  $ ably auth keys update KEYNAME [-v] [--json | --pretty-json] [--app <value>] [--capabilities <value>] [--name
    <value>]

ARGUMENTS
  KEYNAME  Key name (APP_ID.KEY_ID) of the key to update

FLAGS
  -v, --verbose               Output verbose logs
      --app=<value>           The app ID (defaults to current app)
      --capabilities=<value>  New capabilities for the key (comma-separated list)
      --json                  Output in JSON format
      --name=<value>          New name for the key
      --pretty-json           Output in colorized JSON format

DESCRIPTION
  Update a key's properties

EXAMPLES
  $ ably auth keys update APP_ID.KEY_ID --name "New Name"

  $ ably auth keys update KEY_ID --app APP_ID --capabilities "publish,subscribe"

  $ ably auth keys update APP_ID.KEY_ID --name "New Name" --capabilities "publish,subscribe"

See code: src/commands/auth/keys/update.ts

ably auth revoke-token TOKEN

Revoke a token

USAGE
  $ ably auth revoke-token TOKEN [-v] [--json | --pretty-json] [--app <value>] [-c <value>] [--debug]

ARGUMENTS
  TOKEN  Token to revoke

FLAGS
  -c, --client-id=<value>  Client ID to revoke tokens for
  -v, --verbose            Output verbose logs
      --app=<value>        The app ID or name (defaults to current app)
      --debug              Show debug information
      --json               Output in JSON format
      --pretty-json        Output in colorized JSON format

DESCRIPTION
  Revoke a token

EXAMPLES
  $ ably auth revoke-token TOKEN

  $ ably auth revoke-token TOKEN --client-id clientid

  $ ably auth revoke-token TOKEN --json

  $ ably auth revoke-token TOKEN --pretty-json

See code: src/commands/auth/revoke-token.ts

ably autocomplete [SHELL]

Display autocomplete installation instructions.

USAGE
  $ ably autocomplete [SHELL] [-r]

ARGUMENTS
  SHELL  (zsh|bash|powershell) Shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  Display autocomplete installation instructions.

EXAMPLES
  $ ably autocomplete

  $ ably autocomplete bash

  $ ably autocomplete zsh

  $ ably autocomplete powershell

  $ ably autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

ably bench

Commands for running benchmark tests

USAGE
  $ ably bench

DESCRIPTION
  Commands for running benchmark tests

EXAMPLES
  $ ably bench publisher my-channel

  $ ably bench subscriber my-channel

COMMANDS
  ably bench publisher   Run a publisher benchmark test
  ably bench subscriber  Run a subscriber benchmark test

See code: src/commands/bench/index.ts

ably bench publisher CHANNEL

Run a publisher benchmark test

USAGE
  $ ably bench publisher CHANNEL [-v] [--json | --pretty-json] [--message-size <value>] [-m <value>] [-r <value>] [-t
    rest|realtime] [--wait-for-subscribers]

ARGUMENTS
  CHANNEL  The channel name to publish to

FLAGS
  -m, --messages=<value>      [default: 1000] Number of messages to publish (max 10,000)
  -r, --rate=<value>          [default: 15] Messages per second to publish (max 20)
  -t, --transport=<option>    [default: realtime] Transport to use for publishing
                              <options: rest|realtime>
  -v, --verbose               Output verbose logs
      --json                  Output in JSON format
      --message-size=<value>  [default: 100] Size of the message payload in bytes
      --pretty-json           Output in colorized JSON format
      --wait-for-subscribers  Wait for subscribers to be present before starting

DESCRIPTION
  Run a publisher benchmark test

EXAMPLES
  $ ably bench publisher my-channel

  $ ably bench publisher --messages 5000 --rate 10 my-channel

  $ ably bench publisher --transport realtime my-channel

See code: src/commands/bench/publisher.ts

ably bench subscriber CHANNEL

Run a subscriber benchmark test

USAGE
  $ ably bench subscriber CHANNEL [-v] [--json | --pretty-json] [-D <value>]

ARGUMENTS
  CHANNEL  The channel name to subscribe to

FLAGS
  -D, --duration=<value>  Automatically exit after N seconds
  -v, --verbose           Output verbose logs
      --json              Output in JSON format
      --pretty-json       Output in colorized JSON format

DESCRIPTION
  Run a subscriber benchmark test

EXAMPLES
  $ ably bench subscriber my-channel

See code: src/commands/bench/subscriber.ts

ably channels

Interact with Ably Pub/Sub channels

USAGE
  $ ably channels

DESCRIPTION
  Interact with Ably Pub/Sub channels

EXAMPLES
  $ ably channels publish my-channel '{"name":"message","data":"Hello, World"}'

  $ ably channels subscribe my-channel

  $ ably channels list

COMMANDS
  ably channels batch-publish  Publish messages to multiple Ably channels with a single request
  ably channels history        Retrieve message history for a channel
  ably channels inspect        Open the Ably dashboard to inspect a specific channel
  ably channels list           List active channels using the channel enumeration API
  ably channels occupancy      Get occupancy metrics for a channel
  ably channels presence       Manage presence on Ably channels
  ably channels publish        Publish a message to an Ably channel
  ably channels subscribe      Subscribe to messages published on one or more Ably channels

See code: src/commands/channels/index.ts

ably channels batch-publish [MESSAGE]

Publish messages to multiple Ably channels with a single request

USAGE
  $ ably channels batch-publish [MESSAGE] [-v] [--json | --pretty-json] [--channels <value> | --channels-json <value> |
    --spec <value>] [-e <value> | ] [-n <value> | ]

ARGUMENTS
  MESSAGE  The message to publish (JSON format or plain text, not needed if using --spec)

FLAGS
  -e, --encoding=<value>       The encoding for the message (not used with --spec)
  -n, --name=<value>           The event name (if not specified in the message JSON, not used with --spec)
  -v, --verbose                Output verbose logs
      --channels=<value>       Comma-separated list of channel names to publish to (mutually exclusive with
                               --channels-json and --spec)
      --channels-json=<value>  JSON array of channel names to publish to (mutually exclusive with --channels and --spec)
      --json                   Output in JSON format
      --pretty-json            Output in colorized JSON format
      --spec=<value>           Complete batch spec JSON (either a single BatchSpec object or an array of BatchSpec
                               objects). When used, --channels, --channels-json, --name, and --encoding are ignored

DESCRIPTION
  Publish messages to multiple Ably channels with a single request

EXAMPLES
  $ ably channels batch-publish --channels channel1,channel2 '{"data":"Message to multiple channels"}'

  $ ably channels batch-publish --channels channel1,channel2 --name event '{"text":"Hello World"}'

  $ ably channels batch-publish --channels-json '["channel1", "channel2"]' '{"data":"Using JSON array for channels"}'

  $ ably channels batch-publish --spec '{"channels": ["channel1", "channel2"], "messages": {"data": "Using complete batch spec"}}'

  $ ably channels batch-publish --spec '[{"channels": "channel1", "messages": {"data": "First spec"}}, {"channels": "channel2", "messages": {"data": "Second spec"}}]'

  $ ably channels batch-publish --channels channel1,channel2 '{"data":"Message"}' --json

  $ ably channels batch-publish --channels channel1,channel2 '{"data":"Message"}' --pretty-json

See code: src/commands/channels/batch-publish.ts

ably channels history CHANNEL

Retrieve message history for a channel

USAGE
  $ ably channels history CHANNEL [-v] [--json | --pretty-json] [--cipher <value>] [--direction backwards|forwards]
    [--end <value>] [--start <value>] [--limit <value>]

ARGUMENTS
  CHANNEL  Channel name to retrieve history for

FLAGS
  -v, --verbose             Output verbose logs
      --cipher=<value>      Decryption key for encrypted messages (AES-128)
      --direction=<option>  [default: backwards] Direction of message retrieval (default: backwards)
                            <options: backwards|forwards>
      --end=<value>         End time as ISO 8601, Unix ms, or relative (e.g., "1h", "30m", "2d")
      --json                Output in JSON format
      --limit=<value>       [default: 50] Maximum number of results to return (default: 50)
      --pretty-json         Output in colorized JSON format
      --start=<value>       Start time as ISO 8601, Unix ms, or relative (e.g., "1h", "30m", "2d")

DESCRIPTION
  Retrieve message history for a channel

EXAMPLES
  $ ably channels history my-channel

  $ ably channels history my-channel --json

  $ ably channels history my-channel --pretty-json

  $ ably channels history my-channel --start "2023-01-01T00:00:00Z" --end "2023-01-02T00:00:00Z"

  $ ably channels history my-channel --start 1h

  $ ably channels history my-channel --limit 100

  $ ably channels history my-channel --direction forward

See code: src/commands/channels/history.ts

ably channels inspect CHANNEL

Open the Ably dashboard to inspect a specific channel

USAGE
  $ ably channels inspect CHANNEL [-v] [--json | --pretty-json] [--app <value>]

ARGUMENTS
  CHANNEL  The name of the channel to inspect in the Ably dashboard

FLAGS
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Open the Ably dashboard to inspect a specific channel

EXAMPLES
  $ ably channels inspect my-channel

See code: src/commands/channels/inspect.ts

ably channels list

List active channels using the channel enumeration API

USAGE
  $ ably channels list [-v] [--json | --pretty-json] [--limit <value>] [-p <value>]

FLAGS
  -p, --prefix=<value>  Filter channels by prefix
  -v, --verbose         Output verbose logs
      --json            Output in JSON format
      --limit=<value>   [default: 100] Maximum number of results to return (default: 100)
      --pretty-json     Output in colorized JSON format

DESCRIPTION
  List active channels using the channel enumeration API

EXAMPLES
  $ ably channels list

  $ ably channels list --prefix my-channel

  $ ably channels list --limit 50

  $ ably channels list --json

  $ ably channels list --pretty-json

See code: src/commands/channels/list.ts

ably channels occupancy

Get occupancy metrics for a channel

USAGE
  $ ably channels occupancy

DESCRIPTION
  Get occupancy metrics for a channel

EXAMPLES
  $ ably channels occupancy get my-channel

  $ ably channels occupancy subscribe my-channel

See code: src/commands/channels/occupancy.ts

ably channels occupancy get CHANNEL

Get current occupancy metrics for a channel

USAGE
  $ ably channels occupancy get CHANNEL [-v] [--json | --pretty-json]

ARGUMENTS
  CHANNEL  Channel name to get occupancy for

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Get current occupancy metrics for a channel

EXAMPLES
  $ ably channels occupancy get my-channel

  $ ably channels occupancy get my-channel --json

  $ ably channels occupancy get my-channel --pretty-json

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels occupancy get my-channel

See code: src/commands/channels/occupancy/get.ts

ably channels occupancy subscribe CHANNEL

Subscribe to occupancy events on a channel

USAGE
  $ ably channels occupancy subscribe CHANNEL [-v] [--json | --pretty-json] [-D <value>]

ARGUMENTS
  CHANNEL  Channel name to subscribe to occupancy events

FLAGS
  -D, --duration=<value>  Automatically exit after N seconds
  -v, --verbose           Output verbose logs
      --json              Output in JSON format
      --pretty-json       Output in colorized JSON format

DESCRIPTION
  Subscribe to occupancy events on a channel

EXAMPLES
  $ ably channels occupancy subscribe my-channel

  $ ably channels occupancy subscribe my-channel --json

  $ ably channels occupancy subscribe my-channel --pretty-json

  $ ably channels occupancy subscribe my-channel --duration 30

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels occupancy subscribe my-channel

See code: src/commands/channels/occupancy/subscribe.ts

ably channels presence

Manage presence on Ably channels

USAGE
  $ ably channels presence

DESCRIPTION
  Manage presence on Ably channels

EXAMPLES
  $ ably channels presence enter my-channel

  $ ably channels presence subscribe my-channel

See code: src/commands/channels/presence.ts

ably channels presence enter CHANNEL

Enter presence on a channel and listen for presence events

USAGE
  $ ably channels presence enter CHANNEL [-v] [--json | --pretty-json] [--client-id <value>] [--data <value>] [-D <value>]
    [--show-others] [--sequence-numbers]

ARGUMENTS
  CHANNEL  Channel to enter presence on

FLAGS
  -D, --duration=<value>   Automatically exit after N seconds
  -v, --verbose            Output verbose logs
      --client-id=<value>  Overrides any default client ID when using API authentication. Use "none" to explicitly set
                           no client ID. Not applicable when using token authentication.
      --data=<value>       Optional JSON data to associate with the presence
      --json               Output in JSON format
      --pretty-json        Output in colorized JSON format
      --sequence-numbers   Include sequence numbers in output
      --show-others        Show other presence events while present (default: false)

DESCRIPTION
  Enter presence on a channel and listen for presence events

EXAMPLES
  $ ably channels presence enter my-channel --client-id "client123"

  $ ably channels presence enter my-channel --client-id "client123" --data '{"name":"John","status":"online"}'

  $ ably channels presence enter my-channel --show-others

  $ ably channels presence enter my-channel --json

  $ ably channels presence enter my-channel --pretty-json

  $ ably channels presence enter my-channel --duration 30

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels presence enter my-channel

See code: src/commands/channels/presence/enter.ts

ably channels presence subscribe CHANNEL

Subscribe to presence events on a channel

USAGE
  $ ably channels presence subscribe CHANNEL [-v] [--json | --pretty-json] [--client-id <value>] [-D <value>]

ARGUMENTS
  CHANNEL  Channel name to subscribe to presence events

FLAGS
  -D, --duration=<value>   Automatically exit after N seconds
  -v, --verbose            Output verbose logs
      --client-id=<value>  Overrides any default client ID when using API authentication. Use "none" to explicitly set
                           no client ID. Not applicable when using token authentication.
      --json               Output in JSON format
      --pretty-json        Output in colorized JSON format

DESCRIPTION
  Subscribe to presence events on a channel

EXAMPLES
  $ ably channels presence subscribe my-channel

  $ ably channels presence subscribe my-channel --client-id "filter123"

  $ ably channels presence subscribe my-channel --json

  $ ably channels presence subscribe my-channel --pretty-json

  $ ably channels presence subscribe my-channel --duration 30

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels presence subscribe my-channel

See code: src/commands/channels/presence/subscribe.ts

ably channels publish CHANNEL MESSAGE

Publish a message to an Ably channel

USAGE
  $ ably channels publish CHANNEL MESSAGE [-v] [--json | --pretty-json] [--client-id <value>] [-c <value>] [-d
    <value>] [-e <value>] [-n <value>] [--transport rest|realtime]

ARGUMENTS
  CHANNEL  The channel name to publish to
  MESSAGE  The message to publish (JSON format or plain text)

FLAGS
  -c, --count=<value>       [default: 1] Number of messages to publish (default: 1)
  -d, --delay=<value>       [default: 40] Delay between messages in milliseconds (default: 40ms, max 25 msgs/sec)
  -e, --encoding=<value>    The encoding for the message
  -n, --name=<value>        The event name (if not specified in the message JSON)
  -v, --verbose             Output verbose logs
      --client-id=<value>   Overrides any default client ID when using API authentication. Use "none" to explicitly set
                            no client ID. Not applicable when using token authentication.
      --json                Output in JSON format
      --pretty-json         Output in colorized JSON format
      --transport=<option>  Transport method to use for publishing (rest or realtime)
                            <options: rest|realtime>

DESCRIPTION
  Publish a message to an Ably channel

EXAMPLES
  $ ably channels publish my-channel '{"name":"event","data":"Hello World"}'

  $ ably channels publish --name event my-channel '{"text":"Hello World"}'

  $ ably channels publish my-channel "Hello World"

  $ ably channels publish --name event my-channel "Plain text message"

  $ ably channels publish --count 5 my-channel "Message number {{.Count}}"

  $ ably channels publish --count 10 --delay 1000 my-channel "Message at {{.Timestamp}}"

  $ ably channels publish --transport realtime my-channel "Using realtime transport"

  $ ably channels publish my-channel "Hello World" --json

  $ ably channels publish my-channel "Hello World" --pretty-json

  $ ably channels publish my-channel '{"data":"Push notification","extras":{"push":{"notification":{"title":"Hello","body":"World"}}}}'

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels publish my-channel '{"data":"Simple message"}'

See code: src/commands/channels/publish.ts

ably channels subscribe CHANNELS

Subscribe to messages published on one or more Ably channels

USAGE
  $ ably channels subscribe CHANNELS... [-v] [--json | --pretty-json] [--client-id <value>] [-D <value>] [--rewind
    <value>] [--cipher-algorithm <value>] [--cipher-key <value>] [--cipher-key-length <value>] [--cipher-mode <value>]
    [--delta] [--sequence-numbers]

ARGUMENTS
  CHANNELS...  Channel name(s) to subscribe to

FLAGS
  -D, --duration=<value>           Automatically exit after N seconds
  -v, --verbose                    Output verbose logs
      --cipher-algorithm=<value>   [default: aes] Encryption algorithm to use (default: aes)
      --cipher-key=<value>         Encryption key for decrypting messages (hex-encoded)
      --cipher-key-length=<value>  [default: 256] Length of encryption key in bits (default: 256)
      --cipher-mode=<value>        [default: cbc] Cipher mode to use (default: cbc)
      --client-id=<value>          Overrides any default client ID when using API authentication. Use "none" to
                                   explicitly set no client ID. Not applicable when using token authentication.
      --delta                      Enable delta compression for messages
      --json                       Output in JSON format
      --pretty-json                Output in colorized JSON format
      --rewind=<value>             Number of messages to rewind when subscribing (default: 0)
      --sequence-numbers           Include sequence numbers in output

DESCRIPTION
  Subscribe to messages published on one or more Ably channels

EXAMPLES
  $ ably channels subscribe my-channel

  $ ably channels subscribe my-channel another-channel

  $ ably channels subscribe --rewind 10 my-channel

  $ ably channels subscribe --delta my-channel

  $ ably channels subscribe --cipher-key YOUR_CIPHER_KEY my-channel

  $ ably channels subscribe my-channel --json

  $ ably channels subscribe my-channel --pretty-json

  $ ably channels subscribe my-channel --duration 30

  $ ABLY_API_KEY="YOUR_API_KEY" ably channels subscribe my-channel

See code: src/commands/channels/subscribe.ts

ably config

Manage Ably CLI configuration

USAGE
  $ ably config [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Manage Ably CLI configuration

EXAMPLES
  $ ably config path

  $ ably config show

COMMANDS
  ably config path  Print the path to the Ably CLI config file
  ably config show  Display the contents of the Ably CLI config file

See code: src/commands/config/index.ts

ably config path

Print the path to the Ably CLI config file

USAGE
  $ ably config path [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Print the path to the Ably CLI config file

EXAMPLES
  $ ably config path

  # Open in your preferred editor:

  code $(ably config path)

  vim $(ably config path)

See code: src/commands/config/path.ts

ably config show

Display the contents of the Ably CLI config file

USAGE
  $ ably config show [-v] [--json | --pretty-json]

FLAGS
  -v, --verbose      Output verbose logs
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Display the contents of the Ably CLI config file

EXAMPLES
  $ ably config show

  $ ably config show --json

See code: src/commands/config/show.ts

ably connections

Interact with Ably Pub/Sub connections

USAGE
  $ ably connections

DESCRIPTION
  Interact with Ably Pub/Sub connections

EXAMPLES
  $ ably connections logs connections-lifecycle

  $ ably connections test

COMMANDS
  ably connections test  Test connection to Ably

See code: src/commands/connections/index.ts

ably connections test

Test connection to Ably

USAGE
  $ ably connections test [-v] [--json | --pretty-json] [--client-id <value>] [--transport ws|xhr|all]

FLAGS
  -v, --verbose             Output verbose logs
      --client-id=<value>   Overrides any default client ID when using API authentication. Use "none" to explicitly set
                            no client ID. Not applicable when using token authentication.
      --json                Output in JSON format
      --pretty-json         Output in colorized JSON format
      --transport=<option>  [default: all] Transport protocol to use (ws for WebSockets, xhr for HTTP)
                            <options: ws|xhr|all>

DESCRIPTION
  Test connection to Ably

EXAMPLES
  $ ably connections test

  $ ably connections test --transport ws

  $ ably connections test --transport xhr

See code: src/commands/connections/test.ts

ably help [COMMANDS]

Display help for ably

USAGE
  $ ably help [COMMANDS...]

ARGUMENTS
  COMMANDS...  Command to show help for

DESCRIPTION
  Display help for ably

EXAMPLES
  $ ably help

  $ ably help channels

  $ ably help channels publish

See code: src/commands/help.ts

ably integrations

Manage Ably integrations

USAGE
  $ ably integrations

DESCRIPTION
  Manage Ably integrations

EXAMPLES
  $ ably integrations list

  $ ably integrations get rule123

  $ ably integrations create

COMMANDS
  ably integrations create  Create an integration
  ably integrations delete  Delete an integration
  ably integrations get     Get an integration rule by ID
  ably integrations list    List all integrations
  ably integrations update  Update an integration rule

See code: src/commands/integrations/index.ts

ably integrations create

Create an integration

USAGE
  $ ably integrations create --rule-type http|amqp|kinesis|firehose|pulsar|kafka|azure|azure-functions|mqtt|cloudmqtt
    --source-type channel.message|channel.presence|channel.lifecycle|presence.message [-v] [--json | --pretty-json]
    [--app <value>] [--channel-filter <value>] [--request-mode single|batch] [--status enabled|disabled] [--target-url
    <value>]

FLAGS
  -v, --verbose                 Output verbose logs
      --app=<value>             The app ID or name (defaults to current app)
      --channel-filter=<value>  Channel filter pattern
      --json                    Output in JSON format
      --pretty-json             Output in colorized JSON format
      --request-mode=<option>   [default: single] Request mode for the integration (default: single)
                                <options: single|batch>
      --rule-type=<option>      (required) Type of integration (http, amqp, etc.)
                                <options: http|amqp|kinesis|firehose|pulsar|kafka|azure|azure-functions|mqtt|cloudmqtt>
      --source-type=<option>    (required) The event source type
                                <options: channel.message|channel.presence|channel.lifecycle|presence.message>
      --status=<option>         [default: enabled] Initial status of the integration (default: enabled)
                                <options: enabled|disabled>
      --target-url=<value>      Target URL for HTTP integrations

DESCRIPTION
  Create an integration

EXAMPLES
  $ ably integrations create --rule-type "http" --source-type "channel.message" --target-url "https://example.com/webhook"

  $ ably integrations create --rule-type "amqp" --source-type "channel.message" --channel-filter "chat:*"

See code: src/commands/integrations/create.ts

ably integrations delete INTEGRATIONID

Delete an integration

USAGE
  $ ably integrations delete INTEGRATIONID [-v] [--json | --pretty-json] [--app <value>] [-f]

ARGUMENTS
  INTEGRATIONID  The integration ID to delete

FLAGS
  -f, --force        Force deletion without confirmation
  -v, --verbose      Output verbose logs
      --app=<value>  The app ID or name (defaults to current app)
      --json         Output in JSON format
      --pretty-json  Output in colorized JSON format

DESCRIPTION
  Delete an integration

EXAMPLES
  $ ably integrations delete integration123

  $ ably