This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 694e991d769 Fix master docs links to the regenerated OpenAPI 3 REST 
API specs
694e991d769 is described below

commit 694e991d7690b2d2c5e7f5f855facc5ff227c00b
Author: Lari Hotari <[email protected]>
AuthorDate: Sat Jun 13 03:59:36 2026 +0300

    Fix master docs links to the regenerated OpenAPI 3 REST API specs
    
    The OpenAPI 3 documents generated for master use bare method names as
    operationIds, deduplicated with _1/_2 suffixes, while the master docs
    still linked the old Swagger 2.0 style ClassName_method ids, failing
    the site build. Rewrite the swagger: links in docs/ to the new ids,
    resolving the dedup suffixes via the tag of the old resource class and
    the existing summary= disambiguation params (now unnecessary, since
    the new ids are unique). Versioned docs keep the old ids matching
    their Swagger 2.0 documents.
    
    Also emit Redoc 2.x deep-link anchors (#tag/<tag>/operation/<id>) for
    OpenAPI 3 documents in the swagger remark plugin; the Redoc 1.x viewer
    used for pre-5.0 versions keeps the #operation/<id> form.
---
 docs/admin-api-brokers.md                 | 12 ++--
 docs/admin-api-clusters.md                | 12 ++--
 docs/admin-api-functions.md               | 36 ++++++------
 docs/admin-api-namespaces.md              | 66 +++++++++++-----------
 docs/admin-api-packages.md                | 14 ++---
 docs/admin-api-permissions.md             |  6 +-
 docs/admin-api-schemas.md                 | 24 ++++----
 docs/admin-api-tenants.md                 | 10 ++--
 docs/admin-api-topics.md                  | 94 +++++++++++++++----------------
 docs/admin-api-transactions.md            | 22 ++++----
 docs/administration-geo.md                |  2 +-
 docs/administration-isolation-bookie.md   |  4 +-
 docs/administration-isolation-broker.md   |  2 +-
 docs/administration-upgrade.md            |  2 +-
 docs/administration-zk-bk.md              |  4 +-
 docs/cookbooks-retention-expiry.md        | 16 +++---
 docs/io-use.md                            | 52 ++++++++---------
 src/server/remarkPlugins/swagger/index.ts | 18 ++++--
 18 files changed, 202 insertions(+), 194 deletions(-)

diff --git a/docs/admin-api-brokers.md b/docs/admin-api-brokers.md
index 2d49ad0de83..b0ff391196c 100644
--- a/docs/admin-api-brokers.md
+++ b/docs/admin-api-brokers.md
@@ -45,7 +45,7 @@ localhost:8080
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_getActiveBrokers?summary=in+the+cluster)
+[](swagger:/admin/v2/getActiveBrokers_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -90,7 +90,7 @@ public/default/0x80000000_0xc0000000    
[broker_assignment=shared is_controlled=
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_getOwnedNamespaces)
+[](swagger:/admin/v2/getOwnedNamespaces)
 
 </TabItem>
 <TabItem value="Java">
@@ -144,7 +144,7 @@ resourceUsageTransportPublishIntervalInSecs
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_getDynamicConfigurationName)
+[](swagger:/admin/v2/getDynamicConfigurationName)
 
 </TabItem>
 <TabItem value="Java">
@@ -175,7 +175,7 @@ pulsar-admin brokers update-dynamic-config --config 
brokerShutdownTimeoutMs --va
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_updateDynamicConfiguration)
+[](swagger:/admin/v2/updateDynamicConfiguration)
 
 </TabItem>
 <TabItem value="Java">
@@ -211,7 +211,7 @@ brokerShutdownTimeoutMs    100
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_getAllDynamicConfigurations)
+[](swagger:/admin/v2/getAllDynamicConfigurations)
 
 </TabItem>
 <TabItem value="Java">
@@ -250,7 +250,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/BrokersBase_getLeaderBroker)
+[](swagger:/admin/v2/getLeaderBroker)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-clusters.md b/docs/admin-api-clusters.md
index 49bd70d4204..2b5712f2704 100644
--- a/docs/admin-api-clusters.md
+++ b/docs/admin-api-clusters.md
@@ -53,7 +53,7 @@ pulsar-admin clusters create cluster-1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_createCluster)
+[](swagger:/admin/v2/createCluster)
 
 </TabItem>
 <TabItem value="Java">
@@ -103,7 +103,7 @@ Output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_getCluster)
+[](swagger:/admin/v2/getCluster)
 
 </TabItem>
 <TabItem value="Java">
@@ -140,7 +140,7 @@ pulsar-admin clusters update cluster-1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_updateCluster)
+[](swagger:/admin/v2/updateCluster)
 
 </TabItem>
 <TabItem value="Java">
@@ -179,7 +179,7 @@ pulsar-admin update-peer-clusters cluster-1 --peer-clusters 
cluster-2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_setPeerClusterNames)
+[](swagger:/admin/v2/setPeerClusterNames)
 
 </TabItem>
 <TabItem value="Java">
@@ -218,7 +218,7 @@ cluster-2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_getClusters)
+[](swagger:/admin/v2/getClusters)
 
 </TabItem>
 <TabItem value="Java">
@@ -250,7 +250,7 @@ pulsar-admin clusters delete cluster-1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/ClustersBase_deleteCluster)
+[](swagger:/admin/v2/deleteCluster)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-functions.md b/docs/admin-api-functions.md
index 2c6742168bb..124c27b20b8 100644
--- a/docs/admin-api-functions.md
+++ b/docs/admin-api-functions.md
@@ -52,7 +52,7 @@ pulsar-admin functions create \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_registerFunction)
+[](swagger:/admin/v3/functions/registerFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -104,7 +104,7 @@ pulsar-admin functions update \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_updateFunction)
+[](swagger:/admin/v3/functions/updateFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -153,7 +153,7 @@ pulsar-admin functions start \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_startFunction?summary=an+instance)
+[](swagger:/admin/v3/functions/startFunction_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -191,7 +191,7 @@ pulsar-admin functions start \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_startFunction?summary=all)
+[](swagger:/admin/v3/functions/startFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -234,7 +234,7 @@ pulsar-admin functions stop \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_stopFunction?summary=an+instance)
+[](swagger:/admin/v3/functions/stopFunction_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -272,7 +272,7 @@ pulsar-admin functions stop \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_stopFunction?summary=all)
+[](swagger:/admin/v3/functions/stopFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -315,7 +315,7 @@ pulsar-admin functions restart \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_restartFunction?summary=an+instance)
+[](swagger:/admin/v3/functions/restartFunction_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -353,7 +353,7 @@ pulsar-admin functions restart \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_restartFunction?summary=all)
+[](swagger:/admin/v3/functions/restartFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -390,7 +390,7 @@ pulsar-admin functions list \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_listFunctions)
+[](swagger:/admin/v3/functions/listFunctions)
 
 </TabItem>
 <TabItem value="Java">
