diff --git a/src/controller/mod.rs b/src/controller/mod.rs
index 5124c8193f66beddad34ceb71264aa53f3f937cd..146d98d9d20190b7254b0ca6bc52211b79225459 100644
--- a/src/controller/mod.rs
+++ b/src/controller/mod.rs
@@ -15,6 +15,9 @@ pub fn route_stage() -> AdHoc {
                     product::delete
                 ],
             )
-            .mount("/notification", routes![notification::subscribe])
+            .mount(
+                "/notification",
+                routes![notification::subscribe, notification::unsubscribe],
+            )
     });
 }
diff --git a/src/controller/notification.rs b/src/controller/notification.rs
index bc0ea02f075ff3207a974ad9e8bb1036a70dda3e..ab2f7ba13ed2b91e9656615e70488a0edfcf1dbc 100644
--- a/src/controller/notification.rs
+++ b/src/controller/notification.rs
@@ -15,3 +15,11 @@ pub fn subscribe(
         Err(e) => Err(e),
     };
 }
+
+#[post("/unsubscribe/<product_type>?<url>")]
+pub fn unsubscribe(product_type: &str, url: &str) -> Result<Json<Subscriber>> {
+    return match NotificationService::unsubscribe(product_type, url) {
+        Ok(f) => Ok(Json::from(f)),
+        Err(e) => Err(e),
+    };
+}