diff --git a/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
index 0ce6592..0cc1547 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
@@ -17,16 +17,16 @@
 package org.onosproject.ui.topo;
 
 /**
- * Denotes the highlighting to apply to a device.
+ * Denotes the highlighting to be applied to a device.
  */
 public class DeviceHighlight extends NodeHighlight {
 
+    /**
+     * Constructs a device highlight entity.
+     *
+     * @param deviceId the device identifier
+     */
     public DeviceHighlight(String deviceId) {
         super(TopoElementType.DEVICE, deviceId);
     }
-
-    // TODO: implement device highlighting:
-    //   - visual highlight
-    //   - badging
-
 }
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/NodeHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/NodeHighlight.java
index 61e10c5..6923508 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/NodeHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/NodeHighlight.java
@@ -20,7 +20,34 @@
  * Parent class of {@link DeviceHighlight} and {@link HostHighlight}.
  */
 public abstract class NodeHighlight extends AbstractHighlight {
+
+    private NodeBadge badge;
+
+    /**
+     * Constructs a node highlight entity.
+     *
+     * @param type element type
+     * @param elementId element identifier
+     */
     public NodeHighlight(TopoElementType type, String elementId) {
         super(type, elementId);
     }
+
+    /**
+     * Sets the badge for this node.
+     *
+     * @param badge badge to apply
+     */
+    public void setBadge(NodeBadge badge) {
+        this.badge = badge;
+    }
+
+    /**
+     * Returns the badge for this node, if any.
+     *
+     * @return badge, or null
+     */
+    public NodeBadge badge() {
+        return badge;
+    }
 }
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java b/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
index 8df0316..d4990f3 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
@@ -37,6 +37,8 @@
     static final String ID = "id";
     static final String LABEL = "label";
     static final String CSS = "css";
+    static final String BADGE = "badge";
+    static final String MSG = "msg";
 
     static final String TITLE = "title";
     static final String TYPE = "type";
@@ -103,6 +105,13 @@
         if (dh.subdued()) {
             n.put(SUBDUE, true);
         }
+        NodeBadge badge = dh.badge();
+        if (badge != null) {
+            ObjectNode b = objectNode()
+                    .put(TYPE, badge.type().code())
+                    .put(MSG, badge.message());
+            n.set(BADGE, b);
+        }
         return n;
     }
 
