Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
53cc3f6
Updates acc overview page
franrob-projects Dec 29, 2025
5d43cb1
Updates sso page
franrob-projects Dec 29, 2025
37021d5
Updates 2fa page
franrob-projects Dec 29, 2025
cf32c91
Updates table on enterprise customization page
franrob-projects Dec 29, 2025
2d0516f
Updates Programmatic management with Control API page
franrob-projects Dec 29, 2025
c6c7b8d
Updates App management overview page
franrob-projects Dec 29, 2025
590363f
Updates App management overview page (part 2)
franrob-projects Dec 29, 2025
2e6f0fd
Adds new folder and files for products
franrob-projects Dec 29, 2025
601f134
Adds product > pub/sub page
franrob-projects Dec 29, 2025
3b0e04f
Updates dev console to web client page
franrob-projects Dec 29, 2025
f291a50
Adds product > push page
franrob-projects Dec 29, 2025
ee4d315
Adds product > chat page
franrob-projects Dec 29, 2025
56b3413
Adds product > spaces page
franrob-projects Dec 29, 2025
d9094f6
Adds product > liveobjects page
franrob-projects Dec 29, 2025
d14e2c3
Adds product > livesync page
franrob-projects Dec 29, 2025
dbd1562
Adds new pages for monitoring and config in nav
franrob-projects Dec 29, 2025
f557d28
Updates queues page
franrob-projects Dec 29, 2025
5314c75
Updates connections page
franrob-projects Dec 29, 2025
f249d26
Adds logs page
franrob-projects Dec 29, 2025
e91f95b
Adds reports page
franrob-projects Dec 29, 2025
1931df6
Adds integrations page
franrob-projects Dec 29, 2025
7150824
Adds api-keys page
franrob-projects Dec 29, 2025
f1b2c82
Adds deletes old page
franrob-projects Dec 29, 2025
5e78ffc
Adds settings page
franrob-projects Dec 29, 2025
e82a276
Deletes uneeded files
franrob-projects Dec 29, 2025
5acee8f
Adds title ids
franrob-projects Dec 29, 2025
c6b5ae7
Fixes links
franrob-projects Dec 30, 2025
1abe95a
Resolve merge conflicts between FTF-444-new-dashboard-docs and main
franrob-projects Jan 9, 2026
e9bc78e
Feedback
franrob-projects Jan 13, 2026
4a08300
fixup! Feedback
franrob-projects Jan 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 72 additions & 16 deletions src/data/nav/platform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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',
},
],
},
Expand Down
Binary file not shown.
Binary file not shown.
Binary file modified src/images/content/screenshots/dash/create-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/images/content/screenshots/dash/dash-tabs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/images/content/screenshots/dash/your-apps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/pages/docs/auth/token.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1122,7 +1122,7 @@ For security purposes, handle non-compliant clients by:
- Use the [token revocation API](/docs/auth/revocation) to immediately invalidate tokens.

<Aside data-type="important">
The `authorize()` method maintains the existing connection while updating permissions, making it ideal for real-time applications where connection continuity is important.
The `authorize()` method maintains the existing connection while updating permissions, making it ideal for realtime applications where connection continuity is important.
</Aside>

## When to use token auth <a id="when"/>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/channels/options/encryption.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/metadata-stats/metadata/subscribe.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ The `data` property of all events is a [`ChannelDetails`](/docs/api/realtime-sdk

### Regional channel activity <a id="regional-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.

Expand Down
12 changes: 8 additions & 4 deletions src/pages/docs/platform/account/2fa.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

![Two-factor authentication settings showing security configuration options](../../../../images/content/screenshots/dash/2fa-settings-placeholder.png)

## Enable 2FA <a id="enable"/>

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**.
Expand All @@ -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.

Expand All @@ -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.

Expand All @@ -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.
67 changes: 0 additions & 67 deletions src/pages/docs/platform/account/app/api.mdx

This file was deleted.

75 changes: 75 additions & 0 deletions src/pages/docs/platform/account/app/client.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Web client
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can just change the page title rather than the URL for this one for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you mean here sorry 🤔

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.

![Web client console interface](../../../../../images/content/screenshots/developer-console-rest-api.png)

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 <a id="application-events"/>

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 <a id="message-auditing"/>

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:[email protected]) to discuss requirements.

## Channels <a id="channels"/>

The following is a step-by-step instructions for connecting to a channel, publishing messages.

### Connect to a channel <a id="connect-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 <a id="publish-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 <a id="control-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.
47 changes: 47 additions & 0 deletions src/pages/docs/platform/account/app/configuration/api-keys.mdx
Original file line number Diff line number Diff line change
@@ -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.

![API Keys dashboard interface](../../../../../images/content/screenshots/ids-keys/api-keys.png)

<Aside data-type='note'>
Before setting up multiple API keys with different permissions or sharing API keys with untrusted parties, consider using [token authentication](/docs/auth/token) instead. Token authentication provides more flexible access control and better security for client-side applications.
</Aside>

## Create a new API key <a id="create"/>

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 <a id="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 <a id="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.

<Aside data-type='important'>
A single API key cannot support complex permission combinations, such as publish access on one channel and subscribe access on another. For such requirements, use [token authentication](/docs/auth/token) instead.
</Aside>

### Revocable tokens <a id="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 <a id="change-settings"/>

Click **Settings** on the required API key to change its settings. The same settings apply as when creating a new API key.
Loading