diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java
new file mode 100644
index 0000000..f91cc7d
--- /dev/null
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java
@@ -0,0 +1,38 @@
+package net.onrc.onos.apps.segmentrouting.web;
+
+import org.restlet.resource.Delete;
+import org.restlet.resource.Get;
+import org.restlet.resource.Post;
+import org.restlet.resource.ServerResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Base class for return router statistics
+ *
+ */
+public class SegmentRouterPolicyResource extends ServerResource {
+    protected final static Logger log =
+            LoggerFactory.getLogger(SegmentRouterPolicyResource.class);
+
+    @Post("json")
+    public String createPolicy(String policyParams) {
+        String reply = "success";
+        log.debug("createPolicy with params {}", policyParams);
+        return reply;
+    }
+
+    @Delete("json")
+    public String deletePolicy(String policyId) {
+        String reply = "deleted";
+        log.debug("deletePolicy with Id {}", policyId);
+        return reply;
+    }
+
+    @Get("json")
+    public String getPolicy() {
+        String reply = "success";
+        log.debug("getPolicy with params");
+        return reply;
+    }
+}