@@ -428,7 +428,7 @@ pulsar-admin functions delete \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_deregisterFunction)
+[](swagger:/admin/v3/functions/deregisterFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -466,7 +466,7 @@ pulsar-admin functions get \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionInfo)
+[](swagger:/admin/v3/functions/getFunctionInfo)
 
 </TabItem>
 <TabItem value="Java">
@@ -508,7 +508,7 @@ pulsar-admin functions status \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionInstanceStatus)
+[](swagger:/admin/v3/functions/getFunctionInstanceStatus)
 
 </TabItem>
 <TabItem value="Java">
@@ -546,7 +546,7 @@ pulsar-admin functions status \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionStatus)
+[](swagger:/admin/v3/functions/getFunctionStatus)
 
 </TabItem>
 <TabItem value="Java">
@@ -588,7 +588,7 @@ pulsar-admin functions stats \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionInstanceStats)
+[](swagger:/admin/v3/functions/getFunctionInstanceStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -626,7 +626,7 @@ pulsar-admin functions stats \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionStats)
+[](swagger:/admin/v3/functions/getFunctionStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -667,7 +667,7 @@ pulsar-admin functions trigger \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_triggerFunction)
+[](swagger:/admin/v3/functions/triggerFunction)
 
 </TabItem>
 <TabItem value="Java">
@@ -708,7 +708,7 @@ pulsar-admin functions putstate \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_putFunctionState)
+[](swagger:/admin/v3/functions/putFunctionState)
 
 </TabItem>
 <TabItem value="Java">
@@ -749,7 +749,7 @@ pulsar-admin functions querystate \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/functions/FunctionsBase_getFunctionState)
+[](swagger:/admin/v3/functions/getFunctionState)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-namespaces.md b/docs/admin-api-namespaces.md
index b806f9c91b6..45ad1fcdc5b 100644
--- a/docs/admin-api-namespaces.md
+++ b/docs/admin-api-namespaces.md
@@ -52,7 +52,7 @@ pulsar-admin namespaces create test-tenant/test-namespace
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_createNamespace)
+[](swagger:/admin/v2/createNamespace)
 
 </TabItem>
 <TabItem value="Java">
@@ -111,7 +111,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getPolicies)
+[](swagger:/admin/v2/getPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -151,7 +151,7 @@ test-tenant/namespace2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getTenantNamespaces)
+[](swagger:/admin/v2/getTenantNamespaces)
 
 </TabItem>
 <TabItem value="Java">
@@ -184,7 +184,7 @@ pulsar-admin namespaces delete test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_deleteNamespace)
+[](swagger:/admin/v2/deleteNamespace)
 
 </TabItem>
 <TabItem value="Java">
@@ -217,7 +217,7 @@ pulsar-admin namespaces set-clusters test-tenant/namespace1 
--clusters cl1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setNamespaceReplicationClusters)
+[](swagger:/admin/v2/setNamespaceReplicationClusters)
 
 </TabItem>
 <TabItem value="Java">
@@ -254,7 +254,7 @@ cluster2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getNamespaceReplicationClusters)
+[](swagger:/admin/v2/getNamespaceReplicationClusters)
 
 </TabItem>
 <TabItem value="Java">
@@ -298,7 +298,7 @@ pulsar-admin namespaces set-backlog-quota --limit 10G \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setBacklogQuota)
+[](swagger:/admin/v2/setBacklogQuota)
 
 </TabItem>
 <TabItem value="Java">
@@ -335,7 +335,7 @@ destination_storage    BacklogQuotaImpl(limit=10737418240, 
limitSize=10737418240
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getBacklogQuotaMap)
+[](swagger:/admin/v2/getBacklogQuotaMap)
 
 </TabItem>
 <TabItem value="Java">
@@ -366,7 +366,7 @@ pulsar-admin namespaces remove-backlog-quota 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeBacklogQuota)
+[](swagger:/admin/v2/removeBacklogQuota)
 
 </TabItem>
 <TabItem value="Java">
@@ -410,7 +410,7 @@ pulsar-admin namespaces set-persistence \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setPersistence)
+[](swagger:/admin/v2/setPersistence)
 
 </TabItem>
 <TabItem value="Java">
@@ -452,7 +452,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getPersistence)
+[](swagger:/admin/v2/getPersistence)
 
 </TabItem>
 <TabItem value="Java">
@@ -487,7 +487,7 @@ pulsar-admin namespaces unload --bundle 
0x00000000_0xffffffff --destinationBroke
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_unloadNamespaceBundle)
+[](swagger:/admin/v2/unloadNamespaceBundle)
 
 </TabItem>
 <TabItem value="Java">
@@ -518,7 +518,7 @@ pulsar-admin namespaces split-bundle --bundle 
0x00000000_0xffffffff test-tenant/
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_splitNamespaceBundle)
+[](swagger:/admin/v2/splitNamespaceBundle)
 
 </TabItem>
 <TabItem value="Java">
@@ -551,7 +551,7 @@ pulsar-admin namespaces set-message-ttl --messageTTL 100 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setNamespaceMessageTTL)
+[](swagger:/admin/v2/setNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
@@ -587,7 +587,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getNamespaceMessageTTL)
+[](swagger:/admin/v2/getNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
@@ -622,7 +622,7 @@ pulsar-admin namespaces remove-message-ttl 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeNamespaceMessageTTL)
+[](swagger:/admin/v2/removeNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
@@ -656,7 +656,7 @@ pulsar-admin namespaces clear-backlog --sub my-subscription 
test-tenant/namespac
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_clearNamespaceBacklogForSubscription)
+[](swagger:/admin/v2/clearNamespaceBacklogForSubscription)
 
 </TabItem>
 <TabItem value="Java">
