diff --git a/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceOutputEvent.java b/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceOutputEvent.java
index f6ba4ab..956f063 100644
--- a/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceOutputEvent.java
+++ b/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceOutputEvent.java
@@ -18,6 +18,8 @@
 
 import org.onosproject.event.AbstractEvent;
 
+import java.util.Optional;
+
 /**
  * Describes network configuration event.
  */
@@ -25,7 +27,7 @@
         AbstractEvent<NetconfDeviceOutputEvent.Type, Object> {
 
     private final String messagePayload;
-    private final int messageID;
+    private final Optional<Integer> messageID;
     private final NetconfDeviceInfo deviceInfo;
 
     /**
@@ -64,7 +66,8 @@
      * @param msgID             id of the message related to the event
      * @param netconfDeviceInfo device of event
      */
-    public NetconfDeviceOutputEvent(Type type, Object subject, String payload, int msgID,
+    public NetconfDeviceOutputEvent(Type type, Object subject, String payload,
+                                    Optional<Integer> msgID,
                                     NetconfDeviceInfo netconfDeviceInfo) {
         super(type, subject);
         messagePayload = payload;
@@ -83,8 +86,10 @@
      * @param msgID             id of the message related to the event
      * @param time              occurrence time
      */
-    public NetconfDeviceOutputEvent(Type type, Object subject, String payload, int msgID,
-                                    NetconfDeviceInfo netconfDeviceInfo, long time) {
+    public NetconfDeviceOutputEvent(Type type, Object subject, String payload,
+                                    Optional<Integer> msgID,
+                                    NetconfDeviceInfo netconfDeviceInfo,
+                                    long time) {
         super(type, subject, time);
         messagePayload = payload;
         deviceInfo = netconfDeviceInfo;
@@ -111,7 +116,7 @@
      * Reply messageId.
      * @return messageId
      */
-    public Integer getMessageID() {
+    public Optional<Integer> getMessageID() {
         return messageID;
     }
 }
