diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleEvent.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleEvent.java
new file mode 100644
index 0000000..566c2b4
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleEvent.java
@@ -0,0 +1,47 @@
+package org.onlab.onos.net.flow;
+
+import org.onlab.onos.event.AbstractEvent;
+
+/**
+ * Describes flow rule event.
+ */
+public class FlowRuleEvent extends AbstractEvent<FlowRuleEvent.Type, FlowRule> {
+
+    /**
+     * Type of flow rule events.
+     */
+    public enum Type {
+        /**
+         * Signifies that a new flow rule has been detected.
+         */
+        RULE_ADDED,
+
+        /**
+         * Signifies that a flow rule has been removed.
+         */
+        RULE_REMOVED,
+    }
+
+    /**
+     * Creates an event of a given type and for the specified flow rule and the
+     * current time.
+     *
+     * @param type     flow rule event type
+     * @param flowRule event flow rule subject
+     */
+    public FlowRuleEvent(Type type, FlowRule flowRule) {
+        super(type, flowRule);
+    }
+
+    /**
+     * Creates an event of a given type and for the specified flow rule and time.
+     *
+     * @param type     flow rule event type
+     * @param flowRule event flow rule subject
+     * @param time     occurrence time
+     */
+    public FlowRuleEvent(Type type, FlowRule flowRule, long time) {
+        super(type, flowRule, time);
+    }
+
+}