@@ -690,7 +690,7 @@ pulsar-admin namespaces clear-backlog \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_clearNamespaceBundleBacklogForSubscription)
+[](swagger:/admin/v2/clearNamespaceBundleBacklogForSubscription)
 
 </TabItem>
 <TabItem value="Java">
@@ -725,7 +725,7 @@ pulsar-admin namespaces set-retention --size 100M --time 
10m test-tenant/namespa
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setRetention)
+[](swagger:/admin/v2/setRetention)
 
 </TabItem>
 <TabItem value="Java">
@@ -763,7 +763,7 @@ pulsar-admin namespaces get-retention test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getRetention)
+[](swagger:/admin/v2/getRetention)
 
 </TabItem>
 <TabItem value="Java">
@@ -808,7 +808,7 @@ pulsar-admin namespaces set-dispatch-rate 
test-tenant/namespace1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setDispatchRate)
+[](swagger:/admin/v2/setDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -850,7 +850,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getDispatchRate)
+[](swagger:/admin/v2/getDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -887,7 +887,7 @@ pulsar-admin namespaces set-subscription-dispatch-rate 
test-tenant/namespace1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setSubscriptionDispatchRate)
+[](swagger:/admin/v2/setSubscriptionDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -929,7 +929,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getSubscriptionDispatchRate)
+[](swagger:/admin/v2/getSubscriptionDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -965,7 +965,7 @@ pulsar-admin namespaces set-replicator-dispatch-rate 
test-tenant/namespace1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setDispatchRate)
+[](swagger:/admin/v2/setDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -1004,7 +1004,7 @@ pulsar-admin namespaces get-replicator-dispatch-rate 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getDispatchRate)
+[](swagger:/admin/v2/getDispatchRate)
 
 </TabItem>
 <TabItem value="Java">
@@ -1037,7 +1037,7 @@ pulsar-admin namespaces 
get-deduplication-snapshot-interval test-tenant/namespac
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/getDeduplicationSnapshotInterval)
 
 </TabItem>
 <TabItem value="Java">
@@ -1068,7 +1068,7 @@ pulsar-admin namespaces 
set-deduplication-snapshot-interval test-tenant/namespac
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/setDeduplicationSnapshotInterval)
 
 </TabItem>
 <TabItem value="Java">
@@ -1099,7 +1099,7 @@ pulsar-admin namespaces 
remove-deduplication-snapshot-interval test-tenant/names
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/setDeduplicationSnapshotInterval)
 
 </TabItem>
 <TabItem value="Java">
@@ -1138,7 +1138,7 @@ pulsar-admin namespaces unload my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_unloadNamespace)
+[](swagger:/admin/v2/unloadNamespace)
 
 </TabItem>
 <TabItem value="Java">
@@ -1174,7 +1174,7 @@ pulsar-admin namespaces set-entry-filters \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setEntryFiltersPerTopic)
+[](swagger:/admin/v2/setEntryFiltersPerTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1205,7 +1205,7 @@ pulsar-admin namespaces get-entry-filters 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getEntryFiltersPerTopic)
+[](swagger:/admin/v2/getEntryFiltersPerTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1236,7 +1236,7 @@ pulsar-admin namespaces remove-entry-filters 
test-tenant/namespace1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeNamespaceEntryFilters)
+[](swagger:/admin/v2/removeNamespaceEntryFilters)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-packages.md b/docs/admin-api-packages.md
index 9b06b5b40c9..9c301bbe410 100644
--- a/docs/admin-api-packages.md
+++ b/docs/admin-api-packages.md
@@ -103,7 +103,7 @@ bin/pulsar-admin packages upload 
function://public/default/[email protected] --path p
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_upload)
+[](swagger:/admin/v3/packages/upload)
 
 </TabItem>
 <TabItem value="Java">
@@ -142,7 +142,7 @@ bin/pulsar-admin packages download 
function://public/default/[email protected] --path
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_download)
+[](swagger:/admin/v3/packages/download)
 
 </TabItem>
 <TabItem value="Java">
@@ -183,7 +183,7 @@ bin/pulsar-admin packages delete 
functions://public/default/[email protected]
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_delete)
+[](swagger:/admin/v3/packages/delete)
 
 </TabItem>
 <TabItem value="Java">
@@ -222,7 +222,7 @@ bin/pulsar-admin packages get-metadata 
function://public/default/test@v1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_getMeta)
+[](swagger:/admin/v3/packages/getMeta)
 
 </TabItem>
 <TabItem value="Java">
@@ -261,7 +261,7 @@ bin/pulsar-admin packages update-metadata 
function://public/default/[email protected]
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_updateMeta)
+[](swagger:/admin/v3/packages/updateMeta)
 
 </TabItem>
 <TabItem value="Java">
@@ -300,7 +300,7 @@ bin/pulsar-admin packages list-versions 
type://tenant/namespace/packageName
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_listPackageVersion)
+[](swagger:/admin/v3/packages/listPackageVersion)
 
 </TabItem>
 <TabItem value="Java">
@@ -340,7 +340,7 @@ bin/pulsar-admin packages list --type function 
public/default
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/packages/Packages_listPackages)
+[](swagger:/admin/v3/packages/listPackages)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-permissions.md b/docs/admin-api-permissions.md
index 989946f5100..84eb858b95f 100644
--- a/docs/admin-api-permissions.md
+++ b/docs/admin-api-permissions.md
@@ -89,7 +89,7 @@ Roles `my.1.role`, `my.2.role`, `my.foo.role`, `my.bar.role`, 
etc. **cannot** pr
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_grantPermissionOnNamespace)
+[](swagger:/admin/v2/grantPermissionOnNamespace)
 
 </TabItem>
 <TabItem value="Java">
@@ -128,7 +128,7 @@ my.role.*    [produce, consume]
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getPermissions)
+[](swagger:/admin/v2/getPermissions)
 
 </TabItem>
 <TabItem value="Java">
