diff --git a/core/api/src/main/java/org/onosproject/cluster/PartitionId.java b/core/api/src/main/java/org/onosproject/cluster/PartitionId.java
index 1e73d0e..f1deedb 100644
--- a/core/api/src/main/java/org/onosproject/cluster/PartitionId.java
+++ b/core/api/src/main/java/org/onosproject/cluster/PartitionId.java
@@ -40,6 +40,7 @@
      * Creates a partition identifier from an integer.
      *
      * @param id input integer
+     * @return partition identification
      */
     public static PartitionId from(int id) {
         return new PartitionId(id);
diff --git a/core/api/src/main/java/org/onosproject/net/config/NetworkConfigService.java b/core/api/src/main/java/org/onosproject/net/config/NetworkConfigService.java
index c3760c6..09d7b08 100644
--- a/core/api/src/main/java/org/onosproject/net/config/NetworkConfigService.java
+++ b/core/api/src/main/java/org/onosproject/net/config/NetworkConfigService.java
@@ -171,9 +171,10 @@
      * Clears any configuration for the specified subject and configuration
      * key. If one does not exist, this call has no effect.
      *
-     * @param subject     configuration subject
-     * @param configKey   configuration key
-     * @param <S>         type of subject
+     * @param subjectClassKey   subject class key
+     * @param subject           configuration subject
+     * @param configKey         configuration key
+     * @param <S>               type of subject
      */
     <S> void removeConfig(String subjectClassKey, S subject, String configKey);
 }
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionCriterion.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionCriterion.java
index 646b418..0f6cd13 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionCriterion.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/ExtensionCriterion.java
@@ -34,6 +34,7 @@
      * Constructor.
      *
      * @param extensionSelector extension selector
+     * @param deviceId          device identification
      */
     public ExtensionCriterion(ExtensionSelector extensionSelector, DeviceId deviceId) {
         this.extensionSelector = extensionSelector;
diff --git a/core/api/src/main/java/org/onosproject/net/topology/HopCountLinkWeight.java b/core/api/src/main/java/org/onosproject/net/topology/HopCountLinkWeight.java
index c557016..30d2467 100644
--- a/core/api/src/main/java/org/onosproject/net/topology/HopCountLinkWeight.java
+++ b/core/api/src/main/java/org/onosproject/net/topology/HopCountLinkWeight.java
@@ -19,6 +19,8 @@
 
     /**
      * Creates a new hop-count weight with the specified cost of indirect links.
+     *
+     * @param indirectLinkCost indirect link cost
      */
     public HopCountLinkWeight(int indirectLinkCost) {
         this.indirectLinkCost = indirectLinkCost;
diff --git a/core/api/src/main/java/org/onosproject/store/service/AsyncDistributedSet.java b/core/api/src/main/java/org/onosproject/store/service/AsyncDistributedSet.java
index df63f99..251ee14 100644
--- a/core/api/src/main/java/org/onosproject/store/service/AsyncDistributedSet.java
+++ b/core/api/src/main/java/org/onosproject/store/service/AsyncDistributedSet.java
@@ -40,6 +40,7 @@
      * the set is updated.
      *
      * @param listener listener to notify about set update events
+     * @return CompletableFuture that is completed when the operation completes
      */
     CompletableFuture<Void> addListener(SetEventListener<E> listener);
 
@@ -79,6 +80,7 @@
 
     /**
      * Removes all elements from the set.
+     * @return CompletableFuture that is completed when the operation completes
      */
     CompletableFuture<Void> clear();
 
diff --git a/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java b/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
index 342a110..6a6c09e 100644
--- a/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
+++ b/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
@@ -71,6 +71,7 @@
 
     /**
      * Returns the application owning this primitive.
+     * @return application id
      */
     default ApplicationId applicationId() {
         return null;
