diff --git a/src/data/nav/platform.ts b/src/data/nav/platform.ts
index ce1a3b6682..f9a5517d20 100644
--- a/src/data/nav/platform.ts
+++ b/src/data/nav/platform.ts
@@ -262,42 +262,98 @@ export default {
link: '/docs/platform/account/enterprise-customization',
},
{
- name: 'App management',
+ name: 'Programmatic management using Control API',
+ link: '/docs/platform/account/control-api',
+ },
+ ],
+ },
+ {
+ name: 'App management',
+ pages: [
+ {
+ name: 'Overview',
+ link: '/docs/platform/account/app',
+ index: true,
+ },
+ {
+ name: 'Products',
pages: [
{
- name: 'Overview',
- link: '/docs/platform/account/app',
- index: true,
+ name: 'Pub/Sub',
+ link: '/docs/platform/account/app/products/pubsub',
},
{
- name: 'Stats',
- link: '/docs/platform/account/app/stats',
+ name: 'Chat',
+ link: '/docs/platform/account/app/products/chat',
},
{
- name: 'API keys',
- link: '/docs/platform/account/app/api',
+ name: 'Spaces',
+ link: '/docs/platform/account/app/products/spaces',
+ },
+ {
+ name: 'LiveObjects',
+ link: '/docs/platform/account/app/products/liveobjects',
+ },
+ {
+ name: 'LiveSync',
+ link: '/docs/platform/account/app/products/livesync',
+ },
+ {
+ name: 'Push notifications',
+ link: '/docs/platform/account/app/products/push-notifications',
+ },
+ ],
+ },
+ {
+ name: 'Platform',
+ pages: [
+ {
+ name: 'Connections',
+ link: '/docs/platform/account/app/platform/connections',
},
{
name: 'Queues',
- link: '/docs/platform/account/app/queues',
+ link: '/docs/platform/account/app/platform/queues',
+ },
+ ],
+ },
+ {
+ name: 'Monitoring',
+ pages: [
+ {
+ name: 'Logs',
+ link: '/docs/platform/account/app/monitoring/logs',
},
{
- name: 'Notifications',
- link: '/docs/platform/account/app/notifications',
+ name: 'Reports',
+ link: '/docs/platform/account/app/monitoring/reports',
+ },
+ ],
+ },
+ {
+ name: 'Configuration',
+ pages: [
+ {
+ name: 'Rules',
+ link: '/docs/platform/account/app/configuration/rules',
},
{
- name: 'Dev console',
- link: '/docs/platform/account/app/console',
+ name: 'Integrations',
+ link: '/docs/platform/account/app/configuration/integrations',
+ },
+ {
+ name: 'API keys',
+ link: '/docs/platform/account/app/configuration/api-keys',
},
{
name: 'Settings',
- link: '/docs/platform/account/app/settings',
+ link: '/docs/platform/account/app/configuration/settings',
},
],
},
{
- name: 'Programmatic management using Control API',
- link: '/docs/platform/account/control-api',
+ name: 'Web client',
+ link: '/docs/platform/account/app/client',
},
],
},
diff --git a/src/images/content/screenshots/control-api/account-settings-menu-item.png b/src/images/content/screenshots/control-api/account-settings-menu-item.png
deleted file mode 100644
index f770793674..0000000000
Binary files a/src/images/content/screenshots/control-api/account-settings-menu-item.png and /dev/null differ
diff --git a/src/images/content/screenshots/control-api/my-access-tokens-menu-item.png b/src/images/content/screenshots/control-api/my-access-tokens-menu-item.png
deleted file mode 100644
index 76e440c8c8..0000000000
Binary files a/src/images/content/screenshots/control-api/my-access-tokens-menu-item.png and /dev/null differ
diff --git a/src/images/content/screenshots/dash/create-app.png b/src/images/content/screenshots/dash/create-app.png
index acb9cea59b..e30e5ef0db 100644
Binary files a/src/images/content/screenshots/dash/create-app.png and b/src/images/content/screenshots/dash/create-app.png differ
diff --git a/src/images/content/screenshots/dash/dash-tabs.png b/src/images/content/screenshots/dash/dash-tabs.png
index 48b3a570e2..9d0efab2da 100644
Binary files a/src/images/content/screenshots/dash/dash-tabs.png and b/src/images/content/screenshots/dash/dash-tabs.png differ
diff --git a/src/images/content/screenshots/dash/live-stats.png b/src/images/content/screenshots/dash/live-stats.png
new file mode 100644
index 0000000000..5f7a5d82ff
Binary files /dev/null and b/src/images/content/screenshots/dash/live-stats.png differ
diff --git a/src/images/content/screenshots/dash/your-apps.png b/src/images/content/screenshots/dash/your-apps.png
index 94576b4fa0..c322afb3b5 100644
Binary files a/src/images/content/screenshots/dash/your-apps.png and b/src/images/content/screenshots/dash/your-apps.png differ
diff --git a/src/pages/docs/auth/token.mdx b/src/pages/docs/auth/token.mdx
index 912d469dfe..4201055487 100644
--- a/src/pages/docs/auth/token.mdx
+++ b/src/pages/docs/auth/token.mdx
@@ -1122,7 +1122,7 @@ For security purposes, handle non-compliant clients by:
- Use the [token revocation API](/docs/auth/revocation) to immediately invalidate tokens.
## When to use token auth
diff --git a/src/pages/docs/channels/options/encryption.mdx b/src/pages/docs/channels/options/encryption.mdx
index a1ba87fbdd..e7b2553ede 100644
--- a/src/pages/docs/channels/options/encryption.mdx
+++ b/src/pages/docs/channels/options/encryption.mdx
@@ -32,7 +32,7 @@ Unencrypted communication with Ably is **disallowed** if any of the following co
* You attempt to use [Basic Authentication](/docs/auth/basic) and thus transmit a private API key over an unencrypted connection. You are only permitted to use unencrypted connections with [Token Authentication](/docs/auth/token) as tokens expire, limiting the impact of token interception.
-* You have specified that TLS is required in your [app settings](/docs/platform/account/app/settings).
+* You have specified that TLS is required in your [app settings](/docs/platform/account/app/configuration/settings).
* A client using an unencrypted connection attempts to attach to a channel that is configured to be used with [TLS only](/docs/channels#rules).
diff --git a/src/pages/docs/metadata-stats/metadata/subscribe.mdx b/src/pages/docs/metadata-stats/metadata/subscribe.mdx
index ea3184f7c7..1dbde49a7a 100644
--- a/src/pages/docs/metadata-stats/metadata/subscribe.mdx
+++ b/src/pages/docs/metadata-stats/metadata/subscribe.mdx
@@ -58,7 +58,7 @@ The `data` property of all events is a [`ChannelDetails`](/docs/api/realtime-sdk
### Regional channel activity
-Seeing `channel.region.inactive` events in your [Dev Console](/docs/platform/account/app/console) logs is normal behavior. Channels become active in different regions globally according to where clients are located and Ably's internal placement rules.
+Seeing `channel.region.inactive` events in your [Web Client](/docs/platform/account/app/client) logs is normal behavior. Channels become active in different regions globally according to where clients are located and Ably's internal placement rules.
A `channel.region.inactive` event indicates that a channel no longer has any clients in that specific region, or that the channel is shutting down altogether. This is part of Ably's normal operation to efficiently manage resources across its global infrastructure.
diff --git a/src/pages/docs/platform/account/2fa.mdx b/src/pages/docs/platform/account/2fa.mdx
index 57ee9560f6..15155a99dd 100644
--- a/src/pages/docs/platform/account/2fa.mdx
+++ b/src/pages/docs/platform/account/2fa.mdx
@@ -8,12 +8,16 @@ redirect_from:
Two-factor authentication (2FA) is an authentication process requiring users to utilize two different forms of verification. 2FA for your Ably account requires your password and a security token sent to your mobile phone.
+Access your [account settings](https://ably.com/accounts/any/user/edit) to configure two-factor authentication for your Ably account.
+
+
+
## Enable 2FA
To enable 2FA for your own user login:
1. Log in to your [account](https://ably.com/accounts/any).
-2. Select **My Settings** from the account navigation dropdown.
+2. Select **Profile settings** from the user profile dropdown.
3. Toggle **Enable Two-Factor Authentication** under the **Two-factor authentication** section.
* Re-enter your password as prompted.
4. Select your **Country**.
@@ -28,7 +32,7 @@ To enable 2FA for your own user login:
To disable 2FA for your own user login:
1. Log in to your [account](https://ably.com/accounts/any).
-2. Select **My Settings** from the account navigation dropdown.
+2. Select **Profile settings** from the user profile dropdown.
3. Click the **Disable Two-Factor Authentication** button.
* Re-enter your password as prompted.
@@ -51,7 +55,7 @@ The account owner must already have 2FA enabled for their own login before they
To enforce 2FA for all users:
1. Log in to your [account](https://ably.com/accounts/any).
-2. Select **Settings** from the account navigation dropdown.
+2. Select **Settings** from the user profile dropdown.
3. Toggle **Require Two-Factor Authentication for all account users** under the **Authentication Settings** section.
4. **Save** the authentication settings.
@@ -60,6 +64,6 @@ To enforce 2FA for all users:
To remove the requirement for all users to authenticate with 2FA:
1. Log in to your [account](https://ably.com/accounts/any).
-2. Select **Settings** from the account navigation dropdown.
+2. Select **Settings** from the user profile dropdown.
3. Toggle **Require Two-Factor Authentication for all account users** under the **Authentication Settings** section.
4. **Save** the authentication settings.
diff --git a/src/pages/docs/platform/account/app/api.mdx b/src/pages/docs/platform/account/app/api.mdx
deleted file mode 100644
index 2421063578..0000000000
--- a/src/pages/docs/platform/account/app/api.mdx
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: API keys
-meta_description: “Manage Ably API keys by creating, updating, setting restrictions, and exploring integration options.”
-meta_keywords: "API keys, Ably, create key, update key, key restrictions, integration, webhooks, authentication"
-redirect_from:
- - /docs/account/app/api
----
-
-The API keys tab lists all API keys associated with your account and provides information on each key's capabilities and restrictions. You can [create a new API key](#create) and manage an existing one.
-
-
-
-## Create a new API key
-
-The following steps create a new API Key:
-
-* Click **Create a new API key**.
- * Assign a friendly name.
- * Give the new API key a descriptive name (e.g. chat app key) so it is easy to identify later.
-
-To manage an API key: set [capabilities](/docs/auth/capabilities), define resource restrictions, use revocable tokens for security, and adjust key settings as needed.
-
-### Capabilities
-
-[Capabilities](/docs/auth/capabilities) provide permissions required for managing message flow, user presence, notifications, channel information, and access controls, these depend on what you require the API key to have access to:
-
-| Capability | Description |
-| ---------- | ----------- |
-| **Publish** | Allow clients to publish messages to channels. |
-| **Subscribe** | Allow clients to receive messages and presence state changes. |
-| **History** | Allow clients to retrieve message and presence history. |
-| **Presence** | Allow clients to register presence on a channel. |
-| **Channel metadata** | Allow clients to query channel metadata. |
-| **Push admin and push-subscribe** | Allow clients to manage and subscribe to push notifications. |
-| **Statistics** | Allow clients to query usage statistics. |
-| **Privileged headers** | Allow clients to set privileged headers, such as to skip channel rules. |
-
-### Set resource restrictions
-
-Set resource restrictions to control access to channels and queues, ranging from unrestricted access to specific, rule-based permissions:
-
-| Restriction | Description |
-| ----------- | ----------- |
-| None | No restrictions; access any channel or queue. |
-| Only channels | Access any channel but not queues. |
-| Only queues | Access any queue but not channels. |
-| Selected channels and queues | Specify explicit rules for access. |
-
-When specifying selected channels and queues, you can provide a comma-separated list of resources. Each resource can match a single channel (e.g., `channel-name`) or multiple channels using wildcards (e.g., `namespace:*`). Queues use the prefix `[queue]` and meta channels use `[meta]`. See [capabilities documentation](/docs/auth/capabilities#wildcards) for detailed wildcard syntax.
-
-
-
-### Revocable tokens
-
-[Revocable tokens](/docs/auth/revocation#revocable-tokens) enhance security by allowing shorter token lifetimes and the ability to revoke tokens issued via the API key.
-
-| Option | Description |
-| ------ | ----------- |
-| Revocable tokens | Implement security measures by setting shorter token lifetimes and enabling the ability to revoke tokens issued by the API key. |
-
-### Change your API key settings
-
-Click **Settings** on the required API key to change its settings. The same settings apply as when creating a new API key.
diff --git a/src/pages/docs/platform/account/app/client.mdx b/src/pages/docs/platform/account/app/client.mdx
new file mode 100644
index 0000000000..527bc1c9c5
--- /dev/null
+++ b/src/pages/docs/platform/account/app/client.mdx
@@ -0,0 +1,75 @@
+---
+title: Web client
+meta_description: "Test and debug your application using the browser-based web client for realtime messaging, channel monitoring, and event tracking."
+meta_keywords: "Ably web client, browser testing, realtime monitoring, connection status changes, channel activity, event logs"
+redirect_from:
+ - /docs/account/app/console
+---
+
+The web client provides a browser-based interface for testing and debugging your realtime application. Access the web client through your [app dashboard](https://ably.com/accounts/any/apps/any/console) under the Console section. It offers realtime insights into application-wide events, such as connection status changes and channel activity.
+
+
+
+These features enable you to:
+
+* Observe changes in connection status across the application.
+* View activity on specific channels, including message traffic and channel events.
+* Examine event logs to troubleshoot your application.
+
+## Application-wide events interface
+
+The application-wide events interface allows you to monitor your application's health and activity in realtime.
+
+The following explains the realtime monitoring tools in the application-wide events interface:
+
+| Field | Description |
+| ----- | ----------- |
+| API key | The API key to access and view events within the app. |
+| Average application-wide events per second (p/s) | This metric shows the average number of events occurring per second across your application. For example, if the current rate is 0, no active events are being processed. |
+| Event log table | The event log table displays a record of events related to the current client's connection status. This table can be used to debug potential issues in your application. |
+
+## Message auditing and logging
+
+The web client displays messages in realtime for debugging and testing purposes, but does not provide persistent message auditing or logging capabilities. Ably does not currently offer native functionality to view historical messages filtered by specific channels or client IDs for auditing purposes.
+
+If you need to audit or log messages by channel or client ID, implement this functionality on the application side. Consider using:
+
+- [Webhooks](/docs/platform/integrations/webhooks) to send message events to your logging system
+- [Message queues](/docs/platform/integrations/queues) to process and store message data
+- Client-side logging in your application code
+
+For native message auditing features, [contact support](mailto:support@ably.com) to discuss requirements.
+
+## Channels
+
+The following is a step-by-step instructions for connecting to a channel, publishing messages.
+
+### Connect to a channel
+
+Connect to a channel:
+
+1. **Enter a channel name** - In the channel name field, choose a name (e.g get-started).
+2. **Attach to channel** - Click the **attach to channel** button. This connects you to the **get-started** channel, enabling you to start publishing or subscribing to messages.
+3. **Monitor channel status** - The interface will display the channel status as **pending** and then **attached** once connected, confirming that the channel is ready for interaction.
+
+### Publish a message
+
+Publish a message:
+
+1. **Message data** - In the **message data** field, type a message (e.g. example).
+2. **Publish message** - Click the **publish message** button to send the message to the **get-started** channel.
+3. **View the message** - If you have a subscriber, it will receive and display the message in the console.
+
+Interact with presence:
+
+1. **Client ID** - Enter a unique client ID to simulate joining the presence of the channel.
+2. **Enter presence** - Click **enter presence** to indicate that this client is now in the channel.
+3. **Monitor presence** - The interface will list all clients in the channel under **presence members**.
+
+### Control the channel
+
+Control the channel in the web client:
+
+* **Detach** - Click **detach** to disconnect from the channel.
+* **Pause** - Use **pause** to temporarily stop receiving messages.
+* **Clear** - Click **clear** to clear the channel data or logs from the interface.
diff --git a/src/pages/docs/platform/account/app/configuration/api-keys.mdx b/src/pages/docs/platform/account/app/configuration/api-keys.mdx
new file mode 100644
index 0000000000..70b2eea3a6
--- /dev/null
+++ b/src/pages/docs/platform/account/app/configuration/api-keys.mdx
@@ -0,0 +1,47 @@
+---
+title: API keys
+meta_description: “Manage Ably API keys by creating, updating, setting restrictions, and exploring integration options.”
+meta_keywords: "API keys, Ably, create key, update key, key restrictions, integration, webhooks, authentication"
+redirect_from:
+ - /docs/account/app/api
+---
+
+The API keys tab lists all API keys associated with your account and provides information on each key's capabilities and restrictions. Manage your API keys in the [app dashboard](https://ably.com/accounts/any/apps/any/app_keys) under the API Keys section. You can [create a new API key](#create) and manage an existing one.
+
+
+
+
+
+## Create a new API key
+
+Create a new API key:
+
+1. Click **Create a new API key**.
+2. Assign a friendly name.
+3. Give the new API key a descriptive name (e.g. chat app key) so it is easy to identify later.
+
+To manage an API key: set [capabilities](/docs/auth/capabilities), define resource restrictions, use revocable tokens for security, and adjust key settings as needed.
+
+### Capabilities
+
+[Capabilities](/docs/auth/capabilities) define what permissions your API key has. You can select from core messaging capabilities (subscribe, publish, presence), content management (message updates/deletes, annotations), data access (history, stats), push notifications, and administrative features. See the [capabilities documentation](/docs/auth/capabilities) for the complete list and detailed descriptions.
+
+### Set resource restrictions
+
+Control which channels and queues the API key can access. You can choose from **None** (unrestricted access), **Only channels** (no queue access), **Only queues** (no channel access), or **Selected channels and queues** for specific access rules.
+
+When selecting specific resources, provide a comma-separated list. Use exact names (`channel-name`) or wildcards (`namespace:*`). Queues need the `[queue]` prefix and meta channels use `[meta]`. See [capabilities documentation](/docs/auth/capabilities#wildcards) for wildcard syntax.
+
+
+
+### Revocable tokens
+
+Enable [revocable tokens](/docs/auth/revocation#revocable-tokens) to enhance security by allowing shorter token lifetimes and the ability to revoke tokens issued by this API key.
+
+### Change your API key settings
+
+Click **Settings** on the required API key to change its settings. The same settings apply as when creating a new API key.
diff --git a/src/pages/docs/platform/account/app/configuration/integrations.mdx b/src/pages/docs/platform/account/app/configuration/integrations.mdx
new file mode 100644
index 0000000000..3011a10adf
--- /dev/null
+++ b/src/pages/docs/platform/account/app/configuration/integrations.mdx
@@ -0,0 +1,22 @@
+---
+title: Integrations
+meta_description: "Configure and manage integrations within the Ably dashboard."
+meta_keywords: "Integrations, configuration, webhooks, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/integrations
+ - /docs/account/app/integrations
+---
+
+The Integrations section in your Ably dashboard provides centralized management for connecting your Ably application with external services and systems. Configure and manage your integrations in the [app dashboard](https://ably.com/accounts/any/apps/any/integrations).
+
+## Available Integration Types
+
+The Integrations dashboard allows you to configure several types of integrations:
+
+- **[Webhooks](/docs/general/webhooks)** - Trigger serverless functions or custom servers on Ably events
+- **[Ably Queues](/docs/general/integrations/)** - Scalable realtime data consumption for message processing
+- **[Firehose](/docs/general/integrations/)** - Stream data to external systems like Kinesis or Kafka
+- **[Third-party integrations](/docs/general/integrations/)** - Connect with external services like Datadog
+
+**Note:** Integration configuration requires admin-level permissions. Contact your account owner if you need access to create or modify integrations.
+
diff --git a/src/pages/docs/platform/account/app/configuration/rules.mdx b/src/pages/docs/platform/account/app/configuration/rules.mdx
new file mode 100644
index 0000000000..788ac16561
--- /dev/null
+++ b/src/pages/docs/platform/account/app/configuration/rules.mdx
@@ -0,0 +1,62 @@
+---
+title: Rules
+meta_description: "Configure and manage rules within the Ably dashboard."
+meta_keywords: "Rules, configuration, settings, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/rules
+ - /docs/account/app/rules
+---
+
+The rules section in your Ably dashboard enables you to enforce settings and configure features for channels, rooms, or spaces within specified namespaces. Configure and manage your rules in the [app dashboard](https://ably.com/accounts/any/apps/any/rules) under the rules section. Rules provide granular control over message persistence, authentication requirements, security settings, and advanced functionality across your application.
+
+
+
+## Rules overview
+
+Rules are used to enforce settings including message persistence, authentication, and TLS for all channels, rooms, or spaces within the specified namespace. This allows you to apply consistent configurations across groups of channels without having to configure each one individually.
+
+## Your rules
+
+The rules interface displays your configured namespace rules and their applied settings:
+
+### Channel namespace configuration
+
+Each rule is defined by a channel namespace pattern that determines which channels the rule applies to:
+
+| Configuration element | Description |
+|---|---|
+| Channel namespace | The namespace pattern that determines which channels the rule applies to |
+
+For example, a namespace `coco` would apply to channels matching the pattern, with example matches like `coco:data` or `coco`.
+
+## Available features
+
+The Rules system provides access to multiple feature categories that can be enabled for your namespaces:
+
+### Message persistence features
+
+| Feature | Description |
+|---|---|
+| Persist last message | Store the most recent message published to channels. |
+| Persist all messages | Store all messages published to channels. |
+
+### Security and access features
+
+| Feature | Description |
+|---|---|
+| Identified | Require client identification for channel access. |
+| TLS only | Enforce encrypted connections for channel access. |
+
+### Push notification features
+
+| Feature | Description |
+|---|---|
+| Push notifications | Enable push notification delivery. |
+
+### Message processing features
+
+| Feature | Description |
+|---|---|
+| Message interactions | Enable message references and threading. |
+| Server-side batching | Enable message batching optimization. |
+| Message conflation | Enable message optimization. |
diff --git a/src/pages/docs/platform/account/app/configuration/settings.mdx b/src/pages/docs/platform/account/app/configuration/settings.mdx
new file mode 100644
index 0000000000..e2c9e9a4fe
--- /dev/null
+++ b/src/pages/docs/platform/account/app/configuration/settings.mdx
@@ -0,0 +1,60 @@
+---
+title: Settings
+meta_description: "Configure and manage application settings within the Ably dashboard."
+meta_keywords: "Settings, configuration, application, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/settings
+ - /docs/account/app/settings
+---
+
+The Settings section in your Ably dashboard provides centralized configuration management for your application's core settings, security requirements, and protocol support. Configure your application settings in the [app dashboard](https://ably.com/accounts/any/apps/any/settings) under the Settings section. This interface enables you to customize your application's behavior, enforce security policies, and enable protocol adapters for different client types.
+
+
+
+## Application settings
+
+The application settings section contains the fundamental configuration options that define your application's identity and basic operational parameters.
+
+### Basic application configuration
+
+| Setting | Description |
+|---|---|
+| App ID | Unique identifier for your application. |
+| Name | Friendly name for your application. |
+
+### Security settings
+
+Configure security requirements that apply across your entire application:
+
+| Security setting | Description |
+|---|---|
+| TLS required | Enforce encrypted connections for all clients. |
+
+
+
+### Application status
+
+Control whether your application accepts new connections and processes requests:
+
+| Status setting | Description |
+|---|---|
+| Active | Application operational status. |
+| Enabled | Service availability status. |
+
+## Protocol Adapter Settings
+
+The Ably platform offers protocol adapter services that enable client libraries for different protocols to communicate directly with Ably, extending compatibility beyond native Ably SDKs.
+
+### Protocol adapter overview
+
+Protocol adapters allow clients using standard messaging protocols to connect to your Ably application without requiring Ably-specific client libraries. This enables integration with existing systems and tools that support these protocols.
+
+### Available protocol adapters
+
+| Protocol | Description |
+|---|---|
+| [Pusher protocol support](/docs/protocols/pusher) | Compatibility with Pusher client libraries (optional). |
+| [PubNub protocol support](/docs/protocols/pubnub) | Compatibility with PubNub client libraries (always-on). |
+| [MQTT protocol support](/docs/protocols/mqtt) | Standard MQTT messaging protocol support (always-on). |
diff --git a/src/pages/docs/platform/account/app/console.mdx b/src/pages/docs/platform/account/app/console.mdx
deleted file mode 100644
index aec15bb350..0000000000
--- a/src/pages/docs/platform/account/app/console.mdx
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Dev console
-meta_description: "Gain realtime insights into application-wide events, such as connection status changes, channel activity, and event logs.”
-meta_keywords: “Ably dev console, realtime monitoring, connection status changes, channel activity, event logs"
-redirect_from:
- - /docs/account/app/console
----
-
-The dev console tab provides realtime insights into application-wide events, such as connection status changes and channel activity. These features enable you to:
-
-* Observe changes in connection status across the application.
-* View activity on specific channels, including message traffic and channel events.
-* Examine event logs to troubleshoot your application.
-
-## Application-wide events interface
-
-The application-wide events interface allows you to monitor your application's health and activity in realtime.
-
-The following explains the realtime monitoring tools in the application-wide events interface:
-
-| Field | Description |
-| ----- | ----------- |
-| **API key** | The API key to access and view events within the app. |
-| **Average application-wide events per second (p/s)** | This metric shows the average number of events occurring per second across your application. For example, if the current rate is 0, no active events are being processed. |
-| **Event log table** | The event log table displays a record of events related to the current client's connection status. This table can be used to debug potential issues in your application. |
-
-## Message auditing and logging
-
-The dev console displays messages in realtime for debugging and testing purposes, but does not provide persistent message auditing or logging capabilities. Ably does not currently offer native functionality to view historical messages filtered by specific channels or client IDs for auditing purposes.
-
-If you need to audit or log messages by channel or client ID, implement this functionality on the application side. Consider using:
-
-- [Webhooks](/docs/platform/integrations/webhooks) to send message events to your logging system
-- [Message queues](/docs/platform/integrations/queues) to process and store message data
-- Client-side logging in your application code
-
-For native message auditing features, [contact support](mailto:support@ably.com) to discuss requirements.
-
-## Channels
-
-The following is a step-by-step instructions for connecting to a channel, publishing messages.
-
-### Connect to a channel
-
-The following explains how to connect to a channel:
-
-| Step | Action |
-| ---- | ------ |
-| **Enter a channel name** | In the channel name field, choose a name (e.g get-started). |
-| **Attach to channel** | Click the **attach to channel** button. This connects you to the **get-started** channel, enabling you to start publishing or subscribing to messages. |
-| **Monitor channel status** | The interface will display the channel status as **pending** and then **attached** once connected, confirming that the channel is ready for interaction.|
-
-### Publish a message
-
-The following explains how to publish a message:
-
-| Step | Action |
-| ---- | ------ |
-| **Message data** | In the **message data** field, type a message (e.g. example). |
-| **Publish message** | Click the **publish message** button to send the message to the **get-started** channel. |
-| **View the message** | If you have a subscriber , it will receive and display the message in the console. |
-
-The following explains how to interact with presence:
-
-| Step | Action |
-| ---- | ------ |
-| **Client ID** | Enter a unique client ID to simulate joining the presence of the channel. |
-| **Enter presence** | Click **enter presence** to indicate that this client is now in the channel. |
-| **Monitor presence** | The interface will list all clients in the channel under **presence members**. |
-
-### Control the channel
-
-The following explains how to control the channel in the dev console:
-
-| Step | Action |
-| ---- | ------ |
-| **Detach** | Click **detach** to disconnect from the channel. |
-| **Pause** | Use **pause** to temporarily stop receiving messages. |
-| **Clear** | Click **clear** to clear the channel data or logs from the interface. |
diff --git a/src/pages/docs/platform/account/app/index.mdx b/src/pages/docs/platform/account/app/index.mdx
index ea65e4fe3f..8b85038ff7 100644
--- a/src/pages/docs/platform/account/app/index.mdx
+++ b/src/pages/docs/platform/account/app/index.mdx
@@ -8,6 +8,26 @@ redirect_from:
Manage and monitor your applications on the Ably platform using the Ably dashboard. Create new apps, view existing ones, and configure settings from your browser.
+## Dashboard overview
+
+The Ably dashboard provides a comprehensive view of your realtime infrastructure and allows you to explore your products effectively.
+
+### Navigation structure
+
+The dashboard is organized into several main sections:
+
+- [Products](#products): Core Ably services including Pub/Sub, Chat, Spaces, LiveObjects, LiveSync, and Push Notifications
+- [Platform](#platform): Infrastructure components like Connections and Queues
+- [Monitoring](#monitoring): Logs and Reports for tracking performance and debugging
+- [Configuration](#configuration): Rules, Integrations, API Keys, and Settings for customizing your application
+
+### Live statistics
+
+Monitor your application's realtime performance with live statistics displayed prominently on the dashboard. View current activity like active connections and channels, message rates, and monthly totals including peak usage metrics.
+
+
+
+
Begin by [logging](https://ably.com/login) in to Ably through your browser. Once you're logged in, you have access to the Ably [dashboard](https://ably.com/accounts), where you can [create a new app](#create) or [view your existing apps.](#view)
## Create a new app
@@ -38,70 +58,109 @@ This approach provides complete isolation between environments, ensuring that de
Account limits are shared. While apps are sandboxed from each other, they share the same [account limits](/docs/platform/pricing/limits) such as connection counts and channel limits. A development app experiencing high usage could potentially impact your production app if account limits are reached.
-## App overview
+## App overview
-Your app dashboard provides the following tabs for monitoring and configuring your app settings:
+Your app dashboard provides the following sections for monitoring and configuring your app settings:

-### Stats
+## Products
+
+Your app dashboard provides access to Ably's core products for building realtime applications:
+
+### Pub/Sub
+
+Publish and subscribe to realtime messages across channels for instant communication between clients and servers.
+
+Access the [channel overview](https://ably.com/accounts/any/apps/any/channels) to monitor usage and manage individual channels, or use the [web client](https://ably.com/accounts/any/apps/any/console) for browser-based testing.
+
+### Chat
+
+Build chat applications with message history, user presence, and moderation capabilities for engaging conversational experiences.
+
+Access the [chat overview](https://ably.com/accounts/any/apps/any/chat) to monitor usage and [manage chat rooms](https://ably.com/accounts/any/apps/any/rooms).
+
+### Spaces
+
+Create collaborative spaces with member awareness and live cursors for realtime collaborative applications.
+
+Access the [spaces overview](https://ably.com/accounts/any/apps/any/spaces) to monitor usage and [manage individual spaces](https://ably.com/accounts/any/apps/any/spaces/spaces).
+
+### LiveObjects
+
+Synchronize application state in realtime across connected clients for shared data experiences.
+
+Access the [LiveObjects overview](https://ably.com/accounts/any/apps/any/liveobjects) to monitor usage and performance metrics.
+
+### LiveSync
+
+Stream database changes to frontend applications instantly for reactive user interfaces.
+
+Access the [LiveSync overview](https://ably.com/accounts/any/apps/any/livesync) to monitor usage and performance metrics.
+
+### Push Notifications
+
+Send notifications to mobile devices and web browsers to keep users engaged and informed.
+
+Access the [push notifications overview](https://ably.com/accounts/any/apps/any/push) to configure services, inspect registrations, and manage device subscriptions.
+
+## Platform
+
+Monitor and manage your application's infrastructure components:
+
+### Connections
+
+Monitor active client connections and connection statistics to understand your application's usage patterns.
+
+Access the [connections page](https://ably.com/accounts/any/apps/any/connections) to search for specific connections, filter by country or SDK version, and inspect connection details.
+
+### Queues
+
+Manage message queues for reliable message delivery and processing in asynchronous workflows.
+
+Access [queue overview](https://ably.com/accounts/any/apps/any/queues) to view and manage your queues, or [create new queues](https://ably.com/accounts/any/apps/any/queues/new) with customizable settings.
-Monitor and analyze your app's performance through a [stats](/docs/platform/account/app/stats) table and chart:
+## Monitoring
-* Track messages, presence events, and performance metrics to understand usage and capacity.
-* Compare data over time to identify trends and optimize resources.
-* Adjust chart views with zoom options and set specific time ranges for detailed insights.
+Monitor your application's performance and troubleshoot issues:
-### Getting started
+### Logs
-Get started by connecting to Ably, and publishing your first message.
+Access detailed logging information to monitor and debug your application activity.
-### API keys
+Access the [logs page](https://ably.com/accounts/any/apps/any/logs) to view API requests, channel activity, connection events, integration errors, and push notification logs.
-Create, manage, and configure [API keys](/docs/platform/account/app/api) by setting capabilities:
+### Reports
-* Users can create a new API key, assigning a descriptive name for easy identification.
-* Capabilities include permissions like publishing messages, subscribing to channels, retrieving message history, managing presence, and accessing statistics.
-* Control access by defining whether the key has unrestricted access, channel-only, queue-only, or specific access to selected channels and queues.
+Analyze your application's performance, usage patterns, and billable consumption metrics.
-### Integrations
+Access the [reports page](https://ably.com/accounts/any/apps/any/reports) to view detailed analytics and usage statistics.
-[Integrate](/docs/platform/integrations) Ably with external services, enabling data to flow between Ably channels and third-party platforms:
+## Configuration
-* Ably events can trigger webhook requests to external services, or external services can send data to Ably using incoming webhooks.
-* Ably enables continuous streaming of events to external services like Amazon Kinesis or Kafka, or can receive inbound streams from external services.
-* Ably supports various integration methods, including HTTP callbacks, cloud functions, and streaming services.
+Configure and customize your application's behavior and integrations:
-### Queues
+### Rules
-View, monitor, and adjust Ably [queues:](/docs/platform/account/app/queues)
+Set up automated message routing and transformations to process messages as they flow through your application.
-* Queues provide access to manage existing queues, monitor data flow, and adjust settings such as TTL, max length, and region.
-* Users can contact Ably support for assistance with increasing limits or customizing their queue settings.
+Access the [rules page](https://ably.com/accounts/any/apps/any/rules) to configure authentication requirements, message persistence, and push notifications for channels within specified namespaces.
-### Notifications
+### Integrations
-Manage [notifications](/docs/platform/account/app/notifications) using Ably. Create, test, and send notifications to specific devices or channels, and enure everything works correctly.
+Connect external services like webhooks, Kafka, and cloud functions to extend your application's capabilities.
-* Configure push notifications for devices using FCM for Android or APNs for iOS.
-* Use the push inspector tool to test and debug notifications by sending them manually and reviewing device, client, and channel registrations.
-* Use the push inspector widget below to browse and inspect channel subscriptions, device and client registrations.
+Access the [integrations page](https://ably.com/accounts/any/apps/any/integrations) to configure webhooks, Ably Queues, and Firehose for streaming data to third-party systems.
-### Dev console
+### API Keys
-Monitor your application's health in realtime using Ably's [dev console](/docs/platform/account/app/console) by -- tracking events like connection status changes and channel activity. Connect to channels, publish messages, manage presence, and view event logs for troubleshooting:
+Create and manage authentication keys with specific capabilities to control access to your application's resources.
-* The dev console provides realtime insights into application-wide events like connection status changes, channel activity, and event logs.
-* You can connect to channels, publish messages, and manage presence, tracking interactions within the channel through the console.
-* The event log table displays detailed records of connection events, which can be used for troubleshooting and diagnosing application issues.
-* Interact with Ably channels using command-line tools like cURL.
+Access the [API keys page](https://ably.com/accounts/any/apps/any/app_keys) to manage secure app authentication, create new keys, and configure capabilities and resource restrictions.
-### Settings
+### Settings
-Manage key aspects of your application [settings](/docs/platform/account/app/settings), including security, enabling or disabling the app, configuring rules for channels, and setting up protocol support for different SDKs:
+Configure app-level settings including security and protocol support to customize your application's behavior.
-* Manage settings like App ID, name, security (TLS), and enable/disable the application, affecting its ability to accept connections and use Ably services.
-* Create channel rules to enforce settings for specific channels, or channel namespaces, such as message persistence, TLS-only access, push notifications, and server-side batching.
-* Enable compatibility with various protocols like Pusher, PubNub, and MQTT for communication between client libraries and Ably.
-* Manage notifications for channel activity and occupancy to gain realtime insights into channel usage and performance.
+Access the [settings page](https://ably.com/accounts/any/apps/any/edit?focus=settings) to manage application information, security settings, TLS enforcement, and protocol adapter settings.
diff --git a/src/pages/docs/platform/account/app/monitoring/logs.mdx b/src/pages/docs/platform/account/app/monitoring/logs.mdx
new file mode 100644
index 0000000000..7d5520c3dc
--- /dev/null
+++ b/src/pages/docs/platform/account/app/monitoring/logs.mdx
@@ -0,0 +1,105 @@
+---
+title: Logs
+meta_description: "Monitor and analyze logs within the Ably dashboard."
+meta_keywords: "Logs, monitoring, debugging, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/logs
+ - /docs/account/app/logs
+---
+
+The Logs section in your Ably dashboard provides comprehensive monitoring and debugging capabilities through detailed historical event logging across all aspects of your application. Access your application logs in the [app dashboard](https://ably.com/accounts/any/apps/any/logs) under the Logs section. These are historical logs with a short delay, not live logs. This interface enables you to track system activities, troubleshoot issues, and analyze patterns across API requests, channels, connections, integrations, and push notifications.
+
+## Log sections overview
+
+The logs interface is organized into five specialized sections, each focused on different aspects of your Ably implementation:
+
+| Log section | Description |
+|---|---|
+| API requests | Monitor REST API calls and authentication attempts |
+| Channels | Track channel events and activities |
+| Connections | Monitor client connection events |
+| Integration errors | Track integration failures and webhook issues |
+| Push notifications | Monitor push notification delivery and errors |
+| API integrations | Monitor third-party API integration events and errors |
+
+Each section provides date range filtering and specialized search capabilities tailored to the specific type of events being monitored.
+
+## API requests
+
+The API requests section provides detailed logs of REST API calls, authentication attempts, and system operations for monitoring and troubleshooting API usage.
+
+### API request filtering options
+
+Filter your API request logs to find specific events:
+
+
+
+1. **Set date range** - Select start and end dates to focus on specific timeframes.
+2. **Choose log level** - Filter by specific levels to focus on errors or informational events.
+3. **Enter event name** - Type event names to find particular API operations.
+4. **Search by operation** - Look for specific REST operations like GET, POST, PUT, DELETE.
+5. **Filter by path** - Enter API paths to track specific endpoint usage.
+6. **Filter by channel** - Enter channel names to see API requests affecting specific channels.
+7. **Track by client ID** - Monitor API requests from specific clients.
+8. **Search error codes** - Enter Ably error codes to investigate specific failure types.
+9. **Filter by API key** - Track API usage by specific API keys.
+
+## Channels
+
+The channels section provides detailed logs of channel events and activities, enabling you to monitor channel lifecycle, message flow, and channel-specific operations.
+
+### Channel log filtering options
+
+Filter your channel logs to analyze specific events:
+
+1. **Set date range** - Select dates to focus on specific channel activity periods.
+2. **Choose log level** - Filter by specific levels to focus on channel errors or events.
+3. **Enter event name** - Type event names like channel.attached, channel.detached.
+4. **Filter by channel** - Enter channel names to monitor specific channel activities.
+5. **Include meta channels** - Toggle to include or exclude metadata channels in results.
+6. **Search error codes** - Enter Ably error codes to investigate channel-specific issues.
+
+## Connections
+
+The connections section provides detailed logs of client connection events, helping you troubleshoot connection issues and monitor client behavior patterns.
+
+### Connection log filtering options
+
+Filter your connection logs to analyze events and client behavior:
+
+1. **Set date range** - Select dates to focus on specific connection activity periods.
+2. **Choose log level** - Filter by specific levels to focus on connection errors or state changes.
+3. **Enter event name** - Type events like connection.connected, connection.disconnected.
+4. **Track by connection ID** - Monitor events for individual client connections.
+5. **Filter by client ID** - Monitor connection events for specific application clients.
+6. **Filter by country** - Analyze connection patterns by region or investigate regional issues.
+7. **Filter by transport** - Search for WebSocket, HTTP, or other transport-specific events.
+8. **Search error codes** - Enter Ably error codes to investigate connection failures.
+9. **Filter by API key** - Track connection events by API key usage.
+
+## Integration errors
+
+The integration errors section provides detailed logs of integration failures, webhook issues, and external service connectivity problems.
+
+### Integration error filtering options
+
+Filter your integration error logs to troubleshoot issues:
+
+1. **Set date range** - Select dates to focus on specific integration activity periods.
+2. **Choose integration type** - Select specific integrations like webhooks, queues, or streaming services.
+3. **Filter by integration ID** - Track events for individual integration configurations.
+4. **Filter by channel** - Enter channel names to see integration events from specific channels.
+5. **Search error codes** - Enter error codes to investigate integration failure types.
+
+## Push notifications
+
+The push notifications section provides detailed logs of push notification events, delivery status, and related errors for troubleshooting notification delivery issues.
+
+### Push notification filtering options
+
+Filter your push notification logs to analyze delivery and troubleshoot issues:
+
+1. **Set date range** - Select dates to focus on specific notification delivery periods.
+2. **Filter by channel** - Enter channel names to track notifications from specific channels.
+3. **Search error codes** - Enter Ably error codes to investigate notification delivery failures.
+
diff --git a/src/pages/docs/platform/account/app/monitoring/reports.mdx b/src/pages/docs/platform/account/app/monitoring/reports.mdx
new file mode 100644
index 0000000000..a1c472f297
--- /dev/null
+++ b/src/pages/docs/platform/account/app/monitoring/reports.mdx
@@ -0,0 +1,58 @@
+---
+title: Reports
+meta_description: "View and generate reports within the Ably dashboard."
+meta_keywords: "Reports, analytics, monitoring, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/reports
+ - /docs/account/app/reports
+---
+
+The Reports section in your Ably dashboard provides comprehensive analytics and insights for your application, enabling you to monitor usage patterns, analyze costs, and optimize your implementation. View your application reports in the [app dashboard](https://ably.com/accounts/any/apps/any/reports) under the Reports section. This interface offers both high-level summaries and detailed breakdowns of your application's activity.
+
+## App Reports overview
+
+The main reports interface displays analytics and insights organized into key areas that help you understand your application's performance and resource consumption.
+
+### Available reports
+
+Currently available reports:
+
+| Report | Description |
+|---|---|
+| Global usage report | Comprehensive usage metrics and cost analysis for your application |
+
+## Global usage report
+
+The Global usage report provides detailed usage metrics and cost analysis for your application, offering a consolidated view of your application's realtime activity and efficiency. Click on the report to access detailed consumption analytics and usage breakdowns.
+
+## Global usage detailed view
+
+When you access the Global usage report, you see comprehensive analytics across multiple categories that help you understand your application's resource consumption and identify optimization opportunities.
+
+### Billable messages
+
+The billable messages section tracks message traffic across delivery methods including inbound/outbound realtime and REST messages, persisted messages, integrations, push notifications, and optimization savings. The total messages chart displays volume trends over time.
+
+### Billable connections
+
+Connection analytics track your application's client connectivity patterns including connection minutes and peak concurrent connections to help you understand connection patterns and plan for scaling requirements.
+
+### Billable channels
+
+Channel usage metrics provide insights into your messaging infrastructure utilization including channel minutes and peak concurrent channels to help you monitor channel scaling patterns.
+
+### Message type traffic
+
+This section breaks down message activity by content type including messages, presence events, objects, and annotations.
+
+### Cost optimization insights
+
+The reports include analysis of Ably's built-in optimization features that reduce your costs including delta bandwidth savings and batching/conflation savings that eliminate unnecessary messages.
+
+### Usage breakdown
+
+The detailed usage breakdown provides granular analysis with comprehensive hourly data tables showing metrics such as messages, bandwidth, connections, channels, and push notifications. This tabular data enables detailed analysis of usage patterns and helps identify opportunities for further optimization.
+
+#### Export functionality
+
+The usage breakdown data can be exported as a CSV file for further analysis in external tools. CSV exports are automatically named with timestamps (for example, `app_stats_details_v2_0_1_2025-12-29T19_09_45.352702118Z.csv`) to help you organize and track different export versions.
\ No newline at end of file
diff --git a/src/pages/docs/platform/account/app/notifications.mdx b/src/pages/docs/platform/account/app/notifications.mdx
deleted file mode 100644
index 6e17b52961..0000000000
--- a/src/pages/docs/platform/account/app/notifications.mdx
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: Notifications
-meta_description: Configure credentials for integrating Ably's push notification services with third-party services, send push notifications from the Ably dashboard, and inspect push notifications .”
-meta_keywords: “Ably push notifications, configure FCM, configure APNs, Web Push setup, push inspector"
-redirect_from:
- - /docs/account/app/notifications
----
-
-Before you can start using Ably's [push notification](/docs/push) services, you must configure the credentials for the third-party services you wish to integrate, such as FCM for Android devices, APNs for iOS devices, or Web Push for web browsers.
-
-### Configure FCM for Android devices
-
-* Go to the [Firebase Console.](https://firebase.google.com/)
-* Click **add project** and follow the steps to **create and manage service account keys**.
-* Download your service account **JSON file**.
-* In your Ably [dashboard](https://ably.com/accounts), navigate to the **notifications** tab under your app settings.
-* Go to **push notifications setup**, click **configure push**.
-* Add your service account **JSON file** to the **setting up Firebase cloud messaging** section.
-
-### Configure APNs for iOS devices
-
-* Go to the [Apple Developer Program.](https://developer.apple.com/programs/)
-* Use the Apple developer portal to create a **push notification** service certificate for your app.
-* Export the certificate as a **.p12 file**.
-* Next, you can either import the **.p12 cert** or create a **PEM file** and copy it into your Ably dashboard:
-
-* Import the **.p12 file**:
- * In your Ably [dashboard](https://ably.com/accounts), navigate to the **Notifications** tab under your app settings.
- * Go to **push notifications setup**, click **configure push** and scroll to the **setting up Apple push notification service** section.
- * Select the **.p12 file** you exported and enter the password you created during the export process.
- * Click **save**. You should receive confirmation that the certificate has been successfully imported.
- * To further confirm the import, refresh the page and check if the **PEM cert** and **private key** text boxes are now populated with the imported key details.
-* Create a **PEM file** from the **.p12 file**:
- * Using [OpenSSL](https://www.openssl.org/), convert the recently exported **.p12 file** (`io.ably.test.p12`) to a **PEM file** with the following command: `$ openssl pkcs12 -in ./io.ably.test.p12 -out ./io.ably.test.pem -nodes -clcerts`.
- * Open the **PEM file** in your text editor.
- * Copy everything between and including `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`, and paste it into the **PEM cert** text box of the Apple push notification service section of your Ably notifications app [dashboard](https://ably.com/accounts).
- * Similarly, copy everything between and including `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----`, and paste it into the **PEM private key** text box of the same section. Then, click **Save**.
-
-## Push inspector
-
-The Push inspector tool enables you to manually send push notifications by specifying the required data and notification fields. This tool helps test and debug your notification setup before going live.
-
-### API key
-
-The [API Key](/docs/platform/account/app/api) authenticates your requests when sending push notifications. Choose from the list of API keys associated with your Ably account. Each key has different permissions and scopes, so ensure you select the correct one for your notification tasks.
-
-### Push notification title and body
-
-Define the content of your push notification using the fields below:
-
-| Field | Purpose | How to Use |
-| ----- | ------- | ---------- |
-| Notification title | A title for the push notification, which will appear as the headline on the user's device. | Enter a short, clear title that captures the essence of the notification. |
-| Notification body | The main content of the notification to be displayed below the title. | Write the key information or message that you want the user to read. |
-| Notification data | Optional JSON data that the app can use for specific actions upon receiving the notification. | Include any extra data needed for app functionality, such as custom metadata or instructions. |
-
-### Push notification target
-
-Direct your push notifications to specific targets within the Ably platform. Select the appropriate target according to your notification strategy:
-
-| Target | Purpose | How to Use |
-| ------ | ------- | ---------- |
-| Channel name | Push notifications to all subscribers of a specific channel. | Enter the channel name and click push to channel to notify all devices subscribed to that channel. |
-| Device ID | Send a notification directly to a specific device. | Enter the Device ID and click push to device to target a single device with the notification. |
-| Client ID | Notify a specific client registered with Ably. | Enter the Client ID and click push to client to send the notification to the chosen client. |
-
-## Push inspector widget
-
-The Push Inspector widget allows you to monitor and manage your push notification infrastructure directly from the Ably dashboard. It provides insights into channel subscriptions, device registrations, and client registrations, making it easier to debug and optimize your notification setup.
-
-| Section | Purpose | How to Use |
-| ------- | ------- | ---------- |
-| Channel subscriptions | View and inspect all channels currently subscribed to push notifications. | Click inspect channel to see detailed information about a specific channel, including the number of subscribers and recent activity. |
-| Device registrations | Access a list of all devices registered to receive push notifications. | Click inspect device to view detailed information about a specific device, such as its registration status, platform, and recent notifications. |
-| Client registrations | Get an overview of all clients registered for push notifications within the Ably account. | Click inspect client ID to see detailed information about a specific client, including its subscriptions and recent activity. |
diff --git a/src/pages/docs/platform/account/app/platform/connections.mdx b/src/pages/docs/platform/account/app/platform/connections.mdx
new file mode 100644
index 0000000000..39c9896b69
--- /dev/null
+++ b/src/pages/docs/platform/account/app/platform/connections.mdx
@@ -0,0 +1,137 @@
+---
+title: Connections
+meta_description: "Monitor and manage connections within the Ably dashboard."
+meta_keywords: "Connections, monitoring, clients, dashboard, Ably"
+redirect_from:
+ - /docs/platform/account/app/connections
+ - /docs/account/app/connections
+---
+
+The Connections section in your Ably dashboard shows you exactly who's connected to your application and which channels they're attached to. Monitor your connections through the [app dashboard](https://ably.com/accounts/any/apps/any/connections) under the Connections section. This interface provides visibility into active client connections and their channel subscriptions, enabling you to understand how your application is being used in realtime.
+
+## Connection browser
+
+The main connections interface shows you who's currently connected to your application. You can see each client's identity, location, and quickly access which channels they're using.
+
+
+
+### Connection finder and filtering
+
+Find and filter connections in your dashboard:
+
+1. **Search for specific connections** - Use the connection finder search box to filter by connection ID or client ID.
+2. **Filter by location** - Use the country filter to view connections from specific geographic locations.
+3. **Filter by SDK** - Use the SDK filter to view connections using specific client SDK versions.
+
+The interface shows connection totals, giving you immediate awareness of active connections and helping you track connection volume over time.
+
+### Connection list
+
+Each connection entry displays essential information for rapid assessment:
+
+| Column | Description |
+|---|---|
+| Connection ID | Unique identifier for each client connection. |
+| Client ID | Application-defined client identifier or blank. |
+| Country | Geographic location with flag indicator. |
+| SDK | Client SDK version and platform icon. |
+| Inspect button | Eye icon for detailed connection access. |
+
+Click the **inspect** button (eye icon) next to any connection to access detailed connection information and monitoring tools.
+
+## Connection inspection
+
+When you click the **inspect** button on any connection, you access a comprehensive connection monitoring interface that provides detailed visibility into that specific connection's behavior and configuration.
+
+
+
+### Connection overview
+
+The inspection page opens with a detailed overview showing critical connection information and realtime status. The header displays the full Connection ID with a copy button for easy reference, along with breadcrumb navigation back to the main connections list.
+
+#### Connection details
+
+The overview displays essential connection information:
+
+| Detail | Description |
+|---|---|
+| Client ID | Application-defined identifier (shows N/A if not set). |
+| Transport type | Connection method such as WebSocket. |
+| Created | Connection establishment timestamp. |
+| Status | Current connection state with indicator. |
+| IP address | Geographic location and IP address. |
+| SDK | Client library version and platform. |
+| Platform | Operating system or runtime environment. |
+
+#### Authentication section
+
+The authentication section shows the security configuration for this connection:
+
+| Authentication detail | Description |
+|---|---|
+| Auth type | Authentication method used, for example Basic. |
+| Security | Security protocol in use, for example TLS. |
+| Key ID | API key identifier used for authentication. |
+
+#### Capabilities
+
+The capabilities section displays feature support for this connection, shown as capability strings that indicate which Ably features the client can use.
+
+#### Activity monitoring
+
+The activity section provides realtime metrics with message flow visualization:
+
+| Activity metric | Description |
+|---|---|
+| Inbound message rate | Messages per second sent by this client. |
+| Outbound message rate | Messages per second delivered to this client. |
+
+The activity chart visualizes message flow over time with separate tracking for inbound and outbound messages, helping you identify usage patterns and potential issues.
+
+#### Live logs
+
+The live logs section shows realtime events specific to this connection:
+
+| Log detail | Description |
+|---|---|
+| Timestamp | When each event occurred. |
+| Resource ID | Which channel or resource was involved. |
+| Event type | Type of connection event. |
+| Level | Severity indicator with status badges. |
+
+## Attached channels
+
+The "Attached channels" tab shows you exactly which channels each connected client is using - this is where you can see how clients are engaging with different parts of your application.
+
+### Channel activity monitoring
+
+Monitor channel activity for this connection:
+
+1. **Search channels** - Use the channel finder search box to filter channels by name.
+2. **View channel count** - Check the total number of attached channels.
+3. **Review channel list** - Examine each channel with its activity metrics.
+
+### Individual channel details
+
+For each attached channel, the interface shows:
+
+| Channel detail | Description |
+|---|---|
+| Channel name | Full channel identifier. |
+| Modes | Connection modes like presence, publish, subscribe. |
+| Inbound message rate | Messages per second sent by this client to the channel. |
+| Outbound message rate | Messages per second delivered to this client from the channel. |
+| Activity chart | Realtime message flow visualization. |
+| Inspect button | Eye icon for detailed channel access. |
+
+### Channel inspection navigation
+
+When you click the **Inspect** button on any channel in the attached channels list, you navigate to the comprehensive channel inspection interface in the Pub/Sub section. This provides detailed channel monitoring including:
+
+- Channel overview and analytics
+- All connections to that channel
+- Message history and realtime flow
+- Presence tracking
+- Channel configuration and rules
+
+This seamless navigation allows you to move from connection-specific monitoring to channel-wide analysis, enabling comprehensive troubleshooting across both connection and channel perspectives.
\ No newline at end of file
diff --git a/src/pages/docs/platform/account/app/queues.mdx b/src/pages/docs/platform/account/app/platform/queues.mdx
similarity index 51%
rename from src/pages/docs/platform/account/app/queues.mdx
rename to src/pages/docs/platform/account/app/platform/queues.mdx
index 82a351ebca..50091e15b3 100644
--- a/src/pages/docs/platform/account/app/queues.mdx
+++ b/src/pages/docs/platform/account/app/platform/queues.mdx
@@ -6,26 +6,30 @@ redirect_from:
- /docs/account/app/queues
---
-Ably queues provide a way to consume realtime data using the [AMQP](/docs/platform/integrations/queues#consume-amqp) or [STOMP](/docs/platform/integrations/queues#consume-stomp) protocols. Find out more about using [Ably queues](/docs/platform/integrations/queues#what).
+Ably queues provide a way to consume realtime data using the [AMQP](/docs/platform/integrations/queues#consume-amqp) or [STOMP](/docs/platform/integrations/queues#consume-stomp) protocols. Manage your queues through the [app dashboard](https://ably.com/accounts/any/apps/any/queues) under the Queues section. Find out more about using [Ably queues](/docs/platform/integrations/queues#what).
-## Manage your Ably queues
+
-The Ably queues tab enables you to:
+## Manage your Ably queues
+
+The Ably queues tab enables you to:
* Access a list of all your existing queues.
* Monitor realtime data flow and queue performance.
* Click on any queue to view and adjust its settings, such as TTL, maximum length, and region.
-### Provision a new queue
+
+
+### Provision a new queue
+
+When creating a new queue, you need to specify:
-When provisioning a new queue, you'll need to specify several things:
+* **Name** - Choose a unique identifier for your queue.
+* **Region** - Select the geographic location for optimal latency and data residency.
+* **TTL (Time to Live)** - Set how long messages remain before automatic deletion (default limit: 60 minutes).
+* **Max length** - Define maximum message capacity (default: 10,000 messages).
-| Field | Description |
-| ----- | ----------- |
-| **Name** | Choose a unique name for your queue. This will help you identify it within your dashboard and during application development. |
-| **Region** | Select the geographic region where the queue will be hosted. This is important for optimizing latency and ensuring data residency aligns with your application's requirements. |
-| **TTL (time to Live)** | Set the TTL, which determines how long messages remain in the queue before being automatically deleted if they are not consumed. The default account limit is 60 minutes. You can contact Ably support for assistance if you need a longer TTL. |
-| **Max length** | Define the maximum number of messages the queue can hold at any given time. The default limit is 10,000 messages, but you can request an increase if your application requires more capacity. |
+Contact Ably support if you need higher limits for TTL or message capacity.
### Set up queue rules
diff --git a/src/pages/docs/platform/account/app/products/chat.mdx b/src/pages/docs/platform/account/app/products/chat.mdx
new file mode 100644
index 0000000000..aa8e67a64a
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/chat.mdx
@@ -0,0 +1,242 @@
+---
+title: Chat
+meta_description: "Manage and monitor your Chat functionality within the Ably dashboard."
+meta_keywords: "Chat, rooms, messaging, users, dashboard, Ably"
+---
+
+The Chat section in your Ably dashboard provides a centralized hub for managing realtime messaging and user interactions across your chat application. Access the [Chat dashboard](https://ably.com/accounts/any/apps/any/chat) to monitor and manage your chat rooms. From this overview page, you can quickly access getting started guides for different platforms, explore ready-to-use examples, and review recent product updates through the changelog.
+
+
+
+The dashboard makes it easy to jump into room monitoring, review implementation patterns, and stay updated with the latest Chat features and fixes.
+
+## Rooms
+
+The rooms interface serves as your primary dashboard for monitoring and managing all chat messaging activity across your application. This section provides realtime visibility into room performance, user connections, and message flow, enabling you to quickly identify issues and optimize your chat implementation.
+
+Navigate to the rooms section through the dashboard sidebar under Products > Chat > Rooms. The main rooms view displays all active rooms in a clean, searchable interface that makes it easy to monitor your entire chat infrastructure at a glance.
+
+
+
+### Room browser functionality
+
+The room finder search box allows you to quickly locate specific rooms by name - essential when managing applications with numerous rooms across different features or namespaces. Simply enter a room name or partial match to filter the results and find the rooms you need to inspect.
+
+The interface shows exactly how many rooms are currently active with a counter display, giving you immediate awareness of your application's chat scope and helping you track room growth over time.
+
+Each room entry shows the **room name** for identification, the **user count** displaying realtime connected users for monitoring activity patterns, and an **inspect button** (eye icon) for accessing detailed monitoring and configuration.
+
+The user count column is particularly valuable for identifying rooms experiencing high activity, unusual participation patterns, or potential connection issues. Rooms with unexpectedly high or low user counts can indicate performance problems, client-side issues, or changes in user behavior that need investigation.
+
+## Room inspection
+
+When you click the inspect button (eye icon) next to any room in the rooms list, you access a comprehensive room monitoring interface that provides deep visibility into that specific room's behavior, performance, and configuration.
+
+### Room inspection overview
+
+The inspection page opens with a detailed overview showing critical room information and realtime metrics. The header displays the full room name with a copy button for easy reference, along with breadcrumb navigation back to the main rooms list.
+
+#### Live analytics and visualization
+
+The inspection interface provides two primary analytics sections with live, updating charts that help you understand room behavior over time.
+
+##### Messages analytics
+
+The messages chart displays realtime inbound and outbound message flow with color-coded tracking for different message types. Use this to identify message patterns and delivery bottlenecks.
+
+##### Occupancy analytics
+
+The occupancy chart tracks connections, participants, and presence members over time. Use this data to understand user engagement patterns and optimize your chat architecture.
+
+#### Room configuration and rules
+
+The rules section provides comprehensive configuration options for controlling room behavior and security requirements. You can configure three categories of rules:
+
+| Rule category | Configuration options |
+|---|---|
+| Storage rules | Persist last message, persist all messages. |
+| Room rules | Identification required, TLS required. |
+| Feature rules | Push notifications, message annotations/updates/deletes. |
+
+#### Integrations
+
+The integrations section allows you to connect rooms to external services and configure automated workflows triggered by room activity.
+
+Use the **Add integration** button to set up new external connections.
+
+#### Live logs and debugging
+
+The live logs section provides essential debugging capabilities through realtime event monitoring and error tracking.
+
+| Log type | Description |
+|---|---|
+| API requests | Monitor REST API calls and authentication attempts. |
+| Rooms | Track room creation, configuration changes, and lifecycle events. |
+| Connections | Monitor user connections, disconnections, and connection state changes. |
+| Integration errors | Identify webhook failures, external service timeouts, and integration issues. |
+
+When the logs show no entries, this indicates normal room operation without errors or notable events. During active debugging or high-traffic periods, you'll see realtime event streams that help diagnose issues and verify system behavior.
+
+## Connections
+
+The connections tab provides detailed visibility into all users currently connected to your room, enabling you to monitor individual user behavior and troubleshoot client-specific issues.
+
+### Connection overview
+
+When you select the connections tab from the room inspection interface, you'll see a comprehensive list of all active connections to that specific room. The interface displays key connection information in an organized table format.
+
+The following outlines the connection information displayed:
+
+| Column | Information displayed |
+|---|---|
+| Connection ID | Unique identifier for each user connection. |
+| Client ID | Application-defined user identifier. |
+| Country | Geographic location of the connection. |
+| SDK | Client SDK version and platform. |
+
+The connection list shows practical information including the total number of active connections. Each connection entry includes an inspect button (eye icon) for detailed connection analysis.
+
+### Individual connection inspection
+
+When you click the inspect button on any connection, you access a detailed connection monitoring interface that provides comprehensive information about that specific user's behavior and configuration.
+
+#### Overview
+
+The overview tab displays essential information about the user connection:
+
+| Connection detail | Information displayed |
+|---|---|
+| Client ID | Application-defined identifier (shows N/A if not set) |
+| Transport type | Connection method, for example WebSocket |
+| Created | Connection establishment timestamp |
+| Status | Current connection state (Connected/Disconnected) |
+| IP address | User's geographic location and IP |
+| SDK | Client library version and platform |
+| Platform | Operating system or runtime environment |
+
+#### Authentication
+
+The authentication section shows the security configuration for this connection:
+
+| Authentication detail | Information displayed |
+|---|---|
+| Auth type | Authentication method used, for example Basic |
+| Security | Security protocol in use, for example TLS |
+| Key ID | API key identifier used for authentication |
+
+#### Capabilities
+
+The capabilities section displays what features this user supports, shown as capability strings that indicate which Ably features the client can use.
+
+#### Activity
+
+The activity section provides realtime metrics for this specific connection with message flow visualization:
+
+| Activity metric | Information displayed |
+|---|---|
+| Inbound message rate | Messages per second sent by this user |
+| Outbound message rate | Messages per second delivered to this user |
+
+The activity chart visualizes message flow over time with separate tracking for inbound and outbound messages, helping you identify usage patterns and potential issues for individual connections.
+
+#### Live logs
+
+The live logs section shows realtime events specific to this connection, including connection establishment, message activity, and any errors:
+
+| Log detail | Information displayed |
+|---|---|
+| Timestamp | When each event occurred |
+| Resource ID | Which room or resource was involved |
+| Event type | Type of connection event, for example connection.error, connection.attached |
+| Level | Severity indicator (Info, Error, etc.) |
+
+This connection-specific logging helps troubleshoot individual user issues and verify that connections are behaving as expected.
+
+## Messages
+
+The messages tab provides access to all messages flowing through your room, enabling you to inspect message content and debug messaging issues in realtime.
+
+### Message browser interface
+
+Use the message browser to monitor all messages in your room:
+
+1. **Search messages** - Use the message finder search box to filter messages by content.
+2. **Check API status** - Verify your API key connection status in the indicator.
+3. **Monitor activity** - View the message counter to see total message count.
+4. **Control updates** - Use the detach option to stop live message streaming when needed.
+
+### Message list details
+
+Each message entry provides key information for debugging:
+
+| Message detail | Information displayed |
+|---|---|
+| Message ID | Unique identifier for each message |
+| Connection ID | Source connection identifier (N/A for REST API messages) |
+| Name | Message name or event type |
+| Data | Message payload content preview |
+| Timestamp | When the message was published |
+| Message button | Click to view full JSON details |
+
+### JSON message inspection
+
+Click on any message to view the complete JSON structure in the right panel. The JSON view organizes information into categories for debugging:
+
+| Field category | JSON elements |
+|---|---|
+| ID and identification | Message identifiers and client references |
+| Action and encoding | Message action type and encoding information |
+| Data payload | Complete message content with nested data structures |
+| Timestamps and metadata | Message timing and system information |
+
+The JSON view provides syntax highlighting and expandable structures for debugging message format, verifying data integrity, and understanding the complete message structure.
+
+## Presence
+
+The presence tab allows you to monitor user presence activity in your room, tracking when users enter, leave, or update their status.
+
+### Presence interface
+
+Use the presence browser to monitor user activity in your room:
+
+1. **Search presence events** - Use the presence finder search box to filter presence events.
+2. **Check API status** - Verify your API key connection status in the indicator.
+3. **Monitor presence activity** - View the presence counter to see total presence events.
+4. **Control updates** - Use the detach option to stop live presence monitoring when needed.
+
+### Presence event details
+
+Each presence event entry provides key information for monitoring user activity:
+
+| Presence detail | Information displayed |
+|---|---|
+| Client ID | Application-defined identifier (shows N/A if not set) |
+| Action | Event type such as enter, leave, or update |
+| Data | User-provided presence data payload |
+| Timestamp | When the presence event occurred |
+| Event button | Click to view full JSON details |
+
+### JSON presence inspection
+
+Click on any presence event to view the complete JSON structure in the right panel. The JSON view organizes information into categories for debugging:
+
+| Field category | JSON elements |
+|---|---|
+| ID and identification | User identifiers and connection references |
+| Action and state | Presence action type and current state |
+| Data payload | Complete presence data with nested structures |
+| Timestamps and metadata | Event timing and system information |
+
+The JSON view provides syntax highlighting and expandable structures for debugging presence data format, verifying user information, and understanding the complete presence event structure.
+
+When the interface shows no presence events, this indicates no recent presence activity. This is normal for rooms where users connect for messaging without requiring presence tracking.
+
+## Clients
+
+### Web client
+
+The [web client](/docs/platform/account/app/client) provides a browser-based interface for testing and debugging your chat implementation without writing code. Use it to send messages, join rooms, and verify your application behavior during development.
+
+### CLI
+
+The [Ably CLI](/docs/platform/tools/cli) offers command-line tools for managing chat operations, testing rooms, and automating messaging workflows. Use it for scripting, CI/CD integration, and server-side debugging.
\ No newline at end of file
diff --git a/src/pages/docs/platform/account/app/products/liveobjects.mdx b/src/pages/docs/platform/account/app/products/liveobjects.mdx
new file mode 100644
index 0000000000..0cc82d6799
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/liveobjects.mdx
@@ -0,0 +1,17 @@
+---
+title: LiveObjects
+meta_description: "Manage and monitor your LiveObjects functionality within the Ably dashboard."
+meta_keywords: "LiveObjects, synchronization, state management, realtime data, dashboard, Ably"
+---
+
+The LiveObjects section in your Ably dashboard provides management tools for synchronized state objects across your application. Access the [LiveObjects dashboard](https://ably.com/accounts/any/apps/any/liveobjects) to monitor and manage your synchronized state objects. From this overview page, you can quickly access getting started guides for different platforms, explore ready-to-use examples, and review recent product updates through the changelog.
+
+The dashboard makes it easy to monitor LiveObjects implementation patterns and stay updated with the latest features and fixes.
+
+## CLI
+
+The [Ably CLI](/docs/platform/tools/cli) offers command-line tools for managing LiveObjects operations, testing state synchronization, and automating workflows. Use it for scripting, CI/CD integration, and server-side debugging of your synchronized state objects.
+
+## Changelog
+
+Stay updated with the latest LiveObjects features, improvements, and fixes through the changelog section.
\ No newline at end of file
diff --git a/src/pages/docs/platform/account/app/products/livesync.mdx b/src/pages/docs/platform/account/app/products/livesync.mdx
new file mode 100644
index 0000000000..6a4f29cd44
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/livesync.mdx
@@ -0,0 +1,14 @@
+---
+title: LiveSync
+meta_description: "Manage and monitor your LiveSync functionality within the Ably dashboard."
+meta_keywords: "LiveSync, database streaming, data synchronization, realtime updates, dashboard, Ably"
+---
+
+The LiveSync section in your Ably dashboard provides management tools for database streaming and data synchronization across your application. Access the [LiveSync dashboard](https://ably.com/accounts/any/apps/any/livesync) to monitor and manage your database streaming. From this overview page, you can quickly access getting started guides for different platforms, explore ready-to-use examples, and review recent product updates through the changelog.
+
+The dashboard makes it easy to monitor LiveSync implementation patterns and stay updated with the latest features and fixes.
+
+## CLI
+
+The [Ably CLI](/docs/platform/tools/cli) offers command-line tools for managing LiveSync operations, testing database streaming, and automating data synchronization workflows. Use it for scripting, CI/CD integration, and server-side debugging of your synchronized data streams.
+
diff --git a/src/pages/docs/platform/account/app/products/pubsub.mdx b/src/pages/docs/platform/account/app/products/pubsub.mdx
new file mode 100644
index 0000000000..84e547b494
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/pubsub.mdx
@@ -0,0 +1,147 @@
+---
+title: Pub/Sub
+meta_description: "Manage and monitor your Pub/Sub functionality within the Ably dashboard."
+meta_keywords: "Pub/Sub, channels, messaging, realtime, dashboard, Ably"
+---
+
+The Pub/Sub section in your Ably dashboard provides a centralized hub for managing realtime messaging across your application. From this overview page, you can quickly access getting started guides for different platforms, explore ready-to-use examples, and review recent product updates through the changelog.
+
+The dashboard makes it easy to jump into channel monitoring, review implementation patterns, and stay updated with the latest Pub/Sub features and fixes.
+
+## Channels
+
+The channels interface serves as your primary dashboard for monitoring and managing all pub/sub messaging activity across your application. This section provides realtime visibility into channel performance, connection patterns, and message flow, enabling you to quickly identify issues and optimize your messaging implementation.
+
+Navigate to the channels section through the dashboard sidebar under Products > Pub/Sub > Channels. The main channels view displays all active channels in a clean, searchable interface that makes it easy to monitor your entire messaging infrastructure at a glance.
+
+
+
+### Channel browser functionality
+
+The channel finder search box allows you to quickly locate specific channels by name - essential when managing applications with numerous channels across different features or namespaces. Simply enter a channel name or partial match to filter the results and find the channels you need to inspect.
+
+The interface shows exactly how many channels are currently active with a counter display, giving you immediate awareness of your application's messaging scope and helping you track channel growth over time.
+
+Each channel entry shows the **channel name** for identification, the **connection count** displaying realtime connected clients for monitoring traffic patterns, and an **inspect button** (eye icon) for accessing detailed monitoring and configuration.
+
+The connection count column is particularly valuable for identifying channels experiencing high traffic, unusual activity patterns, or potential connection issues. Channels with unexpectedly high or low connection counts can indicate performance problems, client-side issues, or changes in user behavior that need investigation.
+
+## Channel inspection
+
+When you click the inspect button (eye icon) next to any channel in the channels list, you access a comprehensive channel monitoring interface that provides deep visibility into that specific channel's behavior, performance, and configuration.
+
+
+
+### Channel inspection overview
+
+The inspection page opens with a detailed overview showing critical channel information and realtime metrics. The header displays the full channel name with a copy button for easy reference, along with breadcrumb navigation back to the main channels list.
+
+#### Live analytics and visualization
+
+The inspection interface provides two primary analytics sections with live, updating charts that help you understand channel behavior over time.
+
+##### Messages analytics
+
+The messages chart displays realtime inbound and outbound message flow with color-coded tracking for different message types. Use this to identify message patterns and delivery bottlenecks.
+
+##### Occupancy analytics
+
+The occupancy chart tracks connections, publishers, subscribers, and presence members over time. Use this data to understand user engagement patterns and optimize your messaging architecture.
+
+#### Channel configuration and rules
+
+The rules section provides comprehensive configuration options for controlling channel behavior and security requirements. Configure **Storage rules** to control message persistence and history retention, **Channel rules** to enforce security requirements like identification and TLS, and **Feature rules** to enable advanced capabilities such as push notifications and message annotations.
+
+#### Integrations
+
+The integrations section allows you to connect channels to external services and configure automated workflows triggered by channel activity.
+
+Use the **Add integration** button to set up new external connections.
+
+#### Live logs and debugging
+
+The live logs section provides essential debugging capabilities through realtime event monitoring and error tracking.
+
+Live logs track **API requests** for monitoring REST API calls and authentication, **Channels** for creation and configuration changes, **Connections** for client state changes, and **Integration errors** for webhook failures and external service issues.
+
+When the logs show no entries, this indicates normal channel operation without errors or notable events. During active debugging or high-traffic periods, you'll see realtime event streams that help diagnose issues and verify system behavior.
+
+## Connections
+
+The connections tab provides detailed visibility into all clients currently connected to your channel, enabling you to monitor individual connection behavior and troubleshoot client-specific issues.
+
+### Connection overview
+
+When you select the connections tab from the channel inspection interface, you'll see a comprehensive list of all active connections to that specific channel. The interface displays key connection information in an organized table format.
+
+Each connection shows its unique connection ID, client ID (if set), geographic location, and SDK version. The connection list displays the total number of active connections, with an inspect button (eye icon) for detailed analysis of each connection.
+
+### Individual connection inspection
+
+When you click the inspect button on any connection, you access a detailed connection monitoring interface that provides comprehensive information about that specific client's behavior and configuration.
+
+#### Overview
+
+The overview tab displays essential connection information including client ID, transport type (WebSocket/HTTP), connection timestamp, current status, IP address with geographic location, SDK version, and platform details.
+
+#### Authentication
+
+The authentication section shows the security configuration including authentication method (Basic/Token), security protocol (TLS), and the API key ID used for authentication.
+
+#### Capabilities
+
+The capabilities section displays what features this client supports, shown as capability strings that indicate which Ably features the client can use.
+
+#### Activity
+
+The activity section provides realtime metrics showing inbound and outbound message rates. The activity chart visualizes message flow over time, helping you identify usage patterns and potential issues for individual connections.
+
+#### Live logs
+
+The live logs section shows realtime events specific to this connection including timestamps, resource IDs, event types (connection.error, connection.attached), and severity levels. This connection-specific logging helps troubleshoot individual client issues and verify expected behavior.
+
+## Messages
+
+The messages tab provides access to all messages flowing through your channel, enabling you to inspect message content and debug messaging issues in realtime.
+
+### Message browser interface
+
+The message browser displays all messages with a **Message finder** search box for filtering by content, **API Key status** indicator, **Message counter** showing total activity volume, and a **Detach option** to control live streaming.
+
+### Message list details
+
+Each message entry shows the message ID, source connection ID (or N/A for REST API messages), message name/event type, data payload preview, timestamp, and a message button to view full JSON details.
+
+### JSON message inspection
+
+Click on any message to view the complete JSON structure in the right panel. The JSON view organizes information into categories including message identifiers, action types, data payloads, and timestamps. It provides syntax highlighting and expandable structures for debugging message format, verifying data integrity, and understanding the complete message structure.
+
+## Presence
+
+The presence tab allows you to monitor client presence activity on your channel, tracking when clients enter, leave, or update their status.
+
+### Presence interface
+
+The presence browser displays presence events with a search box for filtering, API key status indicator, presence event counter, and a detach option to stop live monitoring.
+
+### Presence event details
+
+Each presence event shows the client ID, action type (enter/leave/update), presence data payload, timestamp, and an event button to view full JSON details.
+
+### JSON presence inspection
+
+Click on any presence event to view the complete JSON structure in the right panel. The JSON view organizes information into categories including client identifiers, action types, data payloads, and timestamps. It provides syntax highlighting and expandable structures for debugging presence data format and understanding the complete event structure.
+
+When the interface shows no presence events, this indicates no recent presence activity. This is normal for channels where clients connect for messaging without requiring presence tracking.
+
+## Clients
+
+### Web client
+
+The [web client](/docs/platform/account/app/client) provides a browser-based interface for testing and debugging your pub/sub implementation without writing code. Use it to publish messages, subscribe to channels, and verify your application behavior during development.
+
+### CLI
+
+The [Ably CLI](/docs/platform/tools/cli) offers command-line tools for managing pub/sub operations, testing channels, and automating messaging workflows. Use it for scripting, CI/CD integration, and server-side debugging.
+
+
diff --git a/src/pages/docs/platform/account/app/products/push-notifications.mdx b/src/pages/docs/platform/account/app/products/push-notifications.mdx
new file mode 100644
index 0000000000..5eded58203
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/push-notifications.mdx
@@ -0,0 +1,87 @@
+---
+title: Push notifications
+meta_description: "Manage and monitor your Push Notifications functionality within the Ably dashboard."
+meta_keywords: "Push notifications, FCM, APNS, notifications, mobile, dashboard, Ably"
+redirect_from:
+ - /docs/account/app/notifications
+---
+
+Before you can start using Ably's [push notification](/docs/push) services, you must configure the credentials for the third-party services you wish to integrate, such as FCM for Android devices, APNs for iOS devices, or Web Push for web browsers.
+
+
+
+### Configure FCM for Android devices
+
+* Go to the [Firebase Console.](https://firebase.google.com/)
+* Click **add project** and follow the steps to **create and manage service account keys**.
+* Download your service account **JSON file**.
+* In your Ably [dashboard](https://ably.com/accounts/any/apps/any), navigate to the **Push Notifications** tab under your app settings.
+* Go to **push notifications setup**, click **configure push**.
+* Add your service account **JSON file** to the **setting up Firebase cloud messaging** section.
+
+### Configure APNs for iOS devices
+
+* Go to the [Apple Developer Program.](https://developer.apple.com/programs/)
+* Use the Apple developer portal to create a **push notification** service certificate for your app.
+* Export the certificate as a **.p12 file**.
+* Next, you can either import the **.p12 cert** or create a **PEM file** and copy it into your Ably dashboard:
+
+* Import the **.p12 file**:
+ * In your Ably [dashboard](https://ably.com/accounts/any/apps/any), navigate to the **Push Notifications** tab under your app settings.
+ * Go to **push notifications setup**, click **configure push** and scroll to the **setting up Apple push notification service** section.
+ * Select the **.p12 file** you exported and enter the password you created during the export process.
+ * Click **save**. You should receive confirmation that the certificate has been successfully imported.
+ * To further confirm the import, refresh the page and check if the **PEM cert** and **private key** text boxes are now populated with the imported key details.
+* Create a **PEM file** from the **.p12 file**:
+ * Using [OpenSSL](https://www.openssl.org/), convert the recently exported **.p12 file** (`io.ably.test.p12`) to a **PEM file** with the following command: `$ openssl pkcs12 -in ./io.ably.test.p12 -out ./io.ably.test.pem -nodes -clcerts`.
+ * Open the **PEM file** in your text editor.
+ * Copy everything between and including `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`, and paste it into the **PEM cert** text box of the Apple push notification service section of your Ably notifications app [dashboard](https://ably.com/accounts/any/apps/any).
+ * Similarly, copy everything between and including `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----`, and paste it into the **PEM private key** text box of the same section. Then, click **Save**.
+
+## Push inspector
+
+The Push inspector tool enables you to manually send push notifications by specifying the required data and notification fields. This tool helps test and debug your notification setup before going live.
+
+### API key
+
+The [API Key](/docs/platform/account/app/configuration/api-keys) authenticates your requests when sending push notifications. Choose from the list of API keys associated with your Ably account. Each key has different permissions and scopes, so ensure you select the correct one for your notification tasks.
+
+### Push notification title and body
+
+Create your push notification content:
+
+1. **Enter notification title** - Write a short, clear title that captures the essence of the notification.
+2. **Add notification body** - Include the key information or message that you want the user to read.
+3. **Include notification data** (optional) - Add any extra data needed for app functionality, such as custom metadata or instructions.
+
+### Push notification target
+
+Choose how to target your push notification:
+
+**To notify all subscribers of a channel:**
+1. Enter the channel name in the target field.
+2. Click **push to channel**.
+
+**To target a specific device:**
+1. Enter the Device ID in the target field.
+2. Click **push to device**.
+
+**To notify a specific client:**
+1. Enter the Client ID in the target field.
+2. Click **push to client**.
+
+## Push inspector widget
+
+The Push Inspector widget allows you to monitor and manage your push notification infrastructure directly from the Ably dashboard. Use it to inspect and debug your notification setup:
+
+**To inspect channel subscriptions:**
+1. Navigate to the Channel subscriptions section.
+2. Click **inspect channel** to see detailed information about a specific channel, including the number of subscribers and recent activity.
+
+**To review device registrations:**
+1. Navigate to the Device registrations section.
+2. Click **inspect device** to view detailed information about a specific device, such as its registration status, platform, and recent notifications.
+
+**To examine client registrations:**
+1. Navigate to the Client registrations section.
+2. Click **inspect client ID** to see detailed information about a specific client, including its subscriptions and recent activity.
diff --git a/src/pages/docs/platform/account/app/products/spaces.mdx b/src/pages/docs/platform/account/app/products/spaces.mdx
new file mode 100644
index 0000000000..f0d540b6b4
--- /dev/null
+++ b/src/pages/docs/platform/account/app/products/spaces.mdx
@@ -0,0 +1,220 @@
+---
+title: Spaces
+meta_description: "Manage and monitor your Spaces functionality within the Ably dashboard."
+meta_keywords: "Spaces, collaboration, presence, cursors, dashboard, Ably"
+---
+
+The Spaces section in your Ably dashboard provides a centralized hub for managing collaborative features and realtime interactions across your application. Access the [Spaces dashboard](https://ably.com/accounts/any/apps/any/spaces) to monitor and manage your collaborative spaces. From this overview page, you can quickly access getting started guides for different platforms, explore ready-to-use examples, and review recent product updates through the changelog.
+
+
+
+The dashboard makes it easy to jump into space monitoring, review implementation patterns, and stay updated with the latest Spaces features and fixes.
+
+## Spaces
+
+The spaces interface serves as your primary dashboard for monitoring and managing all collaborative activity across your application. This section provides realtime visibility into space performance, member connections, and interaction flow, enabling you to quickly identify issues and optimize your collaborative implementation.
+
+Navigate to the spaces section through the dashboard sidebar under Products > Spaces > Spaces. The main spaces view displays all active spaces in a clean, searchable interface that makes it easy to monitor your entire collaborative infrastructure at a glance.
+
+### Space browser functionality
+
+The space finder search box allows you to quickly locate specific spaces by name - essential when managing applications with numerous collaboration areas across different features or namespaces. Simply enter a space name or partial match to filter the results and find the spaces you need to inspect.
+
+The interface shows exactly how many spaces are currently active with a counter display, giving you immediate awareness of your application's collaborative scope and helping you track space growth over time.
+
+Each space entry shows the **space name** for identification, the **member count** displaying realtime connected members for monitoring activity patterns, and an **inspect button** (eye icon) for accessing detailed monitoring and configuration.
+
+The member count column is particularly valuable for identifying spaces experiencing high activity, unusual participation patterns, or potential connection issues. Spaces with unexpectedly high or low member counts can indicate performance problems, client-side issues, or changes in user behavior that need investigation.
+
+## Space inspection
+
+When you click the inspect button (eye icon) next to any space in the spaces list, you access a comprehensive space monitoring interface that provides deep visibility into that specific space's behavior, performance, and configuration.
+
+### Space inspection overview
+
+The inspection page opens with a detailed overview showing critical space information and realtime metrics. The header displays the full space name with a copy button for easy reference, along with breadcrumb navigation back to the main spaces list.
+
+#### Live analytics and visualization
+
+The inspection interface provides two primary analytics sections with live, updating charts that help you understand space behavior over time.
+
+##### Messages analytics
+
+The messages chart displays realtime inbound and outbound message flow with color-coded tracking for different message types. Use this to identify interaction patterns and delivery bottlenecks.
+
+##### Occupancy analytics
+
+The occupancy chart tracks connections, members, and presence data over time. Use this data to understand collaboration patterns and optimize your space architecture.
+
+#### Space configuration and rules
+
+The rules section provides configuration options for controlling space behavior and security requirements. Configure **Storage rules** to control message persistence and history retention, **Space rules** to enforce security requirements like identification and TLS, and **Feature rules** to enable advanced capabilities such as push notifications and message annotations.
+
+#### Integrations
+
+The integrations section allows you to connect spaces to external services and configure automated workflows triggered by collaborative activity.
+
+Use the **Add integration** button to set up new external connections.
+
+#### Live logs and debugging
+
+The live logs section provides essential debugging capabilities through realtime event monitoring and error tracking.
+
+Live logs track **API requests** for monitoring REST API calls and authentication, **Spaces** for creation and configuration changes, **Connections** for member state changes, and **Integration errors** for webhook failures and external service issues.
+
+When the logs show no entries, this indicates normal space operation without errors or notable events. During active debugging or high-traffic periods, you'll see realtime event streams that help diagnose issues and verify system behavior.
+
+## Connections
+
+The connections tab provides detailed visibility into all members currently connected to your space, enabling you to monitor individual member behavior and troubleshoot client-specific issues.
+
+### Connection overview
+
+When you select the connections tab from the space inspection interface, you'll see a comprehensive list of all active connections to that specific space. The interface displays key connection information in an organized table format.
+
+Each connection shows its unique connection ID, client ID (if set), geographic location, and SDK version. The connection list displays the total number of active connections, with an inspect button (eye icon) for detailed analysis of each connection.
+
+### Individual connection inspection
+
+When you click the inspect button on any connection, you access a detailed connection monitoring interface that provides comprehensive information about that specific member's behavior and configuration.
+
+#### Overview
+
+The overview tab displays essential information about the member connection:
+
+| Connection detail | Information displayed |
+|---|---|
+| Client ID | Application-defined identifier (shows N/A if not set) |
+| Transport type | Connection method, for example WebSocket |
+| Created | Connection establishment timestamp |
+| Status | Current connection state (Connected/Disconnected) |
+| IP address | Member's geographic location and IP |
+| SDK | Client library version and platform |
+| Platform | Operating system or runtime environment |
+
+#### Authentication
+
+The authentication section shows the security configuration for this connection:
+
+| Authentication detail | Information displayed |
+|---|---|
+| Auth type | Authentication method used, for example Basic |
+| Security | Security protocol in use, for example TLS |
+| Key ID | API key identifier used for authentication |
+
+#### Capabilities
+
+The capabilities section displays what features this member supports, shown as capability strings that indicate which Ably features the client can use.
+
+#### Activity
+
+The activity section provides realtime metrics for this specific connection with interaction flow visualization:
+
+| Activity metric | Information displayed |
+|---|---|
+| Inbound message rate | Messages per second sent by this member |
+| Outbound message rate | Messages per second delivered to this member |
+
+The activity chart visualizes interaction flow over time with separate tracking for inbound and outbound messages, helping you identify usage patterns and potential issues for individual connections.
+
+#### Live logs
+
+The live logs section shows realtime events specific to this connection, including connection establishment, interaction activity, and any errors:
+
+| Log detail | Information displayed |
+|---|---|
+| Timestamp | When each event occurred |
+| Resource ID | Which space or resource was involved |
+| Event type | Type of connection event, for example connection.error, connection.attached |
+| Level | Severity indicator (Info, Error, etc.) |
+
+This connection-specific logging helps troubleshoot individual member issues and verify that connections are behaving as expected.
+
+## Messages
+
+The messages tab provides access to all messages flowing through your space, enabling you to inspect interaction content and debug messaging issues in realtime.
+
+### Message browser interface
+
+Use the message browser to monitor all messages in your space:
+
+1. **Search messages** - Use the message finder search box to filter messages by content.
+2. **Check API status** - Verify your API key connection status in the indicator.
+3. **Monitor activity** - View the message counter to see total message count.
+4. **Control updates** - Use the detach option to stop live message streaming when needed.
+
+### Message list details
+
+Each message entry provides key information for debugging:
+
+| Message detail | Information displayed |
+|---|---|
+| Message ID | Unique identifier for each message |
+| Connection ID | Source connection identifier (N/A for REST API messages) |
+| Name | Message name or event type |
+| Data | Message payload content preview |
+| Timestamp | When the message was published |
+| Message button | Click to view full JSON details |
+
+### JSON message inspection
+
+Click on any message to view the complete JSON structure in the right panel. The JSON view organizes information into categories for debugging:
+
+| Field category | JSON elements |
+|---|---|
+| ID and identification | Message identifiers and client references |
+| Action and encoding | Message action type and encoding information |
+| Data payload | Complete message content with nested data structures |
+| Timestamps and metadata | Message timing and system information |
+
+The JSON view provides syntax highlighting and expandable structures for debugging message format, verifying data integrity, and understanding the complete message structure.
+
+## Presence
+
+The presence tab allows you to monitor member presence activity in your space, tracking when members enter, leave, or update their status.
+
+### Presence interface
+
+Use the presence browser to monitor member activity in your space:
+
+1. **Search presence events** - Use the presence finder search box to filter presence events.
+2. **Check API status** - Verify your API key connection status in the indicator.
+3. **Monitor presence activity** - View the presence counter to see total presence events.
+4. **Control updates** - Use the detach option to stop live presence monitoring when needed.
+
+### Presence event details
+
+Each presence event entry provides key information for monitoring member activity:
+
+| Presence detail | Information displayed |
+|---|---|
+| Client ID | Application-defined identifier (shows N/A if not set) |
+| Action | Event type such as enter, leave, or update |
+| Data | Member-provided presence data payload |
+| Timestamp | When the presence event occurred |
+| Event button | Click to view full JSON details |
+
+### JSON presence inspection
+
+Click on any presence event to view the complete JSON structure in the right panel. The JSON view organizes information into categories for debugging:
+
+| Field category | JSON elements |
+|---|---|
+| ID and identification | Member identifiers and connection references |
+| Action and state | Presence action type and current state |
+| Data payload | Complete presence data with nested structures |
+| Timestamps and metadata | Event timing and system information |
+
+The JSON view provides syntax highlighting and expandable structures for debugging presence data format, verifying member information, and understanding the complete presence event structure.
+
+When the interface shows no presence events, this indicates no recent presence activity. This is normal for spaces where members connect for collaboration without requiring presence tracking.
+
+## Clients
+
+### Web client
+
+The [web client](/docs/platform/account/app/client) provides a browser-based interface for testing and debugging your spaces implementation without writing code. Use it to interact with collaborative features, join spaces, and verify your application behavior during development.
+
+### CLI
+
+The [Ably CLI](/docs/platform/tools/cli) offers command-line tools for managing spaces operations, testing collaborative features, and automating interaction workflows. Use it for scripting, CI/CD integration, and server-side debugging.
\ No newline at end of file
diff --git a/src/pages/docs/platform/account/app/settings.mdx b/src/pages/docs/platform/account/app/settings.mdx
deleted file mode 100644
index c3091d00a7..0000000000
--- a/src/pages/docs/platform/account/app/settings.mdx
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: Settings
-meta_description: "Manage your Ably application settings including security, billing, authentication, and protocol support to optimize performance and enhance security."
-meta_keywords: "Ably app settings, application management, security settings, two-factor authentication, billing management, protocol support, channel configuration, push notifications"
-redirect_from:
- - /docs/account/app/settings
----
-
-Manage your Ably application settings including security, billing, authentication, and protocol support to optimize performance and enhance security.
-
-### Application settings overview
-
-The following provides an overview of your application settings.
-
-| Section | Description |
-| ------ | ------------ |
-| **App ID** | This ID is automatically generated by Ably when you create an application. It is a critical part of your application's identity and is included in every API key and token issued for your application. |
-| **Name** | This is the user-defined name that you assigned when creating your application. It is helpful for quickly identifying the application among others in your dashboard, especially if you manage multiple applications. |
-| **Security** | Enabled by default, this option enforces Transport Layer Security (TLS) for all connections to your application. TLS protocol ensures data encryption and secure communication between clients and servers. |
-| **Enabled** | When an application is disabled, it no longer accepts new connections and deactivates all associated services. Clients cannot connect, send or receive messages, or use other Ably services. When enabled, the application allows new connections and activates all related services. |
-
-### Channel rule configuration
-
-The following explains the configuration rules for specific [namespaces](/docs/channels#namespaces) or [channels](/docs/channels):
-
-| Section | Description |
-| ------- | ----------- |
-| Namespace or channel ID | Identify the specific namespace or channel to which this rule will apply. |
-| Persist last message | Stores the last message published on a channel for 365 days, accessible via the rewind mechanism. |
-| Persist all messages | Ably stores all messages for two minutes by default. Depending on your account package, this can be increased to 24 or 72 hours. It is also possible to persist the last message sent to a channel for a year. |
-| Identified | Requires clients to authenticate with a client ID to interact with channels in this namespace. |
-| TLS only | Restricts access to channels within this namespace to clients connected using TLS. |
-| Push notifications enabled | Enables publishing messages with a push payload, triggering native push notifications to registered devices. |
-| Message interactions enabled | Enables unique time serial fields in messages, enabling typed references between messages (e.g., implementing 'Likes' in a chat). |
-| Server-side batching enabled | Batches inbound messages on the server side before sending them to subscribers based on the configured policy. |
-| Cancel | Discards changes and closes the dialog without saving the new rule.|
-
-### Protocol adapter settings
-
-The following explains the configuration support for various communication protocols ([Pusher](/docs/protocols/pusher), [PubNub](/docs/protocols/pubnub), [MQTT](/docs/protocols/mqtt)), enabling different client libraries to interact with Ably.
-
-| Settings | Description |
-| --------- | ----------- |
-| Pusher protocol support | Provides compatibility with the Pusher protocol. |
-| PubNub protocol support | Provides compatibility with the PubNub protocol. |
-| MQTT protocol support | Provides compatibility with the MQTT protocol. |
-
-### Actions
-
-**Delete this app now** to permanently delete your app including your message history, statistics and prevent access to Ably with any of the API keys assigned to this app.
diff --git a/src/pages/docs/platform/account/app/stats.mdx b/src/pages/docs/platform/account/app/stats.mdx
deleted file mode 100644
index 9387307bd7..0000000000
--- a/src/pages/docs/platform/account/app/stats.mdx
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Stats
-meta_description: “Monitor and analyze your app's performance with Ably's dashboard. Access realtime stats and trends for optimized management."
-meta_keywords: "Ably dashboard, dashboard, app performance, realtime stats, usage monitoring, performance analysis, data trends, statistics chart, statistics table"
-redirect_from:
- - /docs/account/app/stats
----
-
-The stats tab is an interface to monitor your app's performance and usage via the [statistics table](#table) and [statistics chart](#chart).
-
-## Statistics table
-
-The statistics table provides a summary of your app's messaging and data usage patterns over different time frames, including the previous month, the current month, and more granular insights from the last hour and last minute:
-
-
-
-The following explains the statistics table metrics:
-
-| Metric | Description |
-|--------|-------------|
-| Messages (billable) | Total number of messages used. |
-| Messages published (REST & Realtime) | Number of messages sent via REST and Realtime. |
-| Messages received (Realtime) | Number of messages received. |
-| Messages persisted (history) | Number of messages retrieved from history. |
-| Messages retrieved (history) | Number of messages retrieved from history. |
-| Presence events (REST & Realtime) | Number of presence-related events via REST and Realtime. |
-| Webhook / Function | Number of messages transferred through functions and webhooks. |
-| Ably Queue | Number of messages transferred through queues. |
-| Firehose | Number of messages transferred through Firehose. |
-| Push notifications | Number of push notifications sent. |
-| Data transferred | Amount of data transferred, in bytes. |
-| Peak connections | Highest number of concurrent connections. |
-| Peak channels | Highest number of concurrent channels. |
-
-
-
-## Statistics chart
-
-The Stats page also includes a chart that visualizes your app's data over time:
-
-
-
-The following explains how to use the statistics chart:
-
-* **Duration**: Define a specific time range for the statistics you want to view. This enables you to focus on periods of particular interest. For example, set the time range from "2024-06-17 00:00" to "2024-08-06 11:18" to analyze data within that period.
-* **Zoom**: Use preset zoom options (1h, 8h, 24h, 7d, 1m, 6m, 1y, all) to adjust the chart's view to different periods, enabling you to analyze data at various granularities.
diff --git a/src/pages/docs/platform/account/control-api.mdx b/src/pages/docs/platform/account/control-api.mdx
index 844f23f165..ac46989a3f 100644
--- a/src/pages/docs/platform/account/control-api.mdx
+++ b/src/pages/docs/platform/account/control-api.mdx
@@ -11,16 +11,18 @@ redirect_from:
Ably Control API is a REST API that enables you to manage your Ably account programmatically. The Control API also enables you to build web apps and command-line tools, to create and manage your Ably realtime infrastructure. Details of the API can be found in the [Control API Reference](/docs/api/control-api).
+Access your [account dashboard](https://ably.com/accounts/any) to view the apps and resources you can manage with the Control API.
+
Using the Control API you can automate the provisioning, management, and testing of your Ably realtime infrastructure. You can dynamically create Ably apps, configure them, and delete them if necessary. You can implement multi-tenancy solutions for your customers, and create configuration-driven environments that can easily be replicated under programmatic control. Once these environments are created you can also test them using Control API.
With the Control API you can create and manage:
-* Your Ably apps
-* API keys for an Ably app
-* [Account and app statistics](/docs/metadata-stats/stats)
-* [Namespaces](/docs/channels#namespaces) (for channel rules)
-* [Queues](/docs/platform/integrations/queues)
-* [Integration rules](/docs/platform/integrations)
+* Your Ably apps.
+* API keys for an Ably app.
+* [Account and app statistics](/docs/metadata-stats/stats).
+* [Namespaces](/docs/channels#namespaces) (for channel rules).
+* [Queues](/docs/platform/integrations/queues).
+* [Integration rules](/docs/platform/integrations).
Repetitive operations such as creating, updating or deleting Ably apps, enumerating queues, creation of rules, and other tasks that would be time-consuming to carry out manually, can be automated using the Control API.
@@ -46,13 +48,12 @@ Using the code-generation capabilities of tools such as [Postman](https://www.po
Before you can use the Control API you must create an access token to authenticate with. You can do this in the Ably dashboard.
-In the [Ably dashboard](https://ably.com/accounts/any), on the top menu bar, select your account from the dropdown list and then select **My Access Tokens** from the menu:
-
-
+In the [Ably dashboard](https://ably.com/accounts/any), select **Personal access tokens** from the user profile dropdown:
You are presented with the **My Access Tokens** area, where you can create tokens for use with the Control API:
-
+
+
### Creating an access token
@@ -126,13 +127,11 @@ Operations that affect your entire account, such as [listing the apps](/docs/api
### How to find your account ID
-In the [Ably dashboard](https://ably.com/accounts/any), on the top menu bar, select your account from the dropdown list and then select **Account settings**:
-
-
+In the [Ably dashboard](https://ably.com/accounts/any), navigate to the **Settings** section in the sidebar.
Your account settings are displayed. From here you can obtain your Ably account ID, as shown in the following screenshot:
-
+
You'll need your account ID for account-level Control API requests, such as listing all the apps in your Ably account.
@@ -210,12 +209,12 @@ Sample response, with `entries` trimmed for readability:
You can use the Control API to perform tasks such as listing and creating Ably apps. Operations available include:
-* Get a list of apps
-* Create an app
-* Update an app
-* Delete an app
-* Update an app's [APNs](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html) info
-* Retrieve app statistics
+* Get a list of apps.
+* Create an app.
+* Update an app.
+* Delete an app.
+* Update an app's [APNs](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html) info.
+* Retrieve app statistics.
#### Create an app
@@ -342,9 +341,9 @@ Sample response, with `entries` trimmed for readability:
You can use the Control API to manage [Ably queues](/docs/platform/integrations/queues). The main operations are:
-* List all Ably queues
-* Create a queue
-* Delete a queue
+* List all Ably queues.
+* Create a queue.
+* Delete a queue.
#### List queues
@@ -458,10 +457,10 @@ Sample response:
You can use the Control API to manage Ably API keys. The main operations are:
-* List all Ably API keys for an app
-* Create a key
-* Update a key
-* Revoke a key
+* List all Ably API keys for an app.
+* Create a key.
+* Update a key.
+* Revoke a key.
Control API enables you to create a key that has different [capabilities](/docs/auth/capabilities) for different channels.
@@ -615,11 +614,11 @@ In this case there is only a status code returned (200), or an error code.
You can use the Control API to manage Ably [integration rules](/docs/platform/integrations). The main operations are:
-* List all rules for an app
-* List details of a specific rule using rule ID
-* Create a rule
-* Update a rule
-* Delete a rule
+* List all rules for an app.
+* List details of a specific rule using rule ID.
+* Create a rule.
+* Update a rule.
+* Delete a rule.
#### List rules
diff --git a/src/pages/docs/platform/account/enterprise-customization.mdx b/src/pages/docs/platform/account/enterprise-customization.mdx
index 92197df19d..1bd2c32b57 100644
--- a/src/pages/docs/platform/account/enterprise-customization.mdx
+++ b/src/pages/docs/platform/account/enterprise-customization.mdx
@@ -9,10 +9,10 @@ redirect_from:
If you're an [Ably Enterprise](https://ably.com/pricing) customer, then you can optionally create a **custom endpoint** to tailor the Ably platform to your specific requirements. A custom endpoint enables you to benefit from the following:
-* **Active traffic management**: Let Ably actively monitor not only the global cluster health but also your own domains and proactively take steps to isolate or move traffic to ensure business continuity.
-* **Dedicated, isolated clusters**: Rely upon guaranteed capacity and isolation from noisy neighbors.
-* **Regional routing of traffic**: Require that all traffic is routed and serviced within specific regions.
-* **Regional message storage**: Require that all messages are stored within a specific region.
+* **Active traffic management** - Let Ably actively monitor not only the global cluster health but also your own domains and proactively take steps to isolate or move traffic to ensure business continuity.
+* **Dedicated, isolated clusters** - Rely upon guaranteed capacity and isolation from noisy neighbors.
+* **Regional routing of traffic** - Require that all traffic is routed and serviced within specific regions.
+* **Regional message storage** - Require that all messages are stored within a specific region.
A custom endpoint provides you with an option to service Ably platform requests. These can be either subdomains of `ably.net`, or point at your own custom CNAME domain. If you choose the latter option, Ably can also customize our client library SDKs to use your chosen domain and make them available via our CDN as `cdn.ably.com/lib/yourcompany.min.js`.
@@ -38,9 +38,9 @@ We provide you with a custom endpoint for your cluster, for example: `yourcompan
Please note the following:
-* Ably only supports Amazon EC2 environments (within Virtual Private Networks)
-* Ably is responsible for pro-actively managing and updating dedicated clusters
-* Dedicated clusters can run in one or more regions of your choice
+* Ably only supports Amazon EC2 environments (within Virtual Private Networks).
+* Ably is responsible for pro-actively managing and updating dedicated clusters.
+* Dedicated clusters can run in one or more regions of your choice.
If you would like to find out more about our dedicated cluster offering, please [get in touch](https://ably.com/contact).
@@ -65,7 +65,7 @@ This approach does not apply regional restrictions when you are using a persiste
To use a custom endpoint, perform the following steps:
-### Decide whether to use an Ably subdomain, or your own domain
+### Decide whether to use an Ably subdomain, or your own domain
Ably client libraries connect to the `main.realtime.ably.net` domain by default. This domain is used by both WebSocket and other realtime connections from the Ably client libraries, as well as all REST-based requests. It is optimized for all standard HTTP-based request types, including all [REST requests](/docs/api/rest-api), [authentication requests](/docs/auth), and Comet and JSONP fallback when WebSockets cannot be used.
@@ -99,7 +99,7 @@ In addition, Ably handle all certificate renewals, rolling out to our global end
When using your own custom domain, Ably provide these DNS records for you to CNAME to. Although it is recommended that you implement a similar architecture by using CNAMEs under two different domains (for example, `ably.example.com` for your primary traffic and `ably.fallback-example.com` for your fallback traffic, with the latter hosted with a different registrar and using different name servers to the first), this is not mandatory. Therefore, the decision as to whether you need that extra level of redundancy within your own DNS system is yours.
-### Request a custom endpoint
+### Request a custom endpoint
To enable a custom endpoint for your enterprise, speak to your customer success manager. They will create the custom endpoint for you and provide you with a `ClientOptions` object, containing the following options for the `endpoint` property:
@@ -107,7 +107,7 @@ To enable a custom endpoint for your enterprise, speak to your customer success
* `endpoint=main` routes to `main.realtime.ably.net`
* `endpoint=example-eu` routes to `example-eu.realtime.ably.net`
-### Test the custom endpoint
+### Test the custom endpoint
Test your custom endpoint by visiting it. The URL for your endpoint will depend on whether you have opted to use an Ably subdomain or a custom CNAME domain.
@@ -153,7 +153,7 @@ You should then test that all client SDKs can connect, publish, and receive mess
Where possible, you should also inspect your network traffic to verify that the client SDKs are calling the endpoints for your custom endpoint. Instead of connections to `realtime.ably.net` you should see connections to `[ENDPOINT].realtime.ably.net`, or your own custom CNAME domain.
-### Roll out your changes
+### Roll out your changes
Once all your client library SDKs are using the new endpoint and traffic is arriving at the correct endpoints, the team at Ably will be able to actively reroute your traffic based on your endpoint settings.
diff --git a/src/pages/docs/platform/account/index.mdx b/src/pages/docs/platform/account/index.mdx
index 98b7715222..6635bf7b05 100644
--- a/src/pages/docs/platform/account/index.mdx
+++ b/src/pages/docs/platform/account/index.mdx
@@ -6,66 +6,50 @@ redirect_from:
- /docs/account
---
-Manage all aspects of your account, from Two-factor authentication ([2FA](/docs/platform/account/2fa)) and billing to user management and personal preferences.
+Access your [account](https://ably.com/login) dashboard to manage organizations, apps, team members, billing, usage monitoring, and reports.
-Begin by [logging](https://ably.com/login) in to Ably through your browser. Once you're logged in, you have access to the Ably dashboard, where you can click on the Account navigation dropdown to access the account settings:
+
-
+## Organization and account selection
-### Settings
+Ably uses a hierarchical structure: Organizations contain Accounts, and Accounts contain Apps. You can switch between organizations using the dropdown, or access standalone accounts that aren't part of an organization. Each account displays its associated pricing plan (Free, Enterprise, etc.) to help you understand the current context and available features.
-Manage your Ably account settings, including authentication, [billing](/docs/platform/pricing/billing), and account ownership:
+## Account listing
-* Use your account's unique identifier (Account ID) when contacting support.
-* Account owners can require all users to set up two-factor authentication (2FA) for added security.
-* Account owners and users with the billing role can update billing and package details. They are the only users who can modify these settings or transfer account ownership.
-* Transfer ownership or cancel the account, contact [Ably support.](https://ably.com/support)
+The accounts dropdown displays all available accounts within your selected organization, showing the **Account name** and current status, **Plan type** (Free, Enterprise), and a **View all accounts** option when you have multiple accounts.
-### Billing
+## Dashboard tools
-Manage your [billing](/docs/platform/pricing/billing) and package settings to scale your services:
+The dashboard header provides quick access to helpful tools including **Ask AI** for assistance with Ably features and troubleshooting, **Feedback** for reporting issues, **Help** for documentation and support resources, and **CLI** for programmatic testing and dashboard functionality.
-* Review your current package to assess if it fits your needs, whether free, pay-as-you-go, or committed use.
-* Ensure your billing information is up to date, including company name, billing email (optional), address, international phone number, and timezone.
-* View and manage invoices and payment methods once your account has been upgraded.
+## User profile menu
-### Limits
+The user profile dropdown provides access to **Profile settings** for managing personal information and security, **Personal access tokens** for API authentication, **Sidebar behavior** customization, and secure **Logout** functionality.
-Understand and manage your package [limits](/docs/platform/pricing/limits) by tracking usage across messages, data, connections, and channels:
+## Apps
-* Limits are applied to prevent service disruption and vary by package.
-* Limits can be time-based, quantity-based, or rate-based, and they may apply either per connection/channel or across the entire account.
-* Notifications are provided when limits are nearing or exceeded, and detailed logs of warnings and exceeded limits are accessible in the account dashboard.
+The Apps section displays cards for each of your applications, showing key metrics like message counts, connection statistics, and 24-hour activity charts. Each app card provides quick access to detailed dashboards and settings. You can create a new app using the **Create New App** button.
-### Usage
+## Team
-Monitor your account's resource consumption with detailed usage statistics:
+The Team section allows you to manage team members and their roles within your account. View team member details including names and email addresses, assign multiple roles (Admin, Developer, Billing) per user, invite new users or remove existing ones, and monitor two-factor authentication status for enhanced security.
-* The usage statistics table monitors app performance by tracking resource usage, such as messages, data transferred, connections, and channels.
-* The statistics chart visualizes app usage data over time, allowing users to define specific time ranges, zoom in on different periods, and analyze metrics in detail.
-### Users
+## Usage
-Manage the [users](/docs/platform/account/users) associated with your account:
+Monitor your account's resource consumption with detailed usage statistics:
-* The account owner role has full permissions to manage the account, including inviting and removing users, and assigning roles like developer, billing, or admin.
-* Multiple roles can be assigned to a single user.
-* Remove, or change user roles within an Ably account.
+* The usage statistics table monitors app performance by tracking resource usage, such as messages, data transferred, connections, and channels.
+* The statistics chart visualizes app usage data over time, allowing users to define specific time ranges, zoom in on different periods, and analyze metrics in detail.
-### My Settings
+
-Control personal account settings:
+
-* View and edit name, email, and password.
-* Enable two-factor authentication (2FA) for added security.
-* Connect and manage login providers (Google, GitHub).
-* Customize Ably email preferences (product updates, news, educational emails)
-* Set up notifications for account usage.
+## Limits
-### My Access tokens
+Your account has [limits](/docs/platform/pricing/limits) based on your pricing package. The dashboard displays your current usage across messages, data, connections, and channels, with notifications when you're approaching limits.
-Create access tokens for the [Control API:](/docs/platform/account/control-api)
+## Reports
-* Users can create new tokens by providing a descriptive name, assigning an account, selecting capabilities, and securely storing the token once generated.
-* Users can revoke existing tokens through the settings section, but this action is irreversible and will immediately invalidate the token for API access.
-* After a token is created, the full token cannot be viewed again, so it must be securely stored upon generation.
+Access powerful reporting tools to analyze your account's realtime activity and consumption patterns. The **Global usage** report provides a consolidated view showing growth trends and traffic breakdowns, while **Global usage by app** offers the same insights with app-level detail.
diff --git a/src/pages/docs/platform/account/organizations.mdx b/src/pages/docs/platform/account/organizations.mdx
index 18691f1446..e919471d6b 100644
--- a/src/pages/docs/platform/account/organizations.mdx
+++ b/src/pages/docs/platform/account/organizations.mdx
@@ -8,6 +8,10 @@ redirect_from:
Use organizations to manage multiple Ably accounts by centralizing user access and roles under a single organizational structure. Organizations streamline user provisioning through [Single Sign-On (SSO)](/docs/platform/account/sso) configuration and utilize SCIM System for Cross-domain Identity Management for group-based access control.
+Access your [organization settings](https://ably.com/accounts/any/organization) to manage your organization configuration and user access.
+
+
+
Organizations enable the [primary](#primary) account to assign and adjust the roles of users and groups across all accounts.
You can separate accounts within an organization to create isolated environments, such as production, staging, and development. Assign each environment a [package](/docs/pricing#packages) that meets its specific needs. For example, production may need high capacity with an **Enterprise** package, staging might use a **Standard** package, and development a **Free** package.
@@ -21,17 +25,17 @@ An [Enterprise](/docs/platform/pricing/enterprise) account is required to use or
The primary account is an organization's main account and holds the following privileges:
* The highest level of access to the organization.
-* Ownership of all all accounts within the organization.
+* Ownership of all accounts within the organization.
* The default account used for provisioning.
## Create accounts in an organization
Create accounts in an organization:
-* Open the **Account** navigation dropdown.
- * Click **Organization Accounts.**
- * Click **New account**.
- * Add an account name and **Create account**.
+1. Open the **Account** navigation dropdown.
+2. Click **Organization Accounts**.
+3. Click **New account**.
+4. Add an account name and **Create account**.
## Provision users via SCIM
@@ -45,22 +49,21 @@ Ably only recognizes one registered email domain per organization, unrecognized
Users provisioned through SCIM cannot modify their name or email address within Ably. All personal information updates must be made through your identity provider, and changes will sync to Ably on the next SCIM update cycle.
-The following steps outline the process for provisioning users through SCIM:
+Provision users through SCIM:
-* Configure [SSO](/docs/platform/account/sso) by enabling and setting up SSO between Ably and your identity provider.
-
-* Copy Ably SCIM configuration values:
- * Open the **Account** navigation dropdown in the Ably dashboard.
- * Select **Organization Settings** from the menu.
- * Navigate to the **Users & Groups Provisioning (SCIM)** section and copy:
- * **Service Provider Configuration Endpoint.**
- * **SCIM Username.**
- * **SCIM Password.**
-* In your identity providers provisioning app, paste the following values from Ably:
- * **Service Provider Configuration Endpoint.**
- * **SCIM Username.**
- * **SCIM Password.**
-* Ensure that any additional setup required by your identity provider is completed to finalize the SCIM configuration.
+1. Configure [SSO](/docs/platform/account/sso) by enabling and setting up SSO between Ably and your identity provider.
+2. Copy Ably SCIM configuration values:
+ 1. Open the **Account** navigation dropdown in the Ably dashboard.
+ 2. Select **Organization Settings** from the menu.
+ 3. Navigate to the **Users & Groups Provisioning (SCIM)** section and copy:
+ * **Service Provider Configuration Endpoint**.
+ * **SCIM Username**.
+ * **SCIM Password**.
+3. In your identity providers provisioning app, paste the following values from Ably:
+ * **Service Provider Configuration Endpoint**.
+ * **SCIM Username**.
+ * **SCIM Password**.
+4. Ensure that any additional setup required by your identity provider is completed to finalize the SCIM configuration.
## Manage roles
@@ -71,12 +74,13 @@ Manage user and group [roles](/docs/platform/account/users#roles) across account
When organizations and your identity provider are configured, the groups you create in the identity provider are synchronized with Ably. This allows you to manage group-based access centrally. Assign roles to these groups and all users in a group will inherit those roles.
-To manage group roles in Ably:
-* Open the **Account** navigation dropdown.
- * Click **Organization Users**.
- * Under **Ably Realtime identity provider groups**, click **Manage account access**.
- * Select the group whose access you want to manage.
- * Specify the required **Roles** for the group -- and all users in this group inherit these roles automatically.
+Manage group roles in Ably:
+
+1. Open the **Account** navigation dropdown.
+2. Click **Organization Users**.
+3. Under **Ably Realtime identity provider groups**, click **Manage account access**.
+4. Select the group whose access you want to manage.
+5. Specify the required **Roles** for the group -- and all users in this group inherit these roles automatically.