@@ -162,7 +162,7 @@ pulsar-admin namespaces revoke-permission 
test-tenant/namespace1 \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_revokePermissionsOnNamespace)
+[](swagger:/admin/v2/revokePermissionsOnNamespace)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-schemas.md b/docs/admin-api-schemas.md
index 519723f2c41..228ad086daa 100644
--- a/docs/admin-api-schemas.md
+++ b/docs/admin-api-schemas.md
@@ -55,7 +55,7 @@ The `schema-definition-file` is in JSON format.
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to the endpoint documented here: 
[](swagger:/admin/v2/SchemasResource_postSchema)
+Send a `POST` request to the endpoint documented here: 
[](swagger:/admin/v2/postSchema)
 
 Below is an example with CURL with a payload stored on the `schema.json` file, 
Pulsar broker running on `localhost` and the topic `my-tenant/my-ns/my-topic`:
 
@@ -155,7 +155,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/SchemasResource_getSchema?summary=!version)
+Send a `GET` request to this endpoint: [](swagger:/admin/v2/getSchema)
 
 Here is an example of a response, which is returned in JSON format.
 
@@ -208,7 +208,7 @@ pulsar-admin schemas get <topic-name> --version <version>
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to a schema endpoint: 
[](swagger:/admin/v2/SchemasResource_getSchema?summary=version)
+Send a `GET` request to a schema endpoint: [](swagger:/admin/v2/getSchema_1)
 
 Here is an example of a response, which is returned in JSON format.
 
@@ -288,7 +288,7 @@ pulsar-admin schemas delete <topic-name>
 </TabItem>
 <TabItem value="REST API">
 
-Send a `DELETE` request to a schema endpoint: 
[](swagger:/admin/v2/SchemasResource_deleteSchema)
+Send a `DELETE` request to a schema endpoint: 
[](swagger:/admin/v2/deleteSchema)
 
 Here is an example of a response returned in JSON format.
 
@@ -339,7 +339,7 @@ bin/pulsar-admin namespaces set-is-allow-auto-update-schema 
--enable tenant/name
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/Namespaces_setIsAllowAutoUpdateSchema)
+Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/setIsAllowAutoUpdateSchema)
 
 The post payload is in JSON format.
 
@@ -388,7 +388,7 @@ bin/pulsar-admin namespaces set-is-allow-auto-update-schema 
--disable tenant/nam
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/Namespaces_setIsAllowAutoUpdateSchema)
+Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/setIsAllowAutoUpdateSchema)
 
 The post payload is in JSON format.
 
@@ -435,7 +435,7 @@ bin/pulsar-admin namespaces set-schema-validation-enforce 
--enable tenant/namesp
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/Namespaces_setSchemaValidationEnforced)
+Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/setSchemaValidationEnforced)
 
 The post payload is in JSON format.
 
@@ -478,7 +478,7 @@ bin/pulsar-admin namespaces set-schema-validation-enforce 
--disable tenant/names
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/Namespaces_setSchemaValidationEnforced)
+Send a `POST` request to a namespace endpoint: 
[](swagger:/admin/v2/setSchemaValidationEnforced)
 
 The post payload is in JSON format.
 
@@ -529,7 +529,7 @@ pulsar-admin topicPolicies 
set-schema-compatibility-strategy <strategy> <topicNa
 </TabItem>
 <TabItem value="REST API">
 
-Send a `PUT` request to this endpoint: 
[](swagger:/admin/v2/PersistentTopics_setSchemaCompatibilityStrategy)
+Send a `PUT` request to this endpoint: 
[](swagger:/admin/v2/setSchemaCompatibilityStrategy_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -570,7 +570,7 @@ pulsar-admin namespaces set-schema-compatibility-strategy 
options
 </TabItem>
 <TabItem value="REST API">
 
-Send a `PUT` request to this endpoint: 
[](swagger:/admin/v2/Namespaces_setSchemaCompatibilityStrategy)
+Send a `PUT` request to this endpoint: 
[](swagger:/admin/v2/setSchemaCompatibilityStrategy)
 
 </TabItem>
 <TabItem value="Java">
@@ -617,7 +617,7 @@ pulsar-admin topicPolicies 
get-schema-compatibility-strategy <topicName>
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/PersistentTopics_getSchemaCompatibilityStrategy)
+Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/getSchemaCompatibilityStrategy_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -662,7 +662,7 @@ pulsar-admin namespaces get-schema-compatibility-strategy 
options
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/Namespaces_getSchemaCompatibilityStrategy)
+Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/getSchemaCompatibilityStrategy)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-tenants.md b/docs/admin-api-tenants.md
index 9d45cacbb98..7be6811223d 100644
--- a/docs/admin-api-tenants.md
+++ b/docs/admin-api-tenants.md
@@ -56,7 +56,7 @@ my-tenant-2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/TenantsBase_getTenants)
+[](swagger:/admin/v2/getTenants)
 
 </TabItem>
 <TabItem value="Java">
@@ -105,7 +105,7 @@ pulsar-admin tenants create my-tenant \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/TenantsBase_createTenant)
+[](swagger:/admin/v2/createTenant)
 
 </TabItem>
 <TabItem value="Java">
@@ -151,7 +151,7 @@ pulsar-admin tenants get my-tenant
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/TenantsBase_getTenantAdmin)
+[](swagger:/admin/v2/getTenantAdmin)
 
 </TabItem>
 <TabItem value="Java">
@@ -184,7 +184,7 @@ pulsar-admin tenants delete my-tenant
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/TenantsBase_deleteTenant)
+[](swagger:/admin/v2/deleteTenant)
 
 </TabItem>
 <TabItem value="Java">
@@ -219,7 +219,7 @@ pulsar-admin tenants update my-tenant \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/TenantsBase_updateTenant)
+[](swagger:/admin/v2/updateTenant)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-topics.md b/docs/admin-api-topics.md
index 3860158ddf4..3f7786129e1 100644
--- a/docs/admin-api-topics.md
+++ b/docs/admin-api-topics.md
@@ -47,7 +47,7 @@ Whether it is a persistent or non-persistent topic, you can 
obtain the topic res
 :::note
 
 In REST API, `:schema` stands for persistent or non-persistent. `:tenant`, 
