diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/CordWebResource.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/CordWebResource.java
index ab3f311..7fc4afe 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/CordWebResource.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/CordWebResource.java
@@ -31,6 +31,13 @@
 
     @GET
     @Produces(MediaType.APPLICATION_JSON)
+    @Path("login/{email}")
+    public Response login(@PathParam("email") String email) {
+        return Response.ok(CordModelCache.INSTANCE.jsonLogin(email)).build();
+    }
+
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
     @Path("dashboard")
     public Response dashboard() {
         return Response.ok(CordModelCache.INSTANCE.jsonDashboard()).build();
@@ -50,15 +57,15 @@
         return Response.ok(CordModelCache.INSTANCE.jsonUsers()).build();
     }
 
-    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
     @GET
     @Produces(MediaType.APPLICATION_JSON)
-    @Path("login/{email}")
-    public Response login(@PathParam("email") String email) {
-        return Response.ok(CordModelCache.INSTANCE.jsonLogin(email)).build();
+    @Path("logout")
+    public Response logout() {
+        return Response.ok(CordModelCache.INSTANCE.jsonLogout()).build();
     }
 
+    // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     @Path("bundle/{id}")
