diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/config/Config.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/Config.java
index 7018c65..dacef68 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/Config.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/Config.java
@@ -17,6 +17,7 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.annotations.Beta;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
@@ -26,6 +27,7 @@
  *
  * @param <S> type of subject
  */
+@Beta
 public abstract class Config<S> {
 
     protected ObjectMapper mapper;
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigApplyDelegate.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigApplyDelegate.java
index 3d3ac6c..8bd6049 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigApplyDelegate.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigApplyDelegate.java
@@ -15,9 +15,12 @@
  */
 package org.onosproject.incubator.net.config;
 
+import com.google.common.annotations.Beta;
+
 /**
  * Delegate for notification when configuration changes have been applied.
  */
+@Beta
 public interface ConfigApplyDelegate<S> {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigFactory.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigFactory.java
index fbda722..37b51fd 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigFactory.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/ConfigFactory.java
@@ -16,11 +16,14 @@
 package org.onosproject.incubator.net.config;
 
 
+import com.google.common.annotations.Beta;
+
 /**
  * Base abstract factory for creating configurations for the specified subject type.
  *
  * @param <S> subject class
  */
+@Beta
 public abstract class ConfigFactory<S> {
 
     private final Class<S> subjectClass;
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigRegistry.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigRegistry.java
index 76e9bab..261e1bd 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigRegistry.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigRegistry.java
@@ -15,11 +15,14 @@
  */
 package org.onosproject.incubator.net.config;
 
+import com.google.common.annotations.Beta;
+
 import java.util.Set;
 
 /**
  * Service for tracking network configuration factories.
  */
+@Beta
 public interface NetworkConfigRegistry {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
index 1524fd6..dd88a16 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
@@ -15,13 +15,16 @@
  */
 package org.onosproject.incubator.net.config;
 
+import com.google.common.annotations.Beta;
+
 import java.util.Set;
 
 /**
  * Service for tracking network configurations which specify how the discovered
- * network information should be interpretted and how the network should be
+ * network information should be interpreted and how the network should be
  * configured.
  */
+@Beta
 public interface NetworkConfigService {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/package-info.java b/incubator/api/src/main/java/org/onosproject/incubator/package-info.java
index 8a12016..6aedd3b 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/package-info.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/package-info.java
@@ -15,6 +15,7 @@
  */
 
 /**
- * Incubating abstractions and APIs.
+ * Incubating abstractions and APIs.&nbsp; This subsystem is
+ * experimental and its interfaces will change in the upcoming release.
  */
 package org.onosproject.incubator;
\ No newline at end of file