`:namespace`, `:x` are variables, replace them with the real tenant, namespace, 
and `x` names when using them.
-Take [](swagger:/admin/v2/PersistentTopics_getList) as an example, to get the 
list of persistent topics in REST API, use 
`https://pulsar.apache.org/admin/v2/persistent/my-tenant/my-namespace`. To get 
the list of non-persistent topics in REST API, use 
`https://pulsar.apache.org/admin/v2/non-persistent/my-tenant/my-namespace`.
+Take [](swagger:/admin/v2/getList) as an example, to get the list of 
persistent topics in REST API, use 
`https://pulsar.apache.org/admin/v2/persistent/my-tenant/my-namespace`. To get 
the list of non-persistent topics in REST API, use 
`https://pulsar.apache.org/admin/v2/non-persistent/my-tenant/my-namespace`.
 
 :::
 
@@ -68,7 +68,7 @@ pulsar-admin topics list my-tenant/my-namespace
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getList)
+[](swagger:/admin/v2/getList_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -103,7 +103,7 @@ pulsar-admin topics grant-permission \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_grantPermissionsOnTopic)
+[](swagger:/admin/v2/grantPermissionsOnTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -143,7 +143,7 @@ application1    [consume, produce]
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getPermissionsOnTopic)
+[](swagger:/admin/v2/getPermissionsOnTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -177,7 +177,7 @@ pulsar-admin topics revoke-permission \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_revokePermissionsOnTopic)
+[](swagger:/admin/v2/revokePermissionsOnTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -210,7 +210,7 @@ pulsar-admin topics delete persistent://test-tenant/ns1/tp1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_deleteTopic)
+[](swagger:/admin/v2/deleteTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -242,7 +242,7 @@ pulsar-admin topics unload persistent://test-tenant/ns1/tp1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_unloadTopic)
+[](swagger:/admin/v2/unloadTopic_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -274,7 +274,7 @@ pulsar-admin topics truncate 
persistent://test-tenant/ns1/tp1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_truncateTopic)
+[](swagger:/admin/v2/truncateTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -404,7 +404,7 @@ pulsar-admin topics stats persistent://test-tenant/ns1/tp1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getStats)
+[](swagger:/admin/v2/getStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -500,7 +500,7 @@ pulsar-admin topics stats-internal 
persistent://test-tenant/ns1/tp1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getInternalStats)
+[](swagger:/admin/v2/getInternalStats_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -547,7 +547,7 @@ Event time: 0
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_peekNthMessage)
+[](swagger:/admin/v2/peekNthMessage)
 
 </TabItem>
 <TabItem value="Java">
@@ -582,7 +582,7 @@ pulsar-admin topics get-message-by-id \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getMessageById)
+[](swagger:/admin/v2/getMessageById)
 
 </TabItem>
 <TabItem value="Java">
@@ -617,7 +617,7 @@ pulsar-admin topics examine-messages \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_examineMessage)
+[](swagger:/admin/v2/examineMessage)
 
 </TabItem>
 <TabItem value="Java">
@@ -651,7 +651,7 @@ pulsar-admin topics get-message-id \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getMessageIdByTimestamp)
+[](swagger:/admin/v2/getMessageIdByTimestamp)
 
 </TabItem>
 <TabItem value="Java">
@@ -687,7 +687,7 @@ pulsar-admin topics skip \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_skipMessages)
+[](swagger:/admin/v2/skipMessages)
 
 </TabItem>
 <TabItem value="Java">
@@ -723,7 +723,7 @@ pulsar-admin topics clear-backlog \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_skipAllMessages)
+[](swagger:/admin/v2/skipAllMessages)
 
 </TabItem>
 <TabItem value="Java">
@@ -758,7 +758,7 @@ pulsar-admin topics reset-cursor \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_resetCursor)
+[](swagger:/admin/v2/resetCursor)
 
 </TabItem>
 <TabItem value="Java">
@@ -800,7 +800,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/lookup/TopicLookup_lookupTopicAsync)
+[](swagger:/admin/v2/lookup/lookupTopicAsync)
 
 </TabItem>
 <TabItem value="Java">
@@ -887,7 +887,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/lookup/TopicLookup_getNamespaceBundle)
+[](swagger:/admin/v2/lookup/getNamespaceBundle)
 
 </TabItem>
 <TabItem value="Java">
@@ -925,7 +925,7 @@ my-subscription
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getSubscriptions)
+[](swagger:/admin/v2/getSubscriptions)
 
 </TabItem>
 <TabItem value="Java">
@@ -967,7 +967,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getLastMessageId)
+[](swagger:/admin/v2/getLastMessageId)
 
 </TabItem>
 <TabItem value="Java">
@@ -1001,7 +1001,7 @@ pulsar-admin topics get-backlog-size \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getBacklogSizeByMessageId)
+[](swagger:/admin/v2/getBacklogSizeByMessageId)
 
 </TabItem>
 <TabItem value="Java">
@@ -1037,7 +1037,7 @@ pulsar-admin topics get-deduplication-snapshot-interval 
my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/getDeduplicationSnapshotInterval)
 
 </TabItem>
 <TabItem value="Java">
