diff --git a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-sse-streaming-api.md b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-sse-streaming-api.md
index b404e47126..5f9a58b47f 100644
--- a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-sse-streaming-api.md
+++ b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-sse-streaming-api.md
@@ -110,31 +110,50 @@ Follow the instructions below to create the API using the basic flow.
### Step 2 - Configure the Topics
-Topics of an SSE API are always **Subscribe only**, where the flow of events will be from the server (backend) to the client. By default, an SSE API will have a topic with the name `/*`.
+Topics of a SSE API are always **Receive only**, where the flow of events will be from the server (backend) to the client.
1. Click **Topics** under **API Configurations** to navigate to the **Topics** page.
-2. Modify the topics as follows and click **Save** to update them.
+2. By default, the newly created SSE API will have a topic with the name `/*`.
- 1. Optionally, click delete, as shown below, to delete an existing topic.
+
-
+3. This default channel `/*` will have a default operation `receive_/*`.
- 2. Select **sub** under **Types**, enter the **Topic Name**, and click **+** as shown below, to add a new topic.
+
-
+4. Modify the topics as follows and click **Save** to update them.
- The newly added topic is displayed as follows.
+ 1. Optionally, click delete as shown below, to delete an existing topic or an operation.
-
+
+
+ 2. Select **receive** under **Types**, enter the **Address** of the channel to be created, enter the **Operation Name** to be added to the selected channel, and click **+** as shown below, to add a new topic.
+
+
+
+ The newly added topic is displayed as follows. Expand the topic to view the newly added operation.
+
+
+
+ 3. You can also add a new operation to an existing topic by selecting the respective channel address from the dropdown.
+
+
+
+ Expand the topic to view the newly added operation.
+
+
### Step 3 - View the AsyncAPI Definition
Click **AsyncAPI Definition** under **API Configurations**.
+!!! note
+ The API definition will be generated in AsyncAPI V3.0.0.
+
The AsyncAPI definition of the streaming API, which you just created, appears.
-
+
### Step 4 - Configure the Runtime Configurations
diff --git a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-streaming-api-from-an-asyncapi-definition.md b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-streaming-api-from-an-asyncapi-definition.md
index e36286e88d..660f48b05c 100644
--- a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-streaming-api-from-an-asyncapi-definition.md
+++ b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-streaming-api-from-an-asyncapi-definition.md
@@ -33,13 +33,13 @@ Follow the instructions below to create a Streaming API using an AsyncAPI defini
Note
-AsyncAPI import now supports both AsyncAPI v2 and AsyncAPI v3 definitions.
+AsyncAPI import now supports both AsyncAPI v2.x and AsyncAPI v3.0 definitions.
@@ -71,10 +71,14 @@ Follow the instructions below to create a Streaming API using an AsyncAPI defini
Click **Topics** to navigate to the topics page.
-[]({{base_path}}/assets/attachments/103332601/asyncv3-topics-page.png)
+[]({{base_path}}/assets/img/design/create-api/streaming-api/asyncv3-topics.png)
You will notice that the topics have been created automatically from the AsyncAPI definition specified in the provided URL.
+[]({{base_path}}/assets/img/design/create-api/streaming-api/asyncv3-operations.png)
+
+Expand each topic to view the operations which are automatically created for each channel, as defined in the specification.
+
## Step 3 - View the AsyncAPI Definition
Click **AsyncAPI Definition** under **API Configurations**.
@@ -83,7 +87,9 @@ The AsyncAPI definition of the streaming API, which you just created, appears.
-Now, you have successfully created a Streaming API from an Async API Definition.
+Now, you have successfully created a Streaming API from an Async API Definition.
+
+If you have created the streaming API using an AsyncAPI v2.x definition, see [AsyncAPI v2.x for APIM 4.6.0](https://apim.docs.wso2.com/en/latest/api-design-manage/design/create-api/create-streaming-api/create-a-streaming-api-from-an-asyncapi-definition/).
Next, publish the API, for more information, see [Publish an API]({{base_path}}/deploy-and-publish/publish-on-dev-portal/publish-an-api).
diff --git a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websocket-streaming-api.md b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websocket-streaming-api.md
index 47cb623d4f..cc9b790a55 100644
--- a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websocket-streaming-api.md
+++ b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websocket-streaming-api.md
@@ -129,44 +129,66 @@ Follow the instructions below to create a WebSocket API using the basic flow:
### Step 2 - Configure the Topics
-Topics of a WebSocket API are always **Subscribe (sub) and Publish (pub)**, where the flow of events can be either from the server (backend) to the clients or from the client to the server. By default, the WebSocket API will have a topic with the name `/*`.
+Topics of a WebSocket API represents the channels which support actions **Receive and Send**, where the flow of events can be either from the server (backend) to the clients or from the client to the server.
1. Click **Topics** under **API Configurations** and navigate to the **Topics** page.
+
+2. By default, the newly created WebSocket API will have a topic with the name `/*`.
-2. Modify the topics as follows and click **Save** to update them.
+
- 1. Optionally, click delete as shown below, to delete an existing topic.
+3. This default channel `/*` will have two default operations `send_/*` and `receive_/*` and are listed inside the respective action of the channel.
-
+
- 2. Select the **Types**, enter the **Topic Name**, and click **+** as shown below, to add a new topic.
+4. Modify the topics as follows and click **Save** to update them.
- | Topic Name | /notifications |
+
- The newly added topic is displayed as follows.
+ 2. Select a **Type**, enter the **Address** of the channel to be created, enter the **Operation Name** to be added to the selected channel, and click **+** as shown below, to add a new topic.
-
+ | Channel Address | /notifications |
| Operation Name | sendNotifications |
+
+ The newly added topic is displayed as follows. Expand the topic to view the newly added operation.
+
+
+
+ 3. You can also add a new operation to an existing topic by selecting the respective channel address from the dropdown.
+
+
+
+ Expand the topic to view the newly added operation.
+
+
+
+ 4. Optionally, provide a URL Mapping to the topic.
The provided URL Mapping will be appended to the WebSocket endpoint URL that you provided when creating the API, and the traffic via this topic will be sent to the resulting URL.
- Expand **both** PUB and SUB under the created topic, provide the same URL Mapping for both and click **Save**.
+ Expand **both** SEND and RECEIVE under the created topic, provide the same URL Mapping for both and click **Save**.
| Description | Chat room notifications |
| URL Mapping | /notifications |
+
### Step 3 - View the AsyncAPI Definition
Click **AsyncAPI Definition** under **API Configurations**.
+!!! note
+ The API definition will be generated in AsyncAPI V3.0.0.
+
The AsyncAPI definition of the streaming API, which you just created, appears.
-
+
### Step 4 - Configure the Runtime Configurations
diff --git a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websub-streaming-api.md b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websub-streaming-api.md
index e8c599ce5d..4f1631c90f 100644
--- a/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websub-streaming-api.md
+++ b/en/docs/api-design-manage/design/create-api/create-streaming-api/create-a-websub-streaming-api.md
@@ -73,33 +73,52 @@ Follow the instructions below to create a WebHook API using the basic flow:
### Step 2 - Configure the Topics
-Topics of a WebSub/Webhook API are always **Subscribe only**. By default, a WebSub/Webhook API will have a topic with the name `_default`.
+Topics of a WebSub/Webhook API are always **Receive only**.
1. Click **Topics** under **API Configurations** to navigate to the **Topics** page.
-2. Modify the topics as follows and click **Save** to update them.
+2. By default, the newly created WebSub/Webhook API will have a topic with the name `_default`.
- 1. Optionally, click delete, as shown below, to delete an existing topic.
+
-
+3. This default channel `_default` will have a default operation `receive__edfault`.
- 2. Select **sub** under **Types**, enter the **Topic Name**, and click **+** as shown below, to add a new topic.
+
-
+4. Modify the topics as follows and click **Save** to update them.
- The newly added topic is displayed as follows.
+ 1. Optionally, click delete as shown below, to delete an existing topic or an operation.
-
+
+
+ 2. Select **receive** under **Types**, enter the **Address** of the channel to be created, enter the **Operation Name** to be added to the selected channel, and click **+** as shown below, to add a new topic.
+
+
+
+ The newly added topic is displayed as follows. Expand the topic to view the newly added operation.
+
+
Expand the created topic to view its **Callback URL**. You can use this when registering the topic with a WebHook provider (WebSub Provider).
+ 3. You can also add a new operation to an existing topic by selecting the respective channel address from the dropdown.
+
+
+
+ Expand the topic to view the newly added operation.
+
+
+
### Step 3 - View the AsyncAPI Definition
Click **AsyncAPI Definition** under **API Configurations**.
+!!! note
+ The API definition will be generated in AsyncAPI V3.0.0.
+
The AsyncAPI definition of the streaming API, which you just created, appears.
-
+
### Step 4 - Configure the Runtime Configurations
diff --git a/en/docs/api-developer-portal/invoke-apis/invoke-apis-using-tools/invoke-an-api-using-a-soap-client.md b/en/docs/api-developer-portal/invoke-apis/invoke-apis-using-tools/invoke-an-api-using-a-soap-client.md
index 93b0fe7071..073dade2f9 100644
--- a/en/docs/api-developer-portal/invoke-apis/invoke-apis-using-tools/invoke-an-api-using-a-soap-client.md
+++ b/en/docs/api-developer-portal/invoke-apis/invoke-apis-using-tools/invoke-an-api-using-a-soap-client.md
@@ -33,7 +33,7 @@ Let's invoke the `PhoneVerification` API using a SOAP client.
[]({{base_path}}/assets/attachments/103332601/soap-ui-project-wizard.png)
- 2. If your SOAP API is created from a single WSDL and in published state, you can go to the Developer Portal, navigate to your API, and copy the WSDL URL from the Overview page.
+ 2. If your SOAP API is created from a single WSDL and in published state, you can go to the Developer Portal, navigate to your API, and copy the WSDL URL from the Overview page. Please note that this generated WSDL URL will get expired in 15 minutes if the API has restricted visibility.
[]({{base_path}}/assets/attachments/103332601/wsdl-url.png)
diff --git a/en/docs/assets/img/design/create-api/streaming-api/asyncv3-operations.png b/en/docs/assets/img/design/create-api/streaming-api/asyncv3-operations.png
new file mode 100644
index 0000000000..8dcd165258
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/asyncv3-operations.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/asyncv3-topics.png b/en/docs/assets/img/design/create-api/streaming-api/asyncv3-topics.png
new file mode 100644
index 0000000000..a105c2aa9b
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/asyncv3-topics.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-add-operation.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-add-operation.png
new file mode 100644
index 0000000000..1aca9a7cf9
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-add-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-asyncapi.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-asyncapi.png
new file mode 100644
index 0000000000..02e2770442
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-asyncapi.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-create-new-topic.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-create-new-topic.png
new file mode 100644
index 0000000000..996d1a39e9
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-create-new-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-delete-default-topic.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-delete-default-topic.png
new file mode 100644
index 0000000000..5709366013
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-delete-default-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-new-operation.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-new-operation.png
new file mode 100644
index 0000000000..e9ffedf29a
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-new-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-newly-added-topic.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-newly-added-topic.png
new file mode 100644
index 0000000000..180079b291
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-newly-added-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-operation.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-operation.png
new file mode 100644
index 0000000000..4d6e4f0f0e
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-topics.png b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-topics.png
new file mode 100644
index 0000000000..aebac2c460
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/sse-api-v3-topics.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-channel.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-channel.png
new file mode 100644
index 0000000000..093892ce52
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-channel.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-operation.png
new file mode 100644
index 0000000000..5868a76fc3
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-add-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-asyncapi.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-asyncapi.png
new file mode 100644
index 0000000000..0c1369c9a5
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-asyncapi.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-delete-topic-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-delete-topic-operation.png
new file mode 100644
index 0000000000..e7de136b89
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-delete-topic-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-channel.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-channel.png
new file mode 100644
index 0000000000..29e85127f8
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-channel.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-operation.png
new file mode 100644
index 0000000000..4bbf082dc9
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-new-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-operation.png
new file mode 100644
index 0000000000..d26c006fec
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-topics.png b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-topics.png
new file mode 100644
index 0000000000..18ec8b41dd
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websocket-streaming-api-v3-topics.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-operation.png
new file mode 100644
index 0000000000..b9779774d5
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-topic.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-topic.png
new file mode 100644
index 0000000000..1043ab986a
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-add-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-asyncapi.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-asyncapi.png
new file mode 100644
index 0000000000..1069904d67
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-asyncapi.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-delete-topic.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-delete-topic.png
new file mode 100644
index 0000000000..9629e6ca75
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-delete-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-new-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-new-operation.png
new file mode 100644
index 0000000000..290c868af2
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-new-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-newly-added-topic.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-newly-added-topic.png
new file mode 100644
index 0000000000..7a7ee3ab7a
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-newly-added-topic.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-operation.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-operation.png
new file mode 100644
index 0000000000..2381838f20
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-operation.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-topics.png b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-topics.png
new file mode 100644
index 0000000000..06ea03b04e
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/websub-api-v3-topics.png differ
diff --git a/en/docs/assets/img/design/create-api/streaming-api/wesocket-streaming-api-v3-add-topic-url-mapping.png b/en/docs/assets/img/design/create-api/streaming-api/wesocket-streaming-api-v3-add-topic-url-mapping.png
new file mode 100644
index 0000000000..8c73af1afd
Binary files /dev/null and b/en/docs/assets/img/design/create-api/streaming-api/wesocket-streaming-api-v3-add-topic-url-mapping.png differ
diff --git a/en/docs/assets/img/tutorials/streaming-api/enable-secret-generation-v3.png b/en/docs/assets/img/tutorials/streaming-api/enable-secret-generation-v3.png
new file mode 100644
index 0000000000..a82a3fc09d
Binary files /dev/null and b/en/docs/assets/img/tutorials/streaming-api/enable-secret-generation-v3.png differ
diff --git a/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-add-topics.png b/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-add-topics.png
new file mode 100644
index 0000000000..cfa8a09d84
Binary files /dev/null and b/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-add-topics.png differ
diff --git a/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-topic-url-mapping.png b/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-topic-url-mapping.png
new file mode 100644
index 0000000000..038636f699
Binary files /dev/null and b/en/docs/assets/img/tutorials/streaming-api/websocket-api-v3-topic-url-mapping.png differ
diff --git a/en/docs/tutorials/streaming-api/create-and-publish-websocket-api.md b/en/docs/tutorials/streaming-api/create-and-publish-websocket-api.md
index 92a089ae55..980fe63472 100644
--- a/en/docs/tutorials/streaming-api/create-and-publish-websocket-api.md
+++ b/en/docs/tutorials/streaming-api/create-and-publish-websocket-api.md
@@ -84,14 +84,17 @@ This will demonstrate a simple command line based chat room which has two channe
2. Delete the existing default topic, which has the name `/*`.
- 3. Add the following topics one by one.
-
- Select **pub** and **sub** as the **Types**, enter the **Topic Name**, and click **+** to add each topic.
+ 3. Add the following operations one by one.
- - /notifications
- - /rooms/{roomID}
+ | Type | Channel Address | Operation |
|---|---|---|
| send | /notifications | sendNotifications |
| receive | /notifications | receiveNotifications |
| send | /rooms/{roomID} | sendMessages |
| receive | /rooms/{roomID} | receiveMessages |
+
4. Expand each topic, provide URL Mappings as follows, and click **Save**.
@@ -103,7 +106,7 @@ This will demonstrate a simple command line based chat room which has two channe
URL Mapping provided for a topic will be appended to the WebSocket endpoint URL, which was provided when creating the API, and the traffic via the topic will be sent to & received from the resulting URL.
- []({{base_path}}/assets/img/tutorials/streaming-api/websocket-api-topic-url-mapping.png)
+ []({{base_path}}/assets/img/tutorials/streaming-api/websocket-api-v3-topic-url-mapping.png)
6. Attach business plans to your WebSocket API.
diff --git a/en/docs/tutorials/streaming-api/create-and-publish-websub-api.md b/en/docs/tutorials/streaming-api/create-and-publish-websub-api.md
index 48fce479d8..6fec2937f1 100644
--- a/en/docs/tutorials/streaming-api/create-and-publish-websub-api.md
+++ b/en/docs/tutorials/streaming-api/create-and-publish-websub-api.md
@@ -61,13 +61,13 @@ The tutorial demonstrates a simple WebSub/WebHook API that monitors your GitHub
2. Click **Add Topic**, add a topic with the name **/issues**, click **Add**, and finally click **Save**.
- []({{base_path}}/assets/img/tutorials/streaming-api/websub-api-add-topic.png)
+ []({{base_path}}/assets/img/design/create-api/streaming-api/websub-api-v3-add-topic.png)
6. Generate a secret.
1. Expand the **Subscription Configuration** section in the **Topics** page.
- []({{base_path}}/assets/img/tutorials/streaming-api/enable-secret-generation.png)
+ []({{base_path}}/assets/img/tutorials/streaming-api/enable-secret-generation-v3.png)
2. Click **Enable** to enable secret generation.