diff --git a/src/api/newaccountmodel.h b/src/api/newaccountmodel.h
index 65347d509f46a05f363e6c4362d007ffc53476bd..406e9331e129eafb48c6f8a0389080555c82cf7b 100644
--- a/src/api/newaccountmodel.h
+++ b/src/api/newaccountmodel.h
@@ -76,6 +76,14 @@ public:
      * flag account corresponding to passed id as freeable.
      */
     void flagFreeable(const std::string& accountId) const;
+
+     /**
+     * set account enable/disable, save config and do unregister for account
+     * @param accountId.
+     * @param enabled.
+     */
+    void setAccountEnabled(const std::string& accountID, bool enabled) const;
+
     /**
      * saves account config to .yml
      * @param accountId.
diff --git a/src/newaccountmodel.cpp b/src/newaccountmodel.cpp
index 242c507f171af199e7cad0026acf33d2f35e6f50..3400ef28f6edde2d2c29b41c584dc82064c15c63 100644
--- a/src/newaccountmodel.cpp
+++ b/src/newaccountmodel.cpp
@@ -175,6 +175,12 @@ NewAccountModel::getAccountList() const
     return accountsId;
 }
 
+void
+NewAccountModel::setAccountEnabled(const std::string& accountId, bool enabled) const
+{
+     ConfigurationManager::instance().sendRegister(QString::fromStdString(accountId), enabled);
+}
+
 void
 NewAccountModel::setAccountConfig(const std::string& accountId,
                                   const account::ConfProperties_t& confProperties) const