@@ -1070,7 +1070,7 @@ pulsar-admin topics set-deduplication-snapshot-interval 
my-topic -i 1000
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/setDeduplicationSnapshotInterval)
 
 ```json
 {
@@ -1107,7 +1107,7 @@ pulsar-admin topics 
remove-deduplication-snapshot-interval my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_deleteDeduplicationSnapshotInterval)
+[](swagger:/admin/v2/deleteDeduplicationSnapshotInterval)
 
 </TabItem>
 <TabItem value="Java">
@@ -1141,7 +1141,7 @@ pulsar-admin topics get-inactive-topic-policies my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getInactiveTopicPolicies)
+[](swagger:/admin/v2/getInactiveTopicPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1172,7 +1172,7 @@ pulsar-admin topics set-inactive-topic-policies my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setInactiveTopicPolicies)
+[](swagger:/admin/v2/setInactiveTopicPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1203,7 +1203,7 @@ pulsar-admin topics remove-inactive-topic-policies 
my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeInactiveTopicPolicies)
+[](swagger:/admin/v2/removeInactiveTopicPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1237,7 +1237,7 @@ pulsar-admin topics get-offload-policies my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getOffloadPolicies)
+[](swagger:/admin/v2/getOffloadPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1268,7 +1268,7 @@ pulsar-admin topics set-offload-policies my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setOffloadPolicies)
+[](swagger:/admin/v2/setOffloadPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1299,7 +1299,7 @@ pulsar-admin topics remove-offload-policies my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeOffloadPolicies)
+[](swagger:/admin/v2/removeOffloadPolicies)
 
 </TabItem>
 <TabItem value="Java">
@@ -1348,7 +1348,7 @@ When you create a non-partitioned topic with the suffix 
'-partition-' followed b
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_createNonPartitionedTopic)
+[](swagger:/admin/v2/createNonPartitionedTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1381,7 +1381,7 @@ pulsar-admin topics delete \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_deleteTopic)
+[](swagger:/admin/v2/deleteTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1419,7 +1419,7 @@ persistent://tenant/namespace/topic2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getList)
+[](swagger:/admin/v2/getList_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -1453,7 +1453,7 @@ pulsar-admin topics stats \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getStats)
+[](swagger:/admin/v2/getStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -1559,7 +1559,7 @@ pulsar-admin topics stats-internal \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getInternalStats)
+[](swagger:/admin/v2/getInternalStats_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -1613,7 +1613,7 @@ If a non-partitioned topic with the suffix '-partition-' 
followed by a numeric v
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_createPartitionedTopic)
+[](swagger:/admin/v2/createPartitionedTopic_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -1649,7 +1649,7 @@ pulsar-admin topics create-missed-partitions \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_createMissedPartitions)
+[](swagger:/admin/v2/createMissedPartitions)
 
 </TabItem>
 <TabItem value="Java">
@@ -1697,7 +1697,7 @@ Example output:
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getPartitionedMetadata)
+[](swagger:/admin/v2/getPartitionedMetadata_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -1735,7 +1735,7 @@ pulsar-admin topics update-partitioned-topic \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_updatePartitionedTopic)
+[](swagger:/admin/v2/updatePartitionedTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1766,7 +1766,7 @@ pulsar-admin topics delete-partitioned-topic \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_deletePartitionedTopic)
+[](swagger:/admin/v2/deletePartitionedTopic)
 
 </TabItem>
 <TabItem value="Java">
@@ -1804,7 +1804,7 @@ persistent://tenant/namespace/topic2
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getPartitionedTopicList)
+[](swagger:/admin/v2/getPartitionedTopicList)
 
 </TabItem>
 <TabItem value="Java">
@@ -1837,7 +1837,7 @@ pulsar-admin topics partitioned-stats \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/NonPersistentTopics_getPartitionedStats)
+[](swagger:/admin/v2/getPartitionedStats_1)
 
 </TabItem>
 <TabItem value="Java">
@@ -1965,7 +1965,7 @@ pulsar-admin topics partitioned-stats-internal \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getPartitionedStatsInternal)
+[](swagger:/admin/v2/getPartitionedStatsInternal)
 
 </TabItem>
 <TabItem value="Java">
@@ -2004,7 +2004,7 @@ pulsar-admin topics create-subscription \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_createSubscription)
+[](swagger:/admin/v2/createSubscription)
 
 </TabItem>
 <TabItem value="Java">
@@ -2044,7 +2044,7 @@ my-subscription
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getSubscriptions)
+[](swagger:/admin/v2/getSubscriptions)
 
 </TabItem>
 <TabItem value="Java">
@@ -2079,7 +2079,7 @@ pulsar-admin topics unsubscribe \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_deleteSubscription)
+[](swagger:/admin/v2/deleteSubscription)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/admin-api-transactions.md b/docs/admin-api-transactions.md
index 45439d6efb5..d5e9a57a4d2 100644
--- a/docs/admin-api-transactions.md
+++ b/docs/admin-api-transactions.md
@@ -42,7 +42,7 @@ pulsar-admin transactions slow-transactions -c 1 -t 1s
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getSlowTransactions)
+[](swagger:/admin/v3/transactions/getSlowTransactions)
 
 </TabItem>
 <TabItem value="Java">
@@ -162,7 +162,7 @@ pulsar-admin transactions scale-transactionCoordinators -r 
17
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_scaleTransactionCoordinators)
+[](swagger:/admin/v3/transactions/scaleTransactionCoordinators)
 
 </TabItem>
 <TabItem value="Java">
@@ -203,7 +203,7 @@ pulsar-admin transactions transaction-metadata -m 1 -l 1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getTransactionMetadata)
+[](swagger:/admin/v3/transactions/getTransactionMetadata)
 
 </TabItem>
 <TabItem value="Java">
@@ -261,7 +261,7 @@ pulsar-admin transactions transaction-in-pending-ack-stats 
-m 1 -l 1 -t my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getTransactionInPendingAckStats)
+[](swagger:/admin/v3/transactions/getTransactionInPendingAckStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -304,7 +304,7 @@ pulsar-admin transactions transaction-in-buffer-stats -m 1 
-l 1 -t my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getTransactionInBufferStats)
+[](swagger:/admin/v3/transactions/getTransactionInBufferStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -355,7 +355,7 @@ pulsar-admin transactions coordinator-stats -c 1
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getCoordinatorStats)
+[](swagger:/admin/v3/transactions/getCoordinatorStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -405,7 +405,7 @@ pulsar-admin transactions coordinator-internal-stats -c 1 -m
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getCoordinatorInternalStats)
+[](swagger:/admin/v3/transactions/getCoordinatorInternalStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -496,7 +496,7 @@ pulsar-admin.transactions()s pending-ack-stats -t my-topic 
-s mysubName -l
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getPendingAckStats)
+[](swagger:/admin/v3/transactions/getPendingAckStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -546,7 +546,7 @@ pulsar-admin transactions pending-ack-internal-stats -t 
my-topic -s mysubName -m
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getPendingAckInternalStats)
+[](swagger:/admin/v3/transactions/getPendingAckInternalStats)
 
 </TabItem>
 <TabItem value="Java">
@@ -640,7 +640,7 @@ pulsar-admin transactions position-stats-in-pending-ack -t 
my-topic -s mysubName
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getPositionStatsInPendingAck)
+[](swagger:/admin/v3/transactions/getPositionStatsInPendingAck)
 
 </TabItem>
 <TabItem value="Java">
@@ -693,7 +693,7 @@ pulsar-admin transactions transaction-buffer-stats -t 
my-topic -l
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v3/transactions/Transactions_getTransactionBufferStats)
+[](swagger:/admin/v3/transactions/getTransactionBufferStats)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/administration-geo.md b/docs/administration-geo.md
index 66bc2ee8814..2460f2655be 100644
--- a/docs/administration-geo.md
+++ b/docs/administration-geo.md
@@ -247,7 +247,7 @@ bin/pulsar-admin topics stats 
persistent://my-tenant/my-namespace/my-topic
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/PersistentTopics_getStats)
+[](swagger:/admin/v2/getStats)
 
 </TabItem>
 
diff --git a/docs/administration-isolation-bookie.md 
b/docs/administration-isolation-bookie.md
index d4e4e3eacda..549a6ae216a 100644
--- a/docs/administration-isolation-bookie.md
+++ b/docs/administration-isolation-bookie.md
@@ -174,7 +174,7 @@ In addition, you can also group bookies across racks or 
regions to serve broker-
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Bookies_updateBookieRackInfo)
+[](swagger:/admin/v2/updateBookieRackInfo)
 
 </TabItem>
 
@@ -257,7 +257,7 @@ For the bookie rack name restrictions, see [pulsar-admin 
bookies set-bookie-rack
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setBookieAffinityGroup)
+[](swagger:/admin/v2/setBookieAffinityGroup)
 
 </TabItem>
 <TabItem value="Java admin API">
diff --git a/docs/administration-isolation-broker.md 
b/docs/administration-isolation-broker.md
index 636e6843c61..962f8b8eccc 100644
--- a/docs/administration-isolation-broker.md
+++ b/docs/administration-isolation-broker.md
@@ -41,7 +41,7 @@ bin/pulsar-admin ns-isolation-policy set \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_createNamespace)
+[](swagger:/admin/v2/createNamespace)
 
 </TabItem>
 <TabItem value="Java admin API">
diff --git a/docs/administration-upgrade.md b/docs/administration-upgrade.md
index 3efae0308f3..4de79ce6383 100644
--- a/docs/administration-upgrade.md
+++ b/docs/administration-upgrade.md
@@ -194,7 +194,7 @@ pulsar-admin brokers healthcheck
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v2/BrokersBase_healthCheck)
+Send a `GET` request to this endpoint: [](swagger:/admin/v2/healthCheck)
 
 </TabItem>
 
diff --git a/docs/administration-zk-bk.md b/docs/administration-zk-bk.md
index fdcffd470cf..be13961cac4 100644
--- a/docs/administration-zk-bk.md
+++ b/docs/administration-zk-bk.md
@@ -373,7 +373,7 @@ pulsar-admin namespaces set-persistence my-tenant/my-ns -e 
3 -w 3 -a 3
 
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setPersistence)
+[](swagger:/admin/v2/setPersistence)
 
 </TabItem>
 
@@ -426,7 +426,7 @@ pulsar-admin namespaces get-persistence my-tenant/my-ns
 
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getPersistence)
+[](swagger:/admin/v2/getPersistence)
 
 </TabItem>
 
diff --git a/docs/cookbooks-retention-expiry.md 
b/docs/cookbooks-retention-expiry.md
index e95b52e2d9f..d8b4167fd92 100644
--- a/docs/cookbooks-retention-expiry.md
+++ b/docs/cookbooks-retention-expiry.md
@@ -120,7 +120,7 @@ pulsar-admin namespaces set-retention my-tenant/my-ns \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setRetention)
+[](swagger:/admin/v2/setRetention)
 
 :::note
 
@@ -168,7 +168,7 @@ pulsar-admin namespaces get-retention my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getRetention)
+[](swagger:/admin/v2/getRetention)
 
 </TabItem>
 <TabItem value="Java">
@@ -240,7 +240,7 @@ pulsar-admin namespaces set-backlog-quota 
my-tenant/my-ns/my-topic \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getBacklogQuotaMap)
+[](swagger:/admin/v2/getBacklogQuotaMap)
 
 </TabItem>
 <TabItem value="Java">
@@ -283,7 +283,7 @@ pulsar-admin namespaces get-backlog-quotas my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getBacklogQuotaMap)
+[](swagger:/admin/v2/getBacklogQuotaMap)
 
 </TabItem>
 <TabItem value="Java">
@@ -321,7 +321,7 @@ pulsar-admin namespaces remove-backlog-quota my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeBacklogQuota)
+[](swagger:/admin/v2/removeBacklogQuota)
 
 </TabItem>
 <TabItem value="Java">
@@ -378,7 +378,7 @@ pulsar-admin namespaces set-message-ttl my-tenant/my-ns \
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_setNamespaceMessageTTL)
+[](swagger:/admin/v2/setNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
@@ -412,7 +412,7 @@ pulsar-admin namespaces get-message-ttl my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_getNamespaceMessageTTL)
+[](swagger:/admin/v2/getNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
@@ -445,7 +445,7 @@ pulsar-admin namespaces remove-message-ttl my-tenant/my-ns
 </TabItem>
 <TabItem value="REST API">
 
-[](swagger:/admin/v2/Namespaces_removeNamespaceMessageTTL)
+[](swagger:/admin/v2/removeNamespaceMessageTTL)
 
 </TabItem>
 <TabItem value="Java">
diff --git a/docs/io-use.md b/docs/io-use.md
index f81dde3db2b..a25336f5db5 100644
--- a/docs/io-use.md
+++ b/docs/io-use.md
@@ -194,7 +194,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_registerSource)
+Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/registerSource)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -279,7 +279,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_registerSink)
+Send a `POST` request to this endpoint: [](swagger:/admin/v3/sink/registerSink)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -370,11 +370,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Start **all** source connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_startSource?summary=all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/startSource)
 
 * Start a **specified** source connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_startSource?summary=!all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/startSource_1)
 
 </TabItem>
 
@@ -405,11 +405,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Start **all** sink connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_startSink?summary=all)
+  Send a `POST` request to this endpoint: [](swagger:/admin/v3/sink/startSink)
 
 * Start a **specified** sink connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_startSink?summary=!all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/startSink_1)
 
 </TabItem>
 
@@ -511,7 +511,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_getSourceInfo)
+Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/getSourceInfo)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -616,7 +616,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_getSinkInfo)
+Send a `GET` request to this endpoint: [](swagger:/admin/v3/sink/getSinkInfo)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -718,7 +718,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_listSources)
+Send a `GET` request to this endpoint: [](swagger:/admin/v3/source/listSources)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -771,7 +771,7 @@ For the latest and complete information, see [Pulsar admin 
docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_listSinks)
+Send a `GET` request to this endpoint: [](swagger:/admin/v3/sink/listSinks)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -830,11 +830,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Get the current status of **all** source connectors.
 
-  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_getSourceStatus)
+  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/getSourceStatus)
 
 * Gets the current status of a **specified** source connector.
 
-  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_getSourceStatus)
+  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/source/getSourceStatus)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -920,11 +920,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Get the current status of **all** sink connectors.
 
-  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_getSinkStatus)
+  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/getSinkStatus)
 
 * Gets the current status of a **specified** sink connector.
 
-  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_getSinkInstanceStatus)
+  Send a `GET` request to this endpoint: 
[](swagger:/admin/v3/sink/getSinkInstanceStatus)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1014,7 +1014,7 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `PUT` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_updateSource)
+Send a `PUT` request to this endpoint: 
[](swagger:/admin/v3/source/updateSource)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1103,7 +1103,7 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 </TabItem>
 <TabItem value="REST API">
 
-Send a `PUT` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_updateSink)
+Send a `PUT` request to this endpoint: [](swagger:/admin/v3/sink/updateSink)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1200,11 +1200,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Stop **all** source connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_stopSource?summary=all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/stopSource)
 
 * Stop a **specified** source connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_stopSource?summary=!all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/stopSource_1)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1290,11 +1290,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Stop **all** sink connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_stopSink?summary=all)
+  Send a `POST` request to this endpoint: [](swagger:/admin/v3/sink/stopSink)
 
 * Stop a **specified** sink connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_stopSink?summary=!all)
+  Send a `POST` request to this endpoint: [](swagger:/admin/v3/sink/stopSink_1)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1386,11 +1386,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Restart **all** source connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_restartSource?summary=all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/restartSource)
 
 * Restart a **specified** source connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_restartSource?summary=!all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/restartSource_1)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1476,11 +1476,11 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 * Restart **all** sink connectors.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_restartSource?summary=all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/restartSource)
 
 * Restart a **specified** sink connector.
 
-  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_restartSource?summary=!all)
+  Send a `POST` request to this endpoint: 
[](swagger:/admin/v3/source/restartSource_1)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1572,7 +1572,7 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 Delete al Pulsar source connector.
 
-Send a `DELETE` request to this endpoint: 
[](swagger:/admin/v3/source/SourcesBase_deregisterSource)
+Send a `DELETE` request to this endpoint: 
[](swagger:/admin/v3/source/deregisterSource)
 
 </TabItem>
 <TabItem value="Java Admin API">
@@ -1634,7 +1634,7 @@ For the latest and complete information, see [Pulsar 
admin docs](/reference/#/@p
 
 Delete a sink connector.
 
-Send a `DELETE` request to this endpoint: 
[](swagger:/admin/v3/sink/SinksBase_deregisterSink)
+Send a `DELETE` request to this endpoint: 
[](swagger:/admin/v3/sink/deregisterSink)
 
 </TabItem>
 <TabItem value="Java Admin API">
diff --git a/src/server/remarkPlugins/swagger/index.ts 
b/src/server/remarkPlugins/swagger/index.ts
index 9b965134620..c0ff56a3987 100644
--- a/src/server/remarkPlugins/swagger/index.ts
+++ b/src/server/remarkPlugins/swagger/index.ts
@@ -159,9 +159,10 @@ async function processLinkNode(target: Target, context: 
Context) {
   const swaggerJson = swaggerResult.json;
 
   // Search through all paths in the swagger JSON
-  let matches: { path: string; method: string; tags: string[]; summary?: 
string }[] = [];
-  
-  const tagParam = queryParams.get('tag') || 
+  type OperationMatch = { path: string; method: string; operationId: string; 
tags: string[]; summary?: string };
+  let matches: OperationMatch[] = [];
+
+  const tagParam = queryParams.get('tag') ||
     (operationName.startsWith('PersistentTopics_') ? '^persistent' : 
undefined);
   const summaryParam = queryParams.get('summary');
 
@@ -182,7 +183,7 @@ async function processLinkNode(target: Target, context: 
Context) {
       const tagMatches = !tagRegex || (operation.tags &&operation.tags.some(t 
=> tagRegex.test(t)) !== isTagNegated);
       const summaryMatches = !summaryRegex || (operation.summary && 
summaryRegex.test(operation.summary) !== isSummaryNegated);
       if (operation.operationId === operationName && tagMatches && 
summaryMatches) {
-        matches.push({ path, method, tags: operation.tags, summary: 
operation.summary });
+        matches.push({ path, method, operationId: operation.operationId, tags: 
operation.tags, summary: operation.summary });
       }
     }
   }
@@ -210,7 +211,14 @@ async function processLinkNode(target: Target, context: 
Context) {
 
   const swaggerVersion = swaggerResult.version;
 
-  node.url = 
`${restApiBaseUrl}?version=${swaggerVersion}&apiVersion=${apiVersion}#operation/${operationName}`;
+  // OpenAPI 3 documents (Pulsar 5.0.0+/master) are rendered with Redoc 2.x,
+  // whose deep links are `#tag/<slugified-tag>/operation/<operationId>`; the
+  // Redoc 1.x viewer used for the Swagger 2.0 documents only understands
+  // `#operation/<operationId>`.
+  const anchor = swaggerJson.openapi && longestMatch.tags?.length
+    ? `tag/${longestMatch.tags[0].replace(/\s+/g, 
'-')}/operation/${longestMatch.operationId}`
+    : `operation/${longestMatch.operationId}`;
+  node.url = 
`${restApiBaseUrl}?version=${swaggerVersion}&apiVersion=${apiVersion}#${anchor}`;
 
   node.children = [{
     type: "text",

Reply via email to