diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentEvent.java b/core/api/src/main/java/org/onosproject/net/intent/IntentEvent.java
index 3b7c6c6..792787c 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentEvent.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentEvent.java
@@ -46,7 +46,12 @@
         /**
          * Signifies that an intent has been withdrawn from the system.
          */
-        WITHDRAWN
+        WITHDRAWN,
+
+        /**
+         * Signifies that an intent has been purged from the system.
+         */
+        PURGED
     }
 
     /**
@@ -110,6 +115,9 @@
             case FAILED:
                 type = Type.FAILED;
                 break;
+            case PURGE_REQ:
+                type = Type.PURGED;
+                break;
 
             // fallthrough to default from here
             case COMPILING:
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentService.java b/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
index b86d793..aed7ad0 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
@@ -43,6 +43,14 @@
     void withdraw(Intent intent);
 
     /**
+     * Purges a specific intent from the system if it is <b>FAILED</b> or
+     * <b>WITHDRAWN</b>. Otherwise, the intent remains in its current state.
+     *
+     * @param intent intent to purge
+     */
+    void purge(Intent intent);
+
+    /**
      * Fetches an intent based on its key.
      *
      * @param key key of the intent
@@ -112,11 +120,4 @@
      * @param listener listener to be removed
      */
     void removeListener(IntentListener listener);
-
-    /**
-     * Purges a specific intent from the system if it is FAILED or WITHDRAWN.
-     *
-     * @param key key of the intent to purge
-     */
-    void purge(Key key);
 }
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentState.java b/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
index 73b337c..555fe4b 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
@@ -92,5 +92,14 @@
      * Signifies that the intent has failed compiling, installing or
      * recompiling states.
      */
-    FAILED //TODO consider renaming to UNSAT.
+    FAILED, //TODO consider renaming to UNSAT.
+
+    /**
+     * Indicates that the intent should be purged from the database.
+     * <p>
+     * Note: This operation will only be performed if the intent is already
+     * in WITHDRAWN or FAILED.
+     * </p>
+     */
+    PURGE_REQ
 }
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
index 2bf1ef1..5cfae17 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
@@ -109,10 +109,4 @@
      * @return pending intents
      */
     Iterable<Intent> getPending();
-
-    /** Purges a specific intent from the system if it is FAILED or WITHDRAWN.
-     *
-     * @param key key of the intent to purge
-     */
-    void purge(Key key);
 }
