diff --git a/cpp.go b/cpp.go
index 710fd4a452583f40db50384ec875a10bf8e5ca5a..0460c26d50fc348d44b969ad4d3ada6ad5a024e2 100644
--- a/cpp.go
+++ b/cpp.go
@@ -19,6 +19,13 @@ const (
 	autoDefinition  = "///{%AUTO_DEFINITION%}"
 )
 
+const autogenerated = `
+/*
+ *  Autogenerated file. DO NOT EDIT !!!!
+ *
+ */
+`
+
 func generateCppEndPoints(templateFile string) error {
 	templ, err := ioutil.ReadFile(templateFile)
 	if err != nil {
@@ -88,7 +95,7 @@ func generateCppEndPoints(templateFile string) error {
 		definition.WriteString("\n}\n\n")
 	}
 
-	body := string(templ)
+	body := autogenerated + string(templ)
 	body = strings.Replace(body, autoTypes, cppStructs, -1)
 	body = strings.Replace(body, autoDeclaration, declaration.String(), -1)
 	body = strings.Replace(body, autoDefinition, definition.String(), -1)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 6c7d6d14d52f4c0696d35b92a50f0a1dbfa73595..3bea9a8072f07fef8cd5cd75acf9122bf23a8e50 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -3,8 +3,10 @@ project(demo)
 
 set(CMAKE_CXX_STANDARD 14)
 
-add_executable(demo demo.cpp vereign.hpp)
+add_executable(demo demo.cpp)
 
-FIND_PACKAGE(CURL REQUIRED)
-include_directories(${CURL_INCLUDE_DIR})
-target_link_libraries(demo ${CURL_LIBRARIES})
+find_package(OpenSSL REQUIRED)
+find_package(CURL REQUIRED)
+
+include_directories(${CURL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})
+target_link_libraries(demo ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES})
diff --git a/cpp/demo.cpp b/cpp/demo.cpp
index 6161edf2d95c1018d25e8a19e8e975c8528e9300..9421b7f33bd1624eba5502face3ba3cff90701ec 100644
--- a/cpp/demo.cpp
+++ b/cpp/demo.cpp
@@ -1,12 +1,15 @@
 #include <iostream>
 #include <string>
+#include "secret_store.hpp"
 #include "vereign.hpp"
 
+
 int main(void) {
-  
     vereign::init();
 
-    const std::string pkey = "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBazZzaDZoRDJDRTJkVWRJM0prNmINCnlHanRBMlpzaTh2ODVnUk5yOEhqNGFSTVBzdXJrWW5HS2hleTJibjdyeDQwMS9qVGY1ZGs5Tk5uVlpvcWFDMzcNCm81ZTVNWDRUcGRmdHBIajVnYmVtdFhQdnVrNGx0NWZibHZjdmMrV3NlVmpha0IybUdJVHQxdjhXcXFHQTVJcEYNCk53ay9ka3AwU0Q0Kzh0SVUxM3BmQ0VzWDV5N2Q2dnlyWXIrVkFERE1iLzMvRmk5MFFrNVFROGpsRnJhKytCYjgNCkxDSERxc3JnSmNKWlhRWHFja3Q2RkFKNlArT01NTmJNeE40czYvODc5R0V4a0FVUm9GM2dMd1c5RnpvdGZxTDINCkpGVnhsVjFLS0ZrV1dZZFFyaDlHWHVFLzR5UWtJQVMya3Z2UzhxdmEvbk5TOXJ2bUhkN0NpeXJkRG1XeDQzeEUNCmpRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==";
+    vereign::SecretStore store("./pkey");
+    //store.write_string("publick_key", "pass")
+    const std::string pkey = store.read_string("pass");
 
     vereign::API v("https://app.vereign.com/api");
 
diff --git a/cpp/pkey b/cpp/pkey
new file mode 100644
index 0000000000000000000000000000000000000000..ded78bf6ea6cdc3b55ac73d5ad77a403609712c7
--- /dev/null
+++ b/cpp/pkey
@@ -0,0 +1 @@
+{"value":"eCTA6hw/ZbKD+x9XgvIj4s6dC4Dxl8/U85r9ge6R9u5FmyKdJ9gYCv1T+ayxhwqrEIYRlc5HzUTOBg+ty6HHuyNI42ZzpLmnjxiP1Z/TbjE4T7v3cSZRNVo9LPZltqVvdKtUiHrPFTuP4ArOBKkN9PeLnp4K1CoYEpYYCYVxQ4Bi26s6FwGtHXbfHOKaKEKow6dYdfaZaEbZNZH0QnIQo3kXkXoF2Zr/A5uZEbkNfOubFLC/kUBAHdlifp1lEI56x8baVku/wnj2ewPMNsuYKzXkpK8FAkp1eP/13T5HF3VVZOkfr9A+lLiodMLBB6J5b86s0Q7i2W+ifrWma3x6E6EP2ujrriuz9fcMxC1KGpZL/T7RSEWhyHcV1m902NVBs7E/44IcVLOUUC9hKMC4sFFaib6XAXO/Ue1xWUfNoVFbaPx/IKexdBbwKqjPWrjg8YFWHlnfnUbPAKC/XCd72/EJFFd2EAClkiycFJMhjNn9vig7lUUgwb+QvD0SF14Vr4QoI3KywB3wBZgTW43ivdpfGpqUCQnV6l+4dvFmWr2Mpq+S5okgtjoxCr7TnrtqSGGopHaSlyyl1s9H/sYU9itvTOpCgtd1ufqLaD1tQKWezJUK6l5fRZjsi4g54KGZrZqgDVGB3hmL/eLWAyvcRg7/aM9RBJ9a1ytQ0088fWcjarUPaX/pAyPiOQ6qs3BaOOyV1FI//sUFZvgqVoVM6rNdg3owICZE74f0yypx3Ymh3fKRpgRtuypdhUZytBowy/aLX2hwSBs/7JcQfVELEgYTGqRrPLaCROpGbqc/7/83IS7GVMJt8w==","iterations":262144,"iv":"juFFfPAiUFg=","salt":"juFFfPAiUFjCfiJuqkyoAigxjs7jYINWuFM5c5IahNOavTfWAyzCoJW1KhDPBqKPnNsI2xQC34ajWoKM3dCm/g=="}
\ No newline at end of file
diff --git a/cpp/secret_store.hpp b/cpp/secret_store.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..c7c66c1c642d7cb733f9b14aa910b55935c8d06a
--- /dev/null
+++ b/cpp/secret_store.hpp
@@ -0,0 +1,194 @@
+#ifndef DEMO_SECRET_STORE_HPP
+#define DEMO_SECRET_STORE_HPP
+
+#include <string>
+#include <fstream>
+#include <streambuf>
+#include <random>
+
+#include <openssl/evp.h>
+#include <openssl/aes.h>
+#include <openssl/rand.h>
+
+
+#include "json.hpp"
+
+namespace vereign {
+
+class SecretStore {
+    std::string file_name;
+public:
+    SecretStore(std::string _file_name) : file_name(_file_name){};
+
+    std::vector<unsigned char> read_value(const std::string &pass);
+    std::string read_string(const std::string &pass);
+
+    void write_value(const std::vector<unsigned char> &value, const std::string &pass);
+    void write_string(const std::string &value, const std::string &pass);
+
+    std::vector<unsigned char> decrypt(const std::string &ecnrypted, const std::string &pass);
+    std::string encrypt(const std::vector<unsigned char> &value, const std::string &pass);
+
+private:
+    std::vector<unsigned char> crypt(AES_KEY *aes_key, const std::vector<unsigned char> &input, const std::vector<unsigned char> &iv);
+
+    const int key_length_bytes = 16;
+    const int salt_length_bytes = 64;
+    const int iterations = 1<<18;
+    const int iv_size = 8;
+};
+
+struct ciperparams {
+    std::string value;
+    std::string salt;
+    std::string iv;
+    int iterations;
+};
+
+void to_json(nlohmann::json &j, const ciperparams &t) {
+    j = nlohmann::json {
+            {"value", t.value},
+            {"salt", t.salt},
+            {"iv", t.iv},
+            {"iterations", t.iterations},
+    };
+}
+
+void from_json(const nlohmann::json &j, ciperparams &t) {
+    if (j.find("value") != j.end())
+        j.at("value").get_to(t.value);
+    if (j.find("salt") != j.end())
+        j.at("salt").get_to(t.salt);
+    if (j.find("iterations") != j.end())
+        j.at("iterations").get_to(t.iterations);
+    if (j.find("iv") != j.end())
+        j.at("iv").get_to(t.iv);
+};
+
+
+std::vector<unsigned char> SecretStore::read_value(const std::string &pass) {
+    std::ifstream f(file_name);
+    std::string str((std::istreambuf_iterator<char>(f)),
+                    std::istreambuf_iterator<char>());
+
+    return decrypt(str, pass);
+
+}
+
+std::string SecretStore::read_string(const std::string &pass) {
+    auto result = read_value(pass);
+    result.push_back(0);
+    return std::string((char*)result.data());
+}
+
+
+void SecretStore::write_value(const std::vector<unsigned char> &value, const std::string &pass) {
+    std::string encrypted = encrypt(value, pass);
+    std::ofstream out(file_name);
+    out << encrypted;
+    out.close();
+}
+
+void SecretStore::write_string(const std::string &value, const std::string &pass) {
+    auto arr = std::vector<unsigned char>(value.begin(), value.end());
+    write_value(arr, pass);
+}
+
+
+std::vector<unsigned char> generateRandomBytes(int size) {
+    std::independent_bits_engine<std::default_random_engine, CHAR_BIT, unsigned char> rbe;
+    std::vector<unsigned char> data(size);
+    std::generate(begin(data), end(data), std::ref(rbe));
+    return data;
+}
+
+std::string toHex(const std::vector<unsigned char> &data) {
+    std::unique_ptr<unsigned char[]> hex(new unsigned char[((data.size() + 2)/3) * 4 + 1]);
+    int len = EVP_EncodeBlock(hex.get(), data.data(), data.size());
+    if (len < 0) {
+        throw std::runtime_error("can't encode salt");
+    }
+    return std::string((const char*)hex.get());
+}
+
+std::vector<unsigned char> toBin(const std::string &data) {
+    std::unique_ptr<unsigned char[]> bin(new unsigned char[data.length()]);
+    auto len = EVP_DecodeBlock((unsigned char*)bin.get(), (const unsigned char*)data.c_str(), data.length());
+    for (auto rit=data.rbegin(); rit!=data.rend(); ++rit) {
+        if (*rit != '=') {
+            break;
+        }
+        len--;
+    }
+
+    if (len < 0) {
+        throw std::runtime_error("can't decode base64");
+    }
+
+    return std::vector<unsigned char>((unsigned char*)bin.get(), (unsigned char*)bin.get() + len);
+}
+
+std::string SecretStore::encrypt(const std::vector<unsigned char> &value, const std::string &pass) {
+    unsigned char key[key_length_bytes];
+    auto salt = generateRandomBytes(salt_length_bytes);
+
+    if (PKCS5_PBKDF2_HMAC_SHA1(pass.c_str(), pass.length(), salt.data(), salt.size(), iterations, key_length_bytes, key) != 1) {
+        throw std::runtime_error("can't crete key");
+    }
+
+    AES_KEY aes_key;
+    if (AES_set_encrypt_key(key, key_length_bytes * 8, &aes_key) < 0) {
+        throw std::runtime_error("can't generate key");
+    }
+
+    auto iv = generateRandomBytes(iv_size);
+    auto result = crypt(&aes_key, value, iv);
+
+    ciperparams params;
+    params.salt = toHex(salt);
+    params.iv = toHex(iv);
+    params.iterations = iterations;
+    params.value = toHex(result);
+
+    nlohmann::json j = params;
+    return j.dump();
+}
+
+std::vector<unsigned char> SecretStore::decrypt(const std::string &encrypted, const std::string &pass) {
+    nlohmann::json j = nlohmann::json::parse(encrypted);
+    ciperparams param = j;
+
+    unsigned char key[key_length_bytes];
+    auto salt = toBin(param.salt);
+
+    if (PKCS5_PBKDF2_HMAC_SHA1(pass.c_str(), pass.length(), salt.data(), salt.size(), param.iterations, key_length_bytes, key) != 1) {
+        throw std::runtime_error("can't crete key");
+    }
+
+    AES_KEY aes_key;
+    if (AES_set_encrypt_key(key, key_length_bytes * 8, &aes_key) < 0) {
+        throw std::runtime_error("can't generate key");
+    }
+
+    return crypt(&aes_key, toBin(param.value), toBin(param.iv));
+}
+
+std::vector<unsigned char> SecretStore::crypt(AES_KEY *aes_key, const std::vector<unsigned char> &input, const std::vector<unsigned char> &iv) {
+    unsigned char ivec[AES_BLOCK_SIZE] = {0};
+    memset(ivec, 0, sizeof(ivec));
+    memcpy(ivec, iv.data(), iv_size);
+
+    unsigned char ecount_buf[AES_BLOCK_SIZE];
+    memset(ecount_buf, 0, sizeof(ecount_buf));
+    unsigned int num = 0;
+
+    std::unique_ptr<unsigned char[]> output(new unsigned char[input.size()]);
+    AES_ctr128_encrypt(input.data(), output.get(), input.size(), aes_key, ivec, ecount_buf, &num);
+
+    return std::vector<unsigned char>((unsigned char*)output.get(), (unsigned char*)output.get() + input.size());
+}
+
+
+} // namespace
+
+#endif //DEMO_SECRET_STORE_HPP
diff --git a/cpp/vereign.hpp b/cpp/vereign.hpp
index 120b4c76e2b638ee35dcac8de0a69dcbca4f5228..9b39df2c64e7ecd525b3e404a1d3de1a77a44efb 100644
--- a/cpp/vereign.hpp
+++ b/cpp/vereign.hpp
@@ -1,7 +1,11 @@
+
 /*
  *  Autogenerated file. DO NOT EDIT !!!!
  *
  */
+#ifndef VEREIGN_TEMPLATE_HPP
+#define VEREIGN_TEMPLATE_HPP
+
 #include <string>
 #include <curl/curl.h>
 #include <vector>
@@ -19,1159 +23,1339 @@ void init() {
 
 
 
-struct GetActionsForm {
-	std::string mode;
-	std::string from;
-	std::string to;
+struct RemoveGuardedForm {
+	std::string guardedUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const GetActionsForm &t) {
+void to_json(nlohmann::json &j, const RemoveGuardedForm &t) {
 	j = nlohmann::json {
-		{"mode", t.mode},
-		{"from", t.from},
-		{"to", t.to}
+		{"guardedUUID", t.guardedUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetActionsForm &t) {
-	if (j.find("mode") != j.end())
-		j.at("mode").get_to(t.mode);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
+void from_json(const nlohmann::json &j, RemoveGuardedForm &t) {
+	if (j.find("guardedUUID") != j.end())
+		j.at("guardedUUID").get_to(t.guardedUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct Argument {
-	std::string value;
-	long type;
-	long source;
+struct RemoveMemberForm {
+	std::string memberUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const Argument &t) {
+void to_json(nlohmann::json &j, const RemoveMemberForm &t) {
 	j = nlohmann::json {
-		{"value", t.value},
-		{"type", t.type},
-		{"source", t.source}
+		{"memberUUID", t.memberUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, Argument &t) {
-	if (j.find("value") != j.end())
-		j.at("value").get_to(t.value);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
-	if (j.find("source") != j.end())
-		j.at("source").get_to(t.source);
+void from_json(const nlohmann::json &j, RemoveMemberForm &t) {
+	if (j.find("memberUUID") != j.end())
+		j.at("memberUUID").get_to(t.memberUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct ConfirmableAction {
-	std::string actionID;
-	long type;
-	long status;
-	std::string functionName;
-	std::vector<Argument> arguments;
-	std::string createdByEntityUUID;
-	std::string confirmedByEntityUUId;
-	std::string appliedOnEntityUUID;
-	long created;
-	long validUntil;
-	std::string qrCode;
-	std::string authenticationPublicKey;
+struct RenameDeviceForm {
+	std::string DeviceID;
+	std::string Name;
 };
 
-void to_json(nlohmann::json &j, const ConfirmableAction &t) {
+void to_json(nlohmann::json &j, const RenameDeviceForm &t) {
 	j = nlohmann::json {
-		{"actionID", t.actionID},
-		{"type", t.type},
-		{"status", t.status},
-		{"functionName", t.functionName},
-		{"arguments", t.arguments},
-		{"createdByEntityUUID", t.createdByEntityUUID},
-		{"confirmedByEntityUUId", t.confirmedByEntityUUId},
-		{"appliedOnEntityUUID", t.appliedOnEntityUUID},
-		{"created", t.created},
-		{"validUntil", t.validUntil},
-		{"qrCode", t.qrCode},
-		{"authenticationPublicKey", t.authenticationPublicKey}
+		{"DeviceID", t.DeviceID},
+		{"Name", t.Name}
 	};
 }
 
-void from_json(const nlohmann::json &j, ConfirmableAction &t) {
-	if (j.find("actionID") != j.end())
-		j.at("actionID").get_to(t.actionID);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
-	if (j.find("status") != j.end())
-		j.at("status").get_to(t.status);
-	if (j.find("functionName") != j.end())
-		j.at("functionName").get_to(t.functionName);
-	if (j.find("arguments") != j.end())
-		j.at("arguments").get_to(t.arguments);
-	if (j.find("createdByEntityUUID") != j.end())
-		j.at("createdByEntityUUID").get_to(t.createdByEntityUUID);
-	if (j.find("confirmedByEntityUUId") != j.end())
-		j.at("confirmedByEntityUUId").get_to(t.confirmedByEntityUUId);
-	if (j.find("appliedOnEntityUUID") != j.end())
-		j.at("appliedOnEntityUUID").get_to(t.appliedOnEntityUUID);
-	if (j.find("created") != j.end())
-		j.at("created").get_to(t.created);
-	if (j.find("validUntil") != j.end())
-		j.at("validUntil").get_to(t.validUntil);
-	if (j.find("qrCode") != j.end())
-		j.at("qrCode").get_to(t.qrCode);
-	if (j.find("authenticationPublicKey") != j.end())
-		j.at("authenticationPublicKey").get_to(t.authenticationPublicKey);
+void from_json(const nlohmann::json &j, RenameDeviceForm &t) {
+	if (j.find("DeviceID") != j.end())
+		j.at("DeviceID").get_to(t.DeviceID);
+	if (j.find("Name") != j.end())
+		j.at("Name").get_to(t.Name);
 };
 
 
-struct GenerateCredentialsResponse {
-	std::string Username;
-	std::string Password;
+struct DeleteEntityForm {
+	std::string entityuuid;
 };
 
-void to_json(nlohmann::json &j, const GenerateCredentialsResponse &t) {
+void to_json(nlohmann::json &j, const DeleteEntityForm &t) {
 	j = nlohmann::json {
-		{"Username", t.Username},
-		{"Password", t.Password}
+		{"entityuuid", t.entityuuid}
 	};
 }
 
-void from_json(const nlohmann::json &j, GenerateCredentialsResponse &t) {
-	if (j.find("Username") != j.end())
-		j.at("Username").get_to(t.Username);
-	if (j.find("Password") != j.end())
-		j.at("Password").get_to(t.Password);
+void from_json(const nlohmann::json &j, DeleteEntityForm &t) {
+	if (j.find("entityuuid") != j.end())
+		j.at("entityuuid").get_to(t.entityuuid);
 };
 
 
-struct GetEmailWithHeaderByPassportForm {
-	std::string passportUUID;
-	std::string mimeMessage;
+struct FileInfo {
+	std::string Href;
+	std::string Path;
+	std::string BoxType;
+	std::string Author;
+	std::string CreationDate;
+	std::string DisplayName;
+	std::string ResourceType;
+	std::string GetContentLength;
+	std::string GetContentType;
+	std::string GetETag;
+	std::string GetLastModified;
 };
 
-void to_json(nlohmann::json &j, const GetEmailWithHeaderByPassportForm &t) {
+void to_json(nlohmann::json &j, const FileInfo &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID},
-		{"mimeMessage", t.mimeMessage}
+		{"Href", t.Href},
+		{"Path", t.Path},
+		{"BoxType", t.BoxType},
+		{"Author", t.Author},
+		{"CreationDate", t.CreationDate},
+		{"DisplayName", t.DisplayName},
+		{"ResourceType", t.ResourceType},
+		{"GetContentLength", t.GetContentLength},
+		{"GetContentType", t.GetContentType},
+		{"GetETag", t.GetETag},
+		{"GetLastModified", t.GetLastModified}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetEmailWithHeaderByPassportForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
-	if (j.find("mimeMessage") != j.end())
-		j.at("mimeMessage").get_to(t.mimeMessage);
+void from_json(const nlohmann::json &j, FileInfo &t) {
+	if (j.find("Href") != j.end())
+		j.at("Href").get_to(t.Href);
+	if (j.find("Path") != j.end())
+		j.at("Path").get_to(t.Path);
+	if (j.find("BoxType") != j.end())
+		j.at("BoxType").get_to(t.BoxType);
+	if (j.find("Author") != j.end())
+		j.at("Author").get_to(t.Author);
+	if (j.find("CreationDate") != j.end())
+		j.at("CreationDate").get_to(t.CreationDate);
+	if (j.find("DisplayName") != j.end())
+		j.at("DisplayName").get_to(t.DisplayName);
+	if (j.find("ResourceType") != j.end())
+		j.at("ResourceType").get_to(t.ResourceType);
+	if (j.find("GetContentLength") != j.end())
+		j.at("GetContentLength").get_to(t.GetContentLength);
+	if (j.find("GetContentType") != j.end())
+		j.at("GetContentType").get_to(t.GetContentType);
+	if (j.find("GetETag") != j.end())
+		j.at("GetETag").get_to(t.GetETag);
+	if (j.find("GetLastModified") != j.end())
+		j.at("GetLastModified").get_to(t.GetLastModified);
 };
 
 
-struct GetEntityForm {
-	std::string entityuuid;
-	std::string from;
-	std::string to;
-	std::string searchtype;
-	std::string passport_link;
+struct CallFunctionForm {
+	std::string functionName;
+	std::string parameters;
 };
 
-void to_json(nlohmann::json &j, const GetEntityForm &t) {
+void to_json(nlohmann::json &j, const CallFunctionForm &t) {
 	j = nlohmann::json {
-		{"entityuuid", t.entityuuid},
-		{"from", t.from},
-		{"to", t.to},
-		{"searchtype", t.searchtype},
-		{"passport_link", t.passport_link}
+		{"functionName", t.functionName},
+		{"parameters", t.parameters}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetEntityForm &t) {
-	if (j.find("entityuuid") != j.end())
-		j.at("entityuuid").get_to(t.entityuuid);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
-	if (j.find("searchtype") != j.end())
-		j.at("searchtype").get_to(t.searchtype);
-	if (j.find("passport_link") != j.end())
-		j.at("passport_link").get_to(t.passport_link);
+void from_json(const nlohmann::json &j, CallFunctionForm &t) {
+	if (j.find("functionName") != j.end())
+		j.at("functionName").get_to(t.functionName);
+	if (j.find("parameters") != j.end())
+		j.at("parameters").get_to(t.parameters);
 };
 
 
-struct Claim {
-	std::map<std::string,std::string> value;
-	long type;
-	long AccessType;
-	std::string functionPointer;
-	std::string symlink;
-	bool defaultClaim;
-	std::string calculatedValue;
-	long valueType;
-	bool verified;
+struct AddEmailForm {
+	std::string passportUUID;
+	std::string message;
 };
 
-void to_json(nlohmann::json &j, const Claim &t) {
+void to_json(nlohmann::json &j, const AddEmailForm &t) {
 	j = nlohmann::json {
-		{"value", t.value},
-		{"type", t.type},
-		{"AccessType", t.AccessType},
-		{"functionPointer", t.functionPointer},
-		{"symlink", t.symlink},
-		{"defaultClaim", t.defaultClaim},
-		{"calculatedValue", t.calculatedValue},
-		{"valueType", t.valueType},
-		{"verified", t.verified}
+		{"passportUUID", t.passportUUID},
+		{"message", t.message}
 	};
 }
 
-void from_json(const nlohmann::json &j, Claim &t) {
-	if (j.find("value") != j.end())
-		j.at("value").get_to(t.value);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
-	if (j.find("AccessType") != j.end())
-		j.at("AccessType").get_to(t.AccessType);
-	if (j.find("functionPointer") != j.end())
-		j.at("functionPointer").get_to(t.functionPointer);
-	if (j.find("symlink") != j.end())
-		j.at("symlink").get_to(t.symlink);
-	if (j.find("defaultClaim") != j.end())
-		j.at("defaultClaim").get_to(t.defaultClaim);
-	if (j.find("calculatedValue") != j.end())
-		j.at("calculatedValue").get_to(t.calculatedValue);
-	if (j.find("valueType") != j.end())
-		j.at("valueType").get_to(t.valueType);
-	if (j.find("verified") != j.end())
-		j.at("verified").get_to(t.verified);
+void from_json(const nlohmann::json &j, AddEmailForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
+	if (j.find("message") != j.end())
+		j.at("message").get_to(t.message);
 };
 
 
-struct ClaimTagsMap {
-	std::map<std::string,Claim> tags;
+struct AddActivityForm {
+	std::string uuid;
+	std::string activity;
 };
 
-void to_json(nlohmann::json &j, const ClaimTagsMap &t) {
+void to_json(nlohmann::json &j, const AddActivityForm &t) {
 	j = nlohmann::json {
-		{"tags", t.tags}
+		{"uuid", t.uuid},
+		{"activity", t.activity}
 	};
 }
 
-void from_json(const nlohmann::json &j, ClaimTagsMap &t) {
-	if (j.find("tags") != j.end())
-		j.at("tags").get_to(t.tags);
+void from_json(const nlohmann::json &j, AddActivityForm &t) {
+	if (j.find("uuid") != j.end())
+		j.at("uuid").get_to(t.uuid);
+	if (j.find("activity") != j.end())
+		j.at("activity").get_to(t.activity);
 };
 
 
-struct EntityMessage {
-	std::string uuid;
-	long type;
-	std::map<std::string,ClaimTagsMap> claims;
-	std::vector<std::string> guarded;
-	std::vector<std::string> guardians;
-	std::vector<std::string> members;
-	std::vector<std::string> memberOf;
-	std::vector<std::string> parents;
-	std::vector<std::string> children;
-	std::vector<std::string> viewed;
-	std::vector<std::string> viewers;
-	long stamp;
-	std::string otpSecret;
-	bool activated;
-	std::vector<std::string> authenticationKeys;
-	std::vector<std::string> certificates;
-	std::string entityCertificate;
-	std::vector<std::string> symmetricKeys;
-	long created;
+struct GetHyperLedgerHistoryForm {
+	std::string passportuuid;
 };
 
-void to_json(nlohmann::json &j, const EntityMessage &t) {
+void to_json(nlohmann::json &j, const GetHyperLedgerHistoryForm &t) {
 	j = nlohmann::json {
-		{"uuid", t.uuid},
-		{"type", t.type},
-		{"claims", t.claims},
-		{"guarded", t.guarded},
-		{"guardians", t.guardians},
-		{"members", t.members},
-		{"memberOf", t.memberOf},
-		{"parents", t.parents},
-		{"children", t.children},
-		{"viewed", t.viewed},
-		{"viewers", t.viewers},
-		{"stamp", t.stamp},
-		{"otpSecret", t.otpSecret},
-		{"activated", t.activated},
-		{"authenticationKeys", t.authenticationKeys},
-		{"certificates", t.certificates},
-		{"entityCertificate", t.entityCertificate},
-		{"symmetricKeys", t.symmetricKeys},
-		{"created", t.created}
+		{"passportuuid", t.passportuuid}
 	};
 }
 
-void from_json(const nlohmann::json &j, EntityMessage &t) {
-	if (j.find("uuid") != j.end())
-		j.at("uuid").get_to(t.uuid);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
-	if (j.find("claims") != j.end())
-		j.at("claims").get_to(t.claims);
-	if (j.find("guarded") != j.end())
-		j.at("guarded").get_to(t.guarded);
-	if (j.find("guardians") != j.end())
-		j.at("guardians").get_to(t.guardians);
-	if (j.find("members") != j.end())
-		j.at("members").get_to(t.members);
-	if (j.find("memberOf") != j.end())
-		j.at("memberOf").get_to(t.memberOf);
-	if (j.find("parents") != j.end())
-		j.at("parents").get_to(t.parents);
-	if (j.find("children") != j.end())
-		j.at("children").get_to(t.children);
-	if (j.find("viewed") != j.end())
-		j.at("viewed").get_to(t.viewed);
-	if (j.find("viewers") != j.end())
-		j.at("viewers").get_to(t.viewers);
-	if (j.find("stamp") != j.end())
-		j.at("stamp").get_to(t.stamp);
-	if (j.find("otpSecret") != j.end())
-		j.at("otpSecret").get_to(t.otpSecret);
-	if (j.find("activated") != j.end())
-		j.at("activated").get_to(t.activated);
-	if (j.find("authenticationKeys") != j.end())
-		j.at("authenticationKeys").get_to(t.authenticationKeys);
-	if (j.find("certificates") != j.end())
-		j.at("certificates").get_to(t.certificates);
-	if (j.find("entityCertificate") != j.end())
-		j.at("entityCertificate").get_to(t.entityCertificate);
-	if (j.find("symmetricKeys") != j.end())
-		j.at("symmetricKeys").get_to(t.symmetricKeys);
-	if (j.find("created") != j.end())
-		j.at("created").get_to(t.created);
+void from_json(const nlohmann::json &j, GetHyperLedgerHistoryForm &t) {
+	if (j.find("passportuuid") != j.end())
+		j.at("passportuuid").get_to(t.passportuuid);
 };
 
 
-struct CreateEntityForm {
-	long type;
+struct GetEmailsForm {
+	std::string conversationUUID;
+	std::string from;
+	std::string to;
+	std::string searchtype;
 };
 
-void to_json(nlohmann::json &j, const CreateEntityForm &t) {
+void to_json(nlohmann::json &j, const GetEmailsForm &t) {
 	j = nlohmann::json {
-		{"type", t.type}
+		{"conversationUUID", t.conversationUUID},
+		{"from", t.from},
+		{"to", t.to},
+		{"searchtype", t.searchtype}
 	};
 }
 
-void from_json(const nlohmann::json &j, CreateEntityForm &t) {
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
+void from_json(const nlohmann::json &j, GetEmailsForm &t) {
+	if (j.find("conversationUUID") != j.end())
+		j.at("conversationUUID").get_to(t.conversationUUID);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
+	if (j.find("searchtype") != j.end())
+		j.at("searchtype").get_to(t.searchtype);
 };
 
 
-struct GetDocumentByUUIDForm {
-	std::string UUID;
+struct UserData {
+	std::string Name;
+	std::string Uuid;
+	std::string Avatar;
+	std::string ContentType;
 };
 
-void to_json(nlohmann::json &j, const GetDocumentByUUIDForm &t) {
+void to_json(nlohmann::json &j, const UserData &t) {
 	j = nlohmann::json {
-		{"UUID", t.UUID}
+		{"Name", t.Name},
+		{"Uuid", t.Uuid},
+		{"Avatar", t.Avatar},
+		{"ContentType", t.ContentType}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetDocumentByUUIDForm &t) {
-	if (j.find("UUID") != j.end())
-		j.at("UUID").get_to(t.UUID);
+void from_json(const nlohmann::json &j, UserData &t) {
+	if (j.find("Name") != j.end())
+		j.at("Name").get_to(t.Name);
+	if (j.find("Uuid") != j.end())
+		j.at("Uuid").get_to(t.Uuid);
+	if (j.find("Avatar") != j.end())
+		j.at("Avatar").get_to(t.Avatar);
+	if (j.find("ContentType") != j.end())
+		j.at("ContentType").get_to(t.ContentType);
 };
 
 
-struct StoreDIDsForm {
-	std::string passportUUID;
+struct EmailInfo {
+	std::string MessageID;
+	std::string Message;
+	long Timestamp;
+	UserData Sender;
+	std::vector<UserData> Receivers;
 };
 
-void to_json(nlohmann::json &j, const StoreDIDsForm &t) {
+void to_json(nlohmann::json &j, const EmailInfo &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID}
+		{"MessageID", t.MessageID},
+		{"Message", t.Message},
+		{"Timestamp", t.Timestamp},
+		{"Sender", t.Sender},
+		{"Receivers", t.Receivers}
 	};
 }
 
-void from_json(const nlohmann::json &j, StoreDIDsForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, EmailInfo &t) {
+	if (j.find("MessageID") != j.end())
+		j.at("MessageID").get_to(t.MessageID);
+	if (j.find("Message") != j.end())
+		j.at("Message").get_to(t.Message);
+	if (j.find("Timestamp") != j.end())
+		j.at("Timestamp").get_to(t.Timestamp);
+	if (j.find("Sender") != j.end())
+		j.at("Sender").get_to(t.Sender);
+	if (j.find("Receivers") != j.end())
+		j.at("Receivers").get_to(t.Receivers);
 };
 
 
-struct CancelActionForm {
+struct ConfirmNewCarddavPublicKeyForm {
+	std::string code;
 	std::string actionID;
 };
 
-void to_json(nlohmann::json &j, const CancelActionForm &t) {
+void to_json(nlohmann::json &j, const ConfirmNewCarddavPublicKeyForm &t) {
 	j = nlohmann::json {
+		{"code", t.code},
 		{"actionID", t.actionID}
 	};
 }
 
-void from_json(const nlohmann::json &j, CancelActionForm &t) {
+void from_json(const nlohmann::json &j, ConfirmNewCarddavPublicKeyForm &t) {
+	if (j.find("code") != j.end())
+		j.at("code").get_to(t.code);
 	if (j.find("actionID") != j.end())
 		j.at("actionID").get_to(t.actionID);
 };
 
 
-struct GetActivityForm {
-	std::string uuid;
-	std::string from;
-	std::string to;
-	std::string filter;
+struct DeleteIdentityImageForm {
+	std::string imageTag;
 };
 
-void to_json(nlohmann::json &j, const GetActivityForm &t) {
+void to_json(nlohmann::json &j, const DeleteIdentityImageForm &t) {
 	j = nlohmann::json {
-		{"uuid", t.uuid},
-		{"from", t.from},
-		{"to", t.to},
-		{"filter", t.filter}
+		{"imageTag", t.imageTag}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetActivityForm &t) {
-	if (j.find("uuid") != j.end())
-		j.at("uuid").get_to(t.uuid);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
-	if (j.find("filter") != j.end())
-		j.at("filter").get_to(t.filter);
+void from_json(const nlohmann::json &j, DeleteIdentityImageForm &t) {
+	if (j.find("imageTag") != j.end())
+		j.at("imageTag").get_to(t.imageTag);
 };
 
 
-struct ActivityDelta {
-	std::vector<std::string> activity;
-	std::string uuid;
-	std::string deviceKey;
-	long stamp;
-	std::vector<std::string> creators;
+struct GetDIDsForm {
+	std::string passportUUID;
 };
 
-void to_json(nlohmann::json &j, const ActivityDelta &t) {
+void to_json(nlohmann::json &j, const GetDIDsForm &t) {
 	j = nlohmann::json {
-		{"activity", t.activity},
-		{"uuid", t.uuid},
-		{"deviceKey", t.deviceKey},
-		{"stamp", t.stamp},
-		{"creators", t.creators}
+		{"passportUUID", t.passportUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ActivityDelta &t) {
-	if (j.find("activity") != j.end())
-		j.at("activity").get_to(t.activity);
-	if (j.find("uuid") != j.end())
-		j.at("uuid").get_to(t.uuid);
-	if (j.find("deviceKey") != j.end())
-		j.at("deviceKey").get_to(t.deviceKey);
-	if (j.find("stamp") != j.end())
-		j.at("stamp").get_to(t.stamp);
-	if (j.find("creators") != j.end())
-		j.at("creators").get_to(t.creators);
+void from_json(const nlohmann::json &j, GetDIDsForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
 };
 
 
-struct DeleteEntityForm {
-	std::string entityuuid;
-};
+struct GetEmailWithHeaderByPassportForm {
+	std::string passportUUID;
+	std::string mimeMessage;
+};
 
-void to_json(nlohmann::json &j, const DeleteEntityForm &t) {
+void to_json(nlohmann::json &j, const GetEmailWithHeaderByPassportForm &t) {
 	j = nlohmann::json {
-		{"entityuuid", t.entityuuid}
+		{"passportUUID", t.passportUUID},
+		{"mimeMessage", t.mimeMessage}
 	};
 }
 
-void from_json(const nlohmann::json &j, DeleteEntityForm &t) {
-	if (j.find("entityuuid") != j.end())
-		j.at("entityuuid").get_to(t.entityuuid);
+void from_json(const nlohmann::json &j, GetEmailWithHeaderByPassportForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
+	if (j.find("mimeMessage") != j.end())
+		j.at("mimeMessage").get_to(t.mimeMessage);
 };
 
 
-struct RemoveChildForm {
-	std::string childUUID;
-	std::string entityUUID;
+struct GetActionsForm {
+	std::string mode;
+	std::string from;
+	std::string to;
 };
 
-void to_json(nlohmann::json &j, const RemoveChildForm &t) {
+void to_json(nlohmann::json &j, const GetActionsForm &t) {
 	j = nlohmann::json {
-		{"childUUID", t.childUUID},
-		{"entityUUID", t.entityUUID}
+		{"mode", t.mode},
+		{"from", t.from},
+		{"to", t.to}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveChildForm &t) {
-	if (j.find("childUUID") != j.end())
-		j.at("childUUID").get_to(t.childUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, GetActionsForm &t) {
+	if (j.find("mode") != j.end())
+		j.at("mode").get_to(t.mode);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
 };
 
 
-struct AddParentForm {
-	std::string parentUUID;
-	std::string entityUUID;
+struct Argument {
+	std::string value;
+	long type;
+	long source;
 };
 
-void to_json(nlohmann::json &j, const AddParentForm &t) {
+void to_json(nlohmann::json &j, const Argument &t) {
 	j = nlohmann::json {
-		{"parentUUID", t.parentUUID},
-		{"entityUUID", t.entityUUID}
+		{"value", t.value},
+		{"type", t.type},
+		{"source", t.source}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddParentForm &t) {
-	if (j.find("parentUUID") != j.end())
-		j.at("parentUUID").get_to(t.parentUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, Argument &t) {
+	if (j.find("value") != j.end())
+		j.at("value").get_to(t.value);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+	if (j.find("source") != j.end())
+		j.at("source").get_to(t.source);
 };
 
 
-struct RemoveMemberForm {
-	std::string memberUUID;
-	std::string entityUUID;
+struct ConfirmableAction {
+	std::string actionID;
+	long type;
+	long status;
+	std::string functionName;
+	std::vector<Argument> arguments;
+	std::string createdByEntityUUID;
+	std::string confirmedByEntityUUId;
+	std::string appliedOnEntityUUID;
+	long created;
+	long validUntil;
+	std::string qrCode;
+	std::string authenticationPublicKey;
 };
 
-void to_json(nlohmann::json &j, const RemoveMemberForm &t) {
+void to_json(nlohmann::json &j, const ConfirmableAction &t) {
 	j = nlohmann::json {
-		{"memberUUID", t.memberUUID},
-		{"entityUUID", t.entityUUID}
+		{"actionID", t.actionID},
+		{"type", t.type},
+		{"status", t.status},
+		{"functionName", t.functionName},
+		{"arguments", t.arguments},
+		{"createdByEntityUUID", t.createdByEntityUUID},
+		{"confirmedByEntityUUId", t.confirmedByEntityUUId},
+		{"appliedOnEntityUUID", t.appliedOnEntityUUID},
+		{"created", t.created},
+		{"validUntil", t.validUntil},
+		{"qrCode", t.qrCode},
+		{"authenticationPublicKey", t.authenticationPublicKey}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveMemberForm &t) {
-	if (j.find("memberUUID") != j.end())
-		j.at("memberUUID").get_to(t.memberUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, ConfirmableAction &t) {
+	if (j.find("actionID") != j.end())
+		j.at("actionID").get_to(t.actionID);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+	if (j.find("status") != j.end())
+		j.at("status").get_to(t.status);
+	if (j.find("functionName") != j.end())
+		j.at("functionName").get_to(t.functionName);
+	if (j.find("arguments") != j.end())
+		j.at("arguments").get_to(t.arguments);
+	if (j.find("createdByEntityUUID") != j.end())
+		j.at("createdByEntityUUID").get_to(t.createdByEntityUUID);
+	if (j.find("confirmedByEntityUUId") != j.end())
+		j.at("confirmedByEntityUUId").get_to(t.confirmedByEntityUUId);
+	if (j.find("appliedOnEntityUUID") != j.end())
+		j.at("appliedOnEntityUUID").get_to(t.appliedOnEntityUUID);
+	if (j.find("created") != j.end())
+		j.at("created").get_to(t.created);
+	if (j.find("validUntil") != j.end())
+		j.at("validUntil").get_to(t.validUntil);
+	if (j.find("qrCode") != j.end())
+		j.at("qrCode").get_to(t.qrCode);
+	if (j.find("authenticationPublicKey") != j.end())
+		j.at("authenticationPublicKey").get_to(t.authenticationPublicKey);
 };
 
 
-struct RemoveGuardianForm {
-	std::string guardianUUID;
-	std::string entityUUID;
+struct AttachFunctionToPassportClaimForm {
+	std::string claimName;
+	std::string tag;
+	std::string passportUUID;
+	std::string functionPointer;
 };
 
-void to_json(nlohmann::json &j, const RemoveGuardianForm &t) {
+void to_json(nlohmann::json &j, const AttachFunctionToPassportClaimForm &t) {
 	j = nlohmann::json {
-		{"guardianUUID", t.guardianUUID},
-		{"entityUUID", t.entityUUID}
+		{"claimName", t.claimName},
+		{"tag", t.tag},
+		{"passportUUID", t.passportUUID},
+		{"functionPointer", t.functionPointer}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveGuardianForm &t) {
-	if (j.find("guardianUUID") != j.end())
-		j.at("guardianUUID").get_to(t.guardianUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, AttachFunctionToPassportClaimForm &t) {
+	if (j.find("claimName") != j.end())
+		j.at("claimName").get_to(t.claimName);
+	if (j.find("tag") != j.end())
+		j.at("tag").get_to(t.tag);
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
+	if (j.find("functionPointer") != j.end())
+		j.at("functionPointer").get_to(t.functionPointer);
 };
 
 
-struct AddViewerForm {
-	std::string viewerUUID;
-	std::string entityUUID;
+struct GetInteractionsForm {
+	std::string UUID;
+	long from;
+	long amount;
 };
 
-void to_json(nlohmann::json &j, const AddViewerForm &t) {
+void to_json(nlohmann::json &j, const GetInteractionsForm &t) {
 	j = nlohmann::json {
-		{"viewerUUID", t.viewerUUID},
-		{"entityUUID", t.entityUUID}
+		{"UUID", t.UUID},
+		{"from", t.from},
+		{"amount", t.amount}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddViewerForm &t) {
-	if (j.find("viewerUUID") != j.end())
-		j.at("viewerUUID").get_to(t.viewerUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, GetInteractionsForm &t) {
+	if (j.find("UUID") != j.end())
+		j.at("UUID").get_to(t.UUID);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("amount") != j.end())
+		j.at("amount").get_to(t.amount);
 };
 
 
-struct ResignSMIMEForm {
-	std::string passportUUID;
-	std::string smimeMessage;
+struct Interaction {
+	std::string Subject;
+	std::string Type;
+	std::string Passport;
+	std::string Uuid;
+	std::vector<std::string> Contacts;
+	long Timestamp;
 };
 
-void to_json(nlohmann::json &j, const ResignSMIMEForm &t) {
+void to_json(nlohmann::json &j, const Interaction &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID},
-		{"smimeMessage", t.smimeMessage}
+		{"Subject", t.Subject},
+		{"Type", t.Type},
+		{"Passport", t.Passport},
+		{"Uuid", t.Uuid},
+		{"Contacts", t.Contacts},
+		{"Timestamp", t.Timestamp}
 	};
 }
 
-void from_json(const nlohmann::json &j, ResignSMIMEForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
-	if (j.find("smimeMessage") != j.end())
-		j.at("smimeMessage").get_to(t.smimeMessage);
+void from_json(const nlohmann::json &j, Interaction &t) {
+	if (j.find("Subject") != j.end())
+		j.at("Subject").get_to(t.Subject);
+	if (j.find("Type") != j.end())
+		j.at("Type").get_to(t.Type);
+	if (j.find("Passport") != j.end())
+		j.at("Passport").get_to(t.Passport);
+	if (j.find("Uuid") != j.end())
+		j.at("Uuid").get_to(t.Uuid);
+	if (j.find("Contacts") != j.end())
+		j.at("Contacts").get_to(t.Contacts);
+	if (j.find("Timestamp") != j.end())
+		j.at("Timestamp").get_to(t.Timestamp);
 };
 
 
-struct DeleteClaimForm {
-	std::string claim;
-	std::string tag;
-	std::string entityuuid;
+struct GetAvatarByPassportForm {
+	std::string passportUUID;
 };
 
-void to_json(nlohmann::json &j, const DeleteClaimForm &t) {
+void to_json(nlohmann::json &j, const GetAvatarByPassportForm &t) {
 	j = nlohmann::json {
-		{"claim", t.claim},
-		{"tag", t.tag},
-		{"entityuuid", t.entityuuid}
+		{"passportUUID", t.passportUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, DeleteClaimForm &t) {
-	if (j.find("claim") != j.end())
-		j.at("claim").get_to(t.claim);
-	if (j.find("tag") != j.end())
-		j.at("tag").get_to(t.tag);
-	if (j.find("entityuuid") != j.end())
-		j.at("entityuuid").get_to(t.entityuuid);
+void from_json(const nlohmann::json &j, GetAvatarByPassportForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
 };
 
 
-struct GetEventsForm {
-	std::string mode;
-	std::string from;
-	std::string to;
+struct PassportData {
+	std::string Avatar;
+	std::string ContentType;
+	std::string PassportName;
+	std::string RealName;
+	std::string PassportEmail;
+	std::string PassportMobile;
+	bool PassportMobileVerified;
+	std::string PassportTwitter;
+	std::string PassportLinkedIn;
 };
 
-void to_json(nlohmann::json &j, const GetEventsForm &t) {
+void to_json(nlohmann::json &j, const PassportData &t) {
 	j = nlohmann::json {
-		{"mode", t.mode},
-		{"from", t.from},
-		{"to", t.to}
+		{"Avatar", t.Avatar},
+		{"ContentType", t.ContentType},
+		{"PassportName", t.PassportName},
+		{"RealName", t.RealName},
+		{"PassportEmail", t.PassportEmail},
+		{"PassportMobile", t.PassportMobile},
+		{"PassportMobileVerified", t.PassportMobileVerified},
+		{"PassportTwitter", t.PassportTwitter},
+		{"PassportLinkedIn", t.PassportLinkedIn}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetEventsForm &t) {
-	if (j.find("mode") != j.end())
-		j.at("mode").get_to(t.mode);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
+void from_json(const nlohmann::json &j, PassportData &t) {
+	if (j.find("Avatar") != j.end())
+		j.at("Avatar").get_to(t.Avatar);
+	if (j.find("ContentType") != j.end())
+		j.at("ContentType").get_to(t.ContentType);
+	if (j.find("PassportName") != j.end())
+		j.at("PassportName").get_to(t.PassportName);
+	if (j.find("RealName") != j.end())
+		j.at("RealName").get_to(t.RealName);
+	if (j.find("PassportEmail") != j.end())
+		j.at("PassportEmail").get_to(t.PassportEmail);
+	if (j.find("PassportMobile") != j.end())
+		j.at("PassportMobile").get_to(t.PassportMobile);
+	if (j.find("PassportMobileVerified") != j.end())
+		j.at("PassportMobileVerified").get_to(t.PassportMobileVerified);
+	if (j.find("PassportTwitter") != j.end())
+		j.at("PassportTwitter").get_to(t.PassportTwitter);
+	if (j.find("PassportLinkedIn") != j.end())
+		j.at("PassportLinkedIn").get_to(t.PassportLinkedIn);
 };
 
 
-struct Event {
-	std::string actionID;
-	std::string type;
-	std::vector<std::string> payloads;
-	long stamp;
+struct GenerateCredentialsResponse {
+	std::string Username;
+	std::string Password;
 };
 
-void to_json(nlohmann::json &j, const Event &t) {
+void to_json(nlohmann::json &j, const GenerateCredentialsResponse &t) {
 	j = nlohmann::json {
-		{"actionID", t.actionID},
-		{"type", t.type},
-		{"payloads", t.payloads},
-		{"stamp", t.stamp}
+		{"Username", t.Username},
+		{"Password", t.Password}
 	};
 }
 
-void from_json(const nlohmann::json &j, Event &t) {
-	if (j.find("actionID") != j.end())
-		j.at("actionID").get_to(t.actionID);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
-	if (j.find("payloads") != j.end())
-		j.at("payloads").get_to(t.payloads);
-	if (j.find("stamp") != j.end())
-		j.at("stamp").get_to(t.stamp);
+void from_json(const nlohmann::json &j, GenerateCredentialsResponse &t) {
+	if (j.find("Username") != j.end())
+		j.at("Username").get_to(t.Username);
+	if (j.find("Password") != j.end())
+		j.at("Password").get_to(t.Password);
 };
 
 
-struct ClaimVerifyCodeForm {
-	std::string claim;
-	std::string tag;
-	std::string entityuuid;
-	std::string code;
-	std::string value;
+struct AddGuardedForm {
+	std::string guardedUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const ClaimVerifyCodeForm &t) {
+void to_json(nlohmann::json &j, const AddGuardedForm &t) {
 	j = nlohmann::json {
-		{"claim", t.claim},
-		{"tag", t.tag},
-		{"entityuuid", t.entityuuid},
-		{"code", t.code},
-		{"value", t.value}
+		{"guardedUUID", t.guardedUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ClaimVerifyCodeForm &t) {
-	if (j.find("claim") != j.end())
-		j.at("claim").get_to(t.claim);
-	if (j.find("tag") != j.end())
-		j.at("tag").get_to(t.tag);
-	if (j.find("entityuuid") != j.end())
-		j.at("entityuuid").get_to(t.entityuuid);
-	if (j.find("code") != j.end())
-		j.at("code").get_to(t.code);
-	if (j.find("value") != j.end())
-		j.at("value").get_to(t.value);
+void from_json(const nlohmann::json &j, AddGuardedForm &t) {
+	if (j.find("guardedUUID") != j.end())
+		j.at("guardedUUID").get_to(t.guardedUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct CallFunctionForm {
-	std::string functionName;
-	std::string parameters;
+struct GetDocumentByUUIDForm {
+	std::string UUID;
 };
 
-void to_json(nlohmann::json &j, const CallFunctionForm &t) {
+void to_json(nlohmann::json &j, const GetDocumentByUUIDForm &t) {
 	j = nlohmann::json {
-		{"functionName", t.functionName},
-		{"parameters", t.parameters}
+		{"UUID", t.UUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, CallFunctionForm &t) {
-	if (j.find("functionName") != j.end())
-		j.at("functionName").get_to(t.functionName);
-	if (j.find("parameters") != j.end())
-		j.at("parameters").get_to(t.parameters);
+void from_json(const nlohmann::json &j, GetDocumentByUUIDForm &t) {
+	if (j.find("UUID") != j.end())
+		j.at("UUID").get_to(t.UUID);
 };
 
 
-struct AddMemberOfForm {
-	std::string memberOfUUID;
-	std::string entityUUID;
+struct GetActivityForm {
+	std::string uuid;
+	std::string from;
+	std::string to;
+	std::string filter;
 };
 
-void to_json(nlohmann::json &j, const AddMemberOfForm &t) {
+void to_json(nlohmann::json &j, const GetActivityForm &t) {
 	j = nlohmann::json {
-		{"memberOfUUID", t.memberOfUUID},
-		{"entityUUID", t.entityUUID}
+		{"uuid", t.uuid},
+		{"from", t.from},
+		{"to", t.to},
+		{"filter", t.filter}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddMemberOfForm &t) {
-	if (j.find("memberOfUUID") != j.end())
-		j.at("memberOfUUID").get_to(t.memberOfUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, GetActivityForm &t) {
+	if (j.find("uuid") != j.end())
+		j.at("uuid").get_to(t.uuid);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
+	if (j.find("filter") != j.end())
+		j.at("filter").get_to(t.filter);
 };
 
 
-struct FileInfo {
-	std::string Href;
-	std::string Path;
-	std::string BoxType;
-	std::string Author;
-	std::string CreationDate;
-	std::string DisplayName;
-	std::string ResourceType;
-	std::string GetContentLength;
-	std::string GetContentType;
-	std::string GetETag;
-	std::string GetLastModified;
+struct ActivityDelta {
+	std::vector<std::string> activity;
+	std::string uuid;
+	std::string deviceKey;
+	long stamp;
+	std::vector<std::string> creators;
 };
 
-void to_json(nlohmann::json &j, const FileInfo &t) {
+void to_json(nlohmann::json &j, const ActivityDelta &t) {
 	j = nlohmann::json {
-		{"Href", t.Href},
-		{"Path", t.Path},
-		{"BoxType", t.BoxType},
-		{"Author", t.Author},
-		{"CreationDate", t.CreationDate},
-		{"DisplayName", t.DisplayName},
-		{"ResourceType", t.ResourceType},
-		{"GetContentLength", t.GetContentLength},
-		{"GetContentType", t.GetContentType},
-		{"GetETag", t.GetETag},
-		{"GetLastModified", t.GetLastModified}
+		{"activity", t.activity},
+		{"uuid", t.uuid},
+		{"deviceKey", t.deviceKey},
+		{"stamp", t.stamp},
+		{"creators", t.creators}
 	};
 }
 
-void from_json(const nlohmann::json &j, FileInfo &t) {
-	if (j.find("Href") != j.end())
-		j.at("Href").get_to(t.Href);
-	if (j.find("Path") != j.end())
-		j.at("Path").get_to(t.Path);
-	if (j.find("BoxType") != j.end())
-		j.at("BoxType").get_to(t.BoxType);
-	if (j.find("Author") != j.end())
-		j.at("Author").get_to(t.Author);
-	if (j.find("CreationDate") != j.end())
-		j.at("CreationDate").get_to(t.CreationDate);
-	if (j.find("DisplayName") != j.end())
-		j.at("DisplayName").get_to(t.DisplayName);
-	if (j.find("ResourceType") != j.end())
-		j.at("ResourceType").get_to(t.ResourceType);
-	if (j.find("GetContentLength") != j.end())
-		j.at("GetContentLength").get_to(t.GetContentLength);
-	if (j.find("GetContentType") != j.end())
-		j.at("GetContentType").get_to(t.GetContentType);
-	if (j.find("GetETag") != j.end())
-		j.at("GetETag").get_to(t.GetETag);
-	if (j.find("GetLastModified") != j.end())
-		j.at("GetLastModified").get_to(t.GetLastModified);
+void from_json(const nlohmann::json &j, ActivityDelta &t) {
+	if (j.find("activity") != j.end())
+		j.at("activity").get_to(t.activity);
+	if (j.find("uuid") != j.end())
+		j.at("uuid").get_to(t.uuid);
+	if (j.find("deviceKey") != j.end())
+		j.at("deviceKey").get_to(t.deviceKey);
+	if (j.find("stamp") != j.end())
+		j.at("stamp").get_to(t.stamp);
+	if (j.find("creators") != j.end())
+		j.at("creators").get_to(t.creators);
 };
 
 
-struct Register2FAPublicKeyForm {
-	std::string username;
-	std::string password;
+struct RevokeDeviceForm {
+	std::string DeviceID;
 };
 
-void to_json(nlohmann::json &j, const Register2FAPublicKeyForm &t) {
+void to_json(nlohmann::json &j, const RevokeDeviceForm &t) {
 	j = nlohmann::json {
-		{"username", t.username},
-		{"password", t.password}
+		{"DeviceID", t.DeviceID}
 	};
 }
 
-void from_json(const nlohmann::json &j, Register2FAPublicKeyForm &t) {
-	if (j.find("username") != j.end())
-		j.at("username").get_to(t.username);
-	if (j.find("password") != j.end())
-		j.at("password").get_to(t.password);
+void from_json(const nlohmann::json &j, RevokeDeviceForm &t) {
+	if (j.find("DeviceID") != j.end())
+		j.at("DeviceID").get_to(t.DeviceID);
 };
 
 
-struct Register2FAPublicKeyResponse {
-	std::string actionID;
+struct RemoveGuardianForm {
+	std::string guardianUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const Register2FAPublicKeyResponse &t) {
+void to_json(nlohmann::json &j, const RemoveGuardianForm &t) {
 	j = nlohmann::json {
-		{"actionID", t.actionID}
+		{"guardianUUID", t.guardianUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, Register2FAPublicKeyResponse &t) {
-	if (j.find("actionID") != j.end())
-		j.at("actionID").get_to(t.actionID);
+void from_json(const nlohmann::json &j, RemoveGuardianForm &t) {
+	if (j.find("guardianUUID") != j.end())
+		j.at("guardianUUID").get_to(t.guardianUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct AddMemberForm {
-	std::string memberUUID;
+struct RemoveParentForm {
+	std::string parentUUID;
 	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const AddMemberForm &t) {
+void to_json(nlohmann::json &j, const RemoveParentForm &t) {
 	j = nlohmann::json {
-		{"memberUUID", t.memberUUID},
+		{"parentUUID", t.parentUUID},
 		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddMemberForm &t) {
-	if (j.find("memberUUID") != j.end())
-		j.at("memberUUID").get_to(t.memberUUID);
+void from_json(const nlohmann::json &j, RemoveParentForm &t) {
+	if (j.find("parentUUID") != j.end())
+		j.at("parentUUID").get_to(t.parentUUID);
 	if (j.find("entityUUID") != j.end())
 		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct AddGuardedForm {
-	std::string guardedUUID;
+struct AddChildForm {
+	std::string childUUID;
 	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const AddGuardedForm &t) {
+void to_json(nlohmann::json &j, const AddChildForm &t) {
 	j = nlohmann::json {
-		{"guardedUUID", t.guardedUUID},
+		{"childUUID", t.childUUID},
 		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddGuardedForm &t) {
-	if (j.find("guardedUUID") != j.end())
-		j.at("guardedUUID").get_to(t.guardedUUID);
+void from_json(const nlohmann::json &j, AddChildForm &t) {
+	if (j.find("childUUID") != j.end())
+		j.at("childUUID").get_to(t.childUUID);
 	if (j.find("entityUUID") != j.end())
 		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct AddEmailForm {
-	std::string passportUUID;
-	std::string message;
+struct RemoveChildForm {
+	std::string childUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const AddEmailForm &t) {
+void to_json(nlohmann::json &j, const RemoveChildForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID},
-		{"message", t.message}
+		{"childUUID", t.childUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddEmailForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
-	if (j.find("message") != j.end())
-		j.at("message").get_to(t.message);
+void from_json(const nlohmann::json &j, RemoveChildForm &t) {
+	if (j.find("childUUID") != j.end())
+		j.at("childUUID").get_to(t.childUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct GetConversationsForm {
-	std::string passportUUID;
+struct PutIdentityImageForm {
+	std::string path;
+	std::string contentType;
+	std::string imageTag;
+	std::string imageContent;
 };
 
-void to_json(nlohmann::json &j, const GetConversationsForm &t) {
+void to_json(nlohmann::json &j, const PutIdentityImageForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID}
+		{"path", t.path},
+		{"contentType", t.contentType},
+		{"imageTag", t.imageTag},
+		{"imageContent", t.imageContent}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetConversationsForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, PutIdentityImageForm &t) {
+	if (j.find("path") != j.end())
+		j.at("path").get_to(t.path);
+	if (j.find("contentType") != j.end())
+		j.at("contentType").get_to(t.contentType);
+	if (j.find("imageTag") != j.end())
+		j.at("imageTag").get_to(t.imageTag);
+	if (j.find("imageContent") != j.end())
+		j.at("imageContent").get_to(t.imageContent);
 };
 
 
-struct ConfirmNewCarddavPublicKeyForm {
-	std::string code;
-	std::string actionID;
+struct GenerateDIDsForm {
+	std::string passportUUID;
 };
 
-void to_json(nlohmann::json &j, const ConfirmNewCarddavPublicKeyForm &t) {
+void to_json(nlohmann::json &j, const GenerateDIDsForm &t) {
 	j = nlohmann::json {
-		{"code", t.code},
-		{"actionID", t.actionID}
+		{"passportUUID", t.passportUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ConfirmNewCarddavPublicKeyForm &t) {
-	if (j.find("code") != j.end())
-		j.at("code").get_to(t.code);
-	if (j.find("actionID") != j.end())
-		j.at("actionID").get_to(t.actionID);
+void from_json(const nlohmann::json &j, GenerateDIDsForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
 };
 
 
-struct GetEmailsForm {
-	std::string conversationUUID;
-	std::string from;
-	std::string to;
-	std::string searchtype;
+struct Function {
+	std::string Name;
+	std::string Description;
+	std::vector<long> InputTypes;
+	std::vector<long> OutputTypes;
+	std::string ClaimName;
 };
 
-void to_json(nlohmann::json &j, const GetEmailsForm &t) {
+void to_json(nlohmann::json &j, const Function &t) {
 	j = nlohmann::json {
-		{"conversationUUID", t.conversationUUID},
-		{"from", t.from},
-		{"to", t.to},
-		{"searchtype", t.searchtype}
+		{"Name", t.Name},
+		{"Description", t.Description},
+		{"InputTypes", t.InputTypes},
+		{"OutputTypes", t.OutputTypes},
+		{"ClaimName", t.ClaimName}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetEmailsForm &t) {
-	if (j.find("conversationUUID") != j.end())
-		j.at("conversationUUID").get_to(t.conversationUUID);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
-	if (j.find("searchtype") != j.end())
-		j.at("searchtype").get_to(t.searchtype);
+void from_json(const nlohmann::json &j, Function &t) {
+	if (j.find("Name") != j.end())
+		j.at("Name").get_to(t.Name);
+	if (j.find("Description") != j.end())
+		j.at("Description").get_to(t.Description);
+	if (j.find("InputTypes") != j.end())
+		j.at("InputTypes").get_to(t.InputTypes);
+	if (j.find("OutputTypes") != j.end())
+		j.at("OutputTypes").get_to(t.OutputTypes);
+	if (j.find("ClaimName") != j.end())
+		j.at("ClaimName").get_to(t.ClaimName);
 };
 
 
-struct UserData {
-	std::string Name;
-	std::string Uuid;
-	std::string Avatar;
-	std::string ContentType;
+struct UpdateRecipientEmailStatusForm {
+	std::string messageID;
+	std::string recipient;
+	std::string status;
 };
 
-void to_json(nlohmann::json &j, const UserData &t) {
+void to_json(nlohmann::json &j, const UpdateRecipientEmailStatusForm &t) {
 	j = nlohmann::json {
-		{"Name", t.Name},
-		{"Uuid", t.Uuid},
-		{"Avatar", t.Avatar},
-		{"ContentType", t.ContentType}
+		{"messageID", t.messageID},
+		{"recipient", t.recipient},
+		{"status", t.status}
 	};
 }
 
-void from_json(const nlohmann::json &j, UserData &t) {
-	if (j.find("Name") != j.end())
-		j.at("Name").get_to(t.Name);
-	if (j.find("Uuid") != j.end())
-		j.at("Uuid").get_to(t.Uuid);
-	if (j.find("Avatar") != j.end())
-		j.at("Avatar").get_to(t.Avatar);
-	if (j.find("ContentType") != j.end())
-		j.at("ContentType").get_to(t.ContentType);
+void from_json(const nlohmann::json &j, UpdateRecipientEmailStatusForm &t) {
+	if (j.find("messageID") != j.end())
+		j.at("messageID").get_to(t.messageID);
+	if (j.find("recipient") != j.end())
+		j.at("recipient").get_to(t.recipient);
+	if (j.find("status") != j.end())
+		j.at("status").get_to(t.status);
 };
 
 
-struct EmailInfo {
-	std::string MessageID;
-	std::string Message;
-	long Timestamp;
-	UserData Sender;
-	std::vector<UserData> Receivers;
+struct SendFeedbackForm {
+	std::string message;
+	std::string log;
 };
 
-void to_json(nlohmann::json &j, const EmailInfo &t) {
+void to_json(nlohmann::json &j, const SendFeedbackForm &t) {
 	j = nlohmann::json {
-		{"MessageID", t.MessageID},
-		{"Message", t.Message},
-		{"Timestamp", t.Timestamp},
-		{"Sender", t.Sender},
-		{"Receivers", t.Receivers}
+		{"message", t.message},
+		{"log", t.log}
 	};
 }
 
-void from_json(const nlohmann::json &j, EmailInfo &t) {
-	if (j.find("MessageID") != j.end())
-		j.at("MessageID").get_to(t.MessageID);
-	if (j.find("Message") != j.end())
-		j.at("Message").get_to(t.Message);
-	if (j.find("Timestamp") != j.end())
-		j.at("Timestamp").get_to(t.Timestamp);
-	if (j.find("Sender") != j.end())
-		j.at("Sender").get_to(t.Sender);
-	if (j.find("Receivers") != j.end())
-		j.at("Receivers").get_to(t.Receivers);
+void from_json(const nlohmann::json &j, SendFeedbackForm &t) {
+	if (j.find("message") != j.end())
+		j.at("message").get_to(t.message);
+	if (j.find("log") != j.end())
+		j.at("log").get_to(t.log);
 };
 
 
-struct SendEmailSmtpForm {
-	std::string passportUUID;
-	std::string accessToken;
-	std::string from;
-	std::string to;
-	std::string rawMessage;
-	std::string type;
+struct ClaimSendCodeForm {
+	std::string claim;
+	std::string tag;
+	std::string entityuuid;
+	std::string value;
 };
 
-void to_json(nlohmann::json &j, const SendEmailSmtpForm &t) {
+void to_json(nlohmann::json &j, const ClaimSendCodeForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID},
-		{"accessToken", t.accessToken},
-		{"from", t.from},
-		{"to", t.to},
-		{"rawMessage", t.rawMessage},
-		{"type", t.type}
+		{"claim", t.claim},
+		{"tag", t.tag},
+		{"entityuuid", t.entityuuid},
+		{"value", t.value}
 	};
 }
 
-void from_json(const nlohmann::json &j, SendEmailSmtpForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
-	if (j.find("accessToken") != j.end())
-		j.at("accessToken").get_to(t.accessToken);
-	if (j.find("from") != j.end())
-		j.at("from").get_to(t.from);
-	if (j.find("to") != j.end())
-		j.at("to").get_to(t.to);
-	if (j.find("rawMessage") != j.end())
-		j.at("rawMessage").get_to(t.rawMessage);
-	if (j.find("type") != j.end())
-		j.at("type").get_to(t.type);
+void from_json(const nlohmann::json &j, ClaimSendCodeForm &t) {
+	if (j.find("claim") != j.end())
+		j.at("claim").get_to(t.claim);
+	if (j.find("tag") != j.end())
+		j.at("tag").get_to(t.tag);
+	if (j.find("entityuuid") != j.end())
+		j.at("entityuuid").get_to(t.entityuuid);
+	if (j.find("value") != j.end())
+		j.at("value").get_to(t.value);
 };
 
 
-struct AddChildForm {
-	std::string childUUID;
+struct AddGuardianForm {
+	std::string guardianUUID;
 	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const AddChildForm &t) {
+void to_json(nlohmann::json &j, const AddGuardianForm &t) {
 	j = nlohmann::json {
-		{"childUUID", t.childUUID},
+		{"guardianUUID", t.guardianUUID},
 		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddChildForm &t) {
-	if (j.find("childUUID") != j.end())
-		j.at("childUUID").get_to(t.childUUID);
+void from_json(const nlohmann::json &j, AddGuardianForm &t) {
+	if (j.find("guardianUUID") != j.end())
+		j.at("guardianUUID").get_to(t.guardianUUID);
 	if (j.find("entityUUID") != j.end())
 		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct ConfirmActionExecutionForm {
-	std::string code;
-	std::string actionID;
+struct RemoveViewerForm {
+	std::string viewerUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const ConfirmActionExecutionForm &t) {
+void to_json(nlohmann::json &j, const RemoveViewerForm &t) {
 	j = nlohmann::json {
-		{"code", t.code},
-		{"actionID", t.actionID}
+		{"viewerUUID", t.viewerUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ConfirmActionExecutionForm &t) {
-	if (j.find("code") != j.end())
-		j.at("code").get_to(t.code);
-	if (j.find("actionID") != j.end())
-		j.at("actionID").get_to(t.actionID);
+void from_json(const nlohmann::json &j, RemoveViewerForm &t) {
+	if (j.find("viewerUUID") != j.end())
+		j.at("viewerUUID").get_to(t.viewerUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct AddActivityForm {
+struct LinkClaimToPassportForm {
+	std::string claimName;
+	std::string tag;
+	std::string claimEntityUUID;
+	std::string passportClaimName;
+	std::string passportUUID;
+};
+
+void to_json(nlohmann::json &j, const LinkClaimToPassportForm &t) {
+	j = nlohmann::json {
+		{"claimName", t.claimName},
+		{"tag", t.tag},
+		{"claimEntityUUID", t.claimEntityUUID},
+		{"passportClaimName", t.passportClaimName},
+		{"passportUUID", t.passportUUID}
+	};
+}
+
+void from_json(const nlohmann::json &j, LinkClaimToPassportForm &t) {
+	if (j.find("claimName") != j.end())
+		j.at("claimName").get_to(t.claimName);
+	if (j.find("tag") != j.end())
+		j.at("tag").get_to(t.tag);
+	if (j.find("claimEntityUUID") != j.end())
+		j.at("claimEntityUUID").get_to(t.claimEntityUUID);
+	if (j.find("passportClaimName") != j.end())
+		j.at("passportClaimName").get_to(t.passportClaimName);
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
+};
+
+
+struct Claim_V1 {
+	std::map<std::string,std::string> value;
+	long type;
+	long AccessType;
+	std::string functionPointer;
+	std::string symlink;
+	bool defaultClaim;
+	std::string calculatedValue;
+	long valueType;
+	bool verified;
+};
+
+void to_json(nlohmann::json &j, const Claim_V1 &t) {
+	j = nlohmann::json {
+		{"value", t.value},
+		{"type", t.type},
+		{"AccessType", t.AccessType},
+		{"functionPointer", t.functionPointer},
+		{"symlink", t.symlink},
+		{"defaultClaim", t.defaultClaim},
+		{"calculatedValue", t.calculatedValue},
+		{"valueType", t.valueType},
+		{"verified", t.verified}
+	};
+}
+
+void from_json(const nlohmann::json &j, Claim_V1 &t) {
+	if (j.find("value") != j.end())
+		j.at("value").get_to(t.value);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+	if (j.find("AccessType") != j.end())
+		j.at("AccessType").get_to(t.AccessType);
+	if (j.find("functionPointer") != j.end())
+		j.at("functionPointer").get_to(t.functionPointer);
+	if (j.find("symlink") != j.end())
+		j.at("symlink").get_to(t.symlink);
+	if (j.find("defaultClaim") != j.end())
+		j.at("defaultClaim").get_to(t.defaultClaim);
+	if (j.find("calculatedValue") != j.end())
+		j.at("calculatedValue").get_to(t.calculatedValue);
+	if (j.find("valueType") != j.end())
+		j.at("valueType").get_to(t.valueType);
+	if (j.find("verified") != j.end())
+		j.at("verified").get_to(t.verified);
+};
+
+
+struct ClaimTagsMap_V1 {
+	std::map<std::string,Claim_V1> tags;
+};
+
+void to_json(nlohmann::json &j, const ClaimTagsMap_V1 &t) {
+	j = nlohmann::json {
+		{"tags", t.tags}
+	};
+}
+
+void from_json(const nlohmann::json &j, ClaimTagsMap_V1 &t) {
+	if (j.find("tags") != j.end())
+		j.at("tags").get_to(t.tags);
+};
+
+
+struct EntityMessage_V1 {
 	std::string uuid;
-	std::string activity;
+	long type;
+	std::map<std::string,ClaimTagsMap_V1> claims;
+	std::vector<std::string> guarded;
+	std::vector<std::string> guardians;
+	std::vector<std::string> members;
+	std::vector<std::string> memberOf;
+	std::vector<std::string> parents;
+	std::vector<std::string> children;
+	std::vector<std::string> viewed;
+	std::vector<std::string> viewers;
+	long stamp;
+	std::string otpSecret;
+	bool activated;
+	std::vector<std::string> authenticationKeys;
+	std::vector<std::string> certificates;
+	std::string entityCertificate;
+	std::vector<std::string> symmetricKeys;
+	long created;
 };
 
-void to_json(nlohmann::json &j, const AddActivityForm &t) {
+void to_json(nlohmann::json &j, const EntityMessage_V1 &t) {
 	j = nlohmann::json {
 		{"uuid", t.uuid},
-		{"activity", t.activity}
+		{"type", t.type},
+		{"claims", t.claims},
+		{"guarded", t.guarded},
+		{"guardians", t.guardians},
+		{"members", t.members},
+		{"memberOf", t.memberOf},
+		{"parents", t.parents},
+		{"children", t.children},
+		{"viewed", t.viewed},
+		{"viewers", t.viewers},
+		{"stamp", t.stamp},
+		{"otpSecret", t.otpSecret},
+		{"activated", t.activated},
+		{"authenticationKeys", t.authenticationKeys},
+		{"certificates", t.certificates},
+		{"entityCertificate", t.entityCertificate},
+		{"symmetricKeys", t.symmetricKeys},
+		{"created", t.created}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddActivityForm &t) {
+void from_json(const nlohmann::json &j, EntityMessage_V1 &t) {
 	if (j.find("uuid") != j.end())
 		j.at("uuid").get_to(t.uuid);
-	if (j.find("activity") != j.end())
-		j.at("activity").get_to(t.activity);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+	if (j.find("claims") != j.end())
+		j.at("claims").get_to(t.claims);
+	if (j.find("guarded") != j.end())
+		j.at("guarded").get_to(t.guarded);
+	if (j.find("guardians") != j.end())
+		j.at("guardians").get_to(t.guardians);
+	if (j.find("members") != j.end())
+		j.at("members").get_to(t.members);
+	if (j.find("memberOf") != j.end())
+		j.at("memberOf").get_to(t.memberOf);
+	if (j.find("parents") != j.end())
+		j.at("parents").get_to(t.parents);
+	if (j.find("children") != j.end())
+		j.at("children").get_to(t.children);
+	if (j.find("viewed") != j.end())
+		j.at("viewed").get_to(t.viewed);
+	if (j.find("viewers") != j.end())
+		j.at("viewers").get_to(t.viewers);
+	if (j.find("stamp") != j.end())
+		j.at("stamp").get_to(t.stamp);
+	if (j.find("otpSecret") != j.end())
+		j.at("otpSecret").get_to(t.otpSecret);
+	if (j.find("activated") != j.end())
+		j.at("activated").get_to(t.activated);
+	if (j.find("authenticationKeys") != j.end())
+		j.at("authenticationKeys").get_to(t.authenticationKeys);
+	if (j.find("certificates") != j.end())
+		j.at("certificates").get_to(t.certificates);
+	if (j.find("entityCertificate") != j.end())
+		j.at("entityCertificate").get_to(t.entityCertificate);
+	if (j.find("symmetricKeys") != j.end())
+		j.at("symmetricKeys").get_to(t.symmetricKeys);
+	if (j.find("created") != j.end())
+		j.at("created").get_to(t.created);
 };
 
 
-struct GenerateDIDsForm {
-	std::string passportUUID;
+struct InitializeEmailStatusForm {
+	std::string messageID;
+	std::vector<std::string> recipients;
 };
 
-void to_json(nlohmann::json &j, const GenerateDIDsForm &t) {
+void to_json(nlohmann::json &j, const InitializeEmailStatusForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID}
+		{"messageID", t.messageID},
+		{"recipients", t.recipients}
 	};
 }
 
-void from_json(const nlohmann::json &j, GenerateDIDsForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, InitializeEmailStatusForm &t) {
+	if (j.find("messageID") != j.end())
+		j.at("messageID").get_to(t.messageID);
+	if (j.find("recipients") != j.end())
+		j.at("recipients").get_to(t.recipients);
 };
 
 
-struct PutIdentityImageForm {
-	std::string path;
-	std::string contentType;
-	std::string imageTag;
-	std::string imageContent;
+struct ConfirmNewDeviceForm {
+	std::string code;
+	std::string actionID;
 };
 
-void to_json(nlohmann::json &j, const PutIdentityImageForm &t) {
+void to_json(nlohmann::json &j, const ConfirmNewDeviceForm &t) {
 	j = nlohmann::json {
-		{"path", t.path},
-		{"contentType", t.contentType},
-		{"imageTag", t.imageTag},
-		{"imageContent", t.imageContent}
+		{"code", t.code},
+		{"actionID", t.actionID}
+	};
+}
+
+void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) {
+	if (j.find("code") != j.end())
+		j.at("code").get_to(t.code);
+	if (j.find("actionID") != j.end())
+		j.at("actionID").get_to(t.actionID);
+};
+
+
+struct CancelActionForm {
+	std::string actionID;
+};
+
+void to_json(nlohmann::json &j, const CancelActionForm &t) {
+	j = nlohmann::json {
+		{"actionID", t.actionID}
+	};
+}
+
+void from_json(const nlohmann::json &j, CancelActionForm &t) {
+	if (j.find("actionID") != j.end())
+		j.at("actionID").get_to(t.actionID);
+};
+
+
+struct GetEntityForm {
+	std::string entityuuid;
+	std::string from;
+	std::string to;
+	std::string searchtype;
+	std::string passport_link;
+};
+
+void to_json(nlohmann::json &j, const GetEntityForm &t) {
+	j = nlohmann::json {
+		{"entityuuid", t.entityuuid},
+		{"from", t.from},
+		{"to", t.to},
+		{"searchtype", t.searchtype},
+		{"passport_link", t.passport_link}
+	};
+}
+
+void from_json(const nlohmann::json &j, GetEntityForm &t) {
+	if (j.find("entityuuid") != j.end())
+		j.at("entityuuid").get_to(t.entityuuid);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
+	if (j.find("searchtype") != j.end())
+		j.at("searchtype").get_to(t.searchtype);
+	if (j.find("passport_link") != j.end())
+		j.at("passport_link").get_to(t.passport_link);
+};
+
+
+struct CreateEntityForm {
+	long type;
+};
+
+void to_json(nlohmann::json &j, const CreateEntityForm &t) {
+	j = nlohmann::json {
+		{"type", t.type}
+	};
+}
+
+void from_json(const nlohmann::json &j, CreateEntityForm &t) {
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+};
+
+
+struct AddViewerForm {
+	std::string viewerUUID;
+	std::string entityUUID;
+};
+
+void to_json(nlohmann::json &j, const AddViewerForm &t) {
+	j = nlohmann::json {
+		{"viewerUUID", t.viewerUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, PutIdentityImageForm &t) {
-	if (j.find("path") != j.end())
-		j.at("path").get_to(t.path);
-	if (j.find("contentType") != j.end())
-		j.at("contentType").get_to(t.contentType);
-	if (j.find("imageTag") != j.end())
-		j.at("imageTag").get_to(t.imageTag);
-	if (j.find("imageContent") != j.end())
-		j.at("imageContent").get_to(t.imageContent);
+void from_json(const nlohmann::json &j, AddViewerForm &t) {
+	if (j.find("viewerUUID") != j.end())
+		j.at("viewerUUID").get_to(t.viewerUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
@@ -1211,135 +1395,115 @@ void from_json(const nlohmann::json &j, AddClaimForm &t) {
 };
 
 
-struct GetIdentityImageForm {
-	std::string imageTag;
+struct DeleteClaimForm {
+	std::string claim;
+	std::string tag;
+	std::string entityuuid;
 };
 
-void to_json(nlohmann::json &j, const GetIdentityImageForm &t) {
+void to_json(nlohmann::json &j, const DeleteClaimForm &t) {
 	j = nlohmann::json {
-		{"imageTag", t.imageTag}
+		{"claim", t.claim},
+		{"tag", t.tag},
+		{"entityuuid", t.entityuuid}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetIdentityImageForm &t) {
-	if (j.find("imageTag") != j.end())
-		j.at("imageTag").get_to(t.imageTag);
+void from_json(const nlohmann::json &j, DeleteClaimForm &t) {
+	if (j.find("claim") != j.end())
+		j.at("claim").get_to(t.claim);
+	if (j.find("tag") != j.end())
+		j.at("tag").get_to(t.tag);
+	if (j.find("entityuuid") != j.end())
+		j.at("entityuuid").get_to(t.entityuuid);
 };
 
 
-struct GetAvatarByPassportForm {
-	std::string passportUUID;
+struct AddMemberForm {
+	std::string memberUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const GetAvatarByPassportForm &t) {
+void to_json(nlohmann::json &j, const AddMemberForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID}
+		{"memberUUID", t.memberUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetAvatarByPassportForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, AddMemberForm &t) {
+	if (j.find("memberUUID") != j.end())
+		j.at("memberUUID").get_to(t.memberUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct PassportData {
-	std::string Avatar;
-	std::string ContentType;
-	std::string PassportName;
-	std::string RealName;
-	std::string PassportEmail;
-	std::string PassportMobile;
-	std::string PassportTwitter;
-	std::string PassportLinkedIn;
+struct AddMemberOfForm {
+	std::string memberOfUUID;
+	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const PassportData &t) {
+void to_json(nlohmann::json &j, const AddMemberOfForm &t) {
 	j = nlohmann::json {
-		{"Avatar", t.Avatar},
-		{"ContentType", t.ContentType},
-		{"PassportName", t.PassportName},
-		{"RealName", t.RealName},
-		{"PassportEmail", t.PassportEmail},
-		{"PassportMobile", t.PassportMobile},
-		{"PassportTwitter", t.PassportTwitter},
-		{"PassportLinkedIn", t.PassportLinkedIn}
+		{"memberOfUUID", t.memberOfUUID},
+		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, PassportData &t) {
-	if (j.find("Avatar") != j.end())
-		j.at("Avatar").get_to(t.Avatar);
-	if (j.find("ContentType") != j.end())
-		j.at("ContentType").get_to(t.ContentType);
-	if (j.find("PassportName") != j.end())
-		j.at("PassportName").get_to(t.PassportName);
-	if (j.find("RealName") != j.end())
-		j.at("RealName").get_to(t.RealName);
-	if (j.find("PassportEmail") != j.end())
-		j.at("PassportEmail").get_to(t.PassportEmail);
-	if (j.find("PassportMobile") != j.end())
-		j.at("PassportMobile").get_to(t.PassportMobile);
-	if (j.find("PassportTwitter") != j.end())
-		j.at("PassportTwitter").get_to(t.PassportTwitter);
-	if (j.find("PassportLinkedIn") != j.end())
-		j.at("PassportLinkedIn").get_to(t.PassportLinkedIn);
+void from_json(const nlohmann::json &j, AddMemberOfForm &t) {
+	if (j.find("memberOfUUID") != j.end())
+		j.at("memberOfUUID").get_to(t.memberOfUUID);
+	if (j.find("entityUUID") != j.end())
+		j.at("entityUUID").get_to(t.entityUUID);
 };
 
 
-struct AddGuardianForm {
-	std::string guardianUUID;
-	std::string entityUUID;
+struct GetEmailStatusForm {
+	std::string messageID;
 };
 
-void to_json(nlohmann::json &j, const AddGuardianForm &t) {
+void to_json(nlohmann::json &j, const GetEmailStatusForm &t) {
 	j = nlohmann::json {
-		{"guardianUUID", t.guardianUUID},
-		{"entityUUID", t.entityUUID}
+		{"messageID", t.messageID}
 	};
 }
 
-void from_json(const nlohmann::json &j, AddGuardianForm &t) {
-	if (j.find("guardianUUID") != j.end())
-		j.at("guardianUUID").get_to(t.guardianUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, GetEmailStatusForm &t) {
+	if (j.find("messageID") != j.end())
+		j.at("messageID").get_to(t.messageID);
 };
 
 
-struct RemoveGuardedForm {
-	std::string guardedUUID;
-	std::string entityUUID;
+struct IdentityProfileData {
+	std::string initials;
 };
 
-void to_json(nlohmann::json &j, const RemoveGuardedForm &t) {
+void to_json(nlohmann::json &j, const IdentityProfileData &t) {
 	j = nlohmann::json {
-		{"guardedUUID", t.guardedUUID},
-		{"entityUUID", t.entityUUID}
+		{"initials", t.initials}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveGuardedForm &t) {
-	if (j.find("guardedUUID") != j.end())
-		j.at("guardedUUID").get_to(t.guardedUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, IdentityProfileData &t) {
+	if (j.find("initials") != j.end())
+		j.at("initials").get_to(t.initials);
 };
 
 
-struct RemoveParentForm {
+struct AddParentForm {
 	std::string parentUUID;
 	std::string entityUUID;
 };
 
-void to_json(nlohmann::json &j, const RemoveParentForm &t) {
+void to_json(nlohmann::json &j, const AddParentForm &t) {
 	j = nlohmann::json {
 		{"parentUUID", t.parentUUID},
 		{"entityUUID", t.entityUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveParentForm &t) {
+void from_json(const nlohmann::json &j, AddParentForm &t) {
 	if (j.find("parentUUID") != j.end())
 		j.at("parentUUID").get_to(t.parentUUID);
 	if (j.find("entityUUID") != j.end())
@@ -1347,231 +1511,223 @@ void from_json(const nlohmann::json &j, RemoveParentForm &t) {
 };
 
 
-struct GetInteractionsForm {
-	std::string UUID;
+struct SendEmailSmtpForm {
+	std::string passportUUID;
+	std::string accessToken;
+	std::string from;
+	std::string to;
+	std::string rawMessage;
+	std::string type;
 };
 
-void to_json(nlohmann::json &j, const GetInteractionsForm &t) {
+void to_json(nlohmann::json &j, const SendEmailSmtpForm &t) {
 	j = nlohmann::json {
-		{"UUID", t.UUID}
+		{"passportUUID", t.passportUUID},
+		{"accessToken", t.accessToken},
+		{"from", t.from},
+		{"to", t.to},
+		{"rawMessage", t.rawMessage},
+		{"type", t.type}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetInteractionsForm &t) {
-	if (j.find("UUID") != j.end())
-		j.at("UUID").get_to(t.UUID);
+void from_json(const nlohmann::json &j, SendEmailSmtpForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
+	if (j.find("accessToken") != j.end())
+		j.at("accessToken").get_to(t.accessToken);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
+	if (j.find("rawMessage") != j.end())
+		j.at("rawMessage").get_to(t.rawMessage);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
 };
 
 
-struct Interaction {
-	std::string Subject;
-	std::string Type;
-	std::string Passport;
-	std::string Uuid;
-	std::vector<std::string> Contacts;
-	long Timestamp;
+struct StoreDIDsForm {
+	std::string passportUUID;
 };
 
-void to_json(nlohmann::json &j, const Interaction &t) {
+void to_json(nlohmann::json &j, const StoreDIDsForm &t) {
 	j = nlohmann::json {
-		{"Subject", t.Subject},
-		{"Type", t.Type},
-		{"Passport", t.Passport},
-		{"Uuid", t.Uuid},
-		{"Contacts", t.Contacts},
-		{"Timestamp", t.Timestamp}
+		{"passportUUID", t.passportUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, Interaction &t) {
-	if (j.find("Subject") != j.end())
-		j.at("Subject").get_to(t.Subject);
-	if (j.find("Type") != j.end())
-		j.at("Type").get_to(t.Type);
-	if (j.find("Passport") != j.end())
-		j.at("Passport").get_to(t.Passport);
-	if (j.find("Uuid") != j.end())
-		j.at("Uuid").get_to(t.Uuid);
-	if (j.find("Contacts") != j.end())
-		j.at("Contacts").get_to(t.Contacts);
-	if (j.find("Timestamp") != j.end())
-		j.at("Timestamp").get_to(t.Timestamp);
+void from_json(const nlohmann::json &j, StoreDIDsForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
 };
 
 
-struct ClaimSendCodeForm {
-	std::string claim;
-	std::string tag;
-	std::string entityuuid;
-	std::string value;
+struct ResumeDeviceForm {
+	std::string DeviceID;
 };
 
-void to_json(nlohmann::json &j, const ClaimSendCodeForm &t) {
+void to_json(nlohmann::json &j, const ResumeDeviceForm &t) {
 	j = nlohmann::json {
-		{"claim", t.claim},
-		{"tag", t.tag},
-		{"entityuuid", t.entityuuid},
-		{"value", t.value}
+		{"DeviceID", t.DeviceID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ClaimSendCodeForm &t) {
-	if (j.find("claim") != j.end())
-		j.at("claim").get_to(t.claim);
-	if (j.find("tag") != j.end())
-		j.at("tag").get_to(t.tag);
-	if (j.find("entityuuid") != j.end())
-		j.at("entityuuid").get_to(t.entityuuid);
-	if (j.find("value") != j.end())
-		j.at("value").get_to(t.value);
+void from_json(const nlohmann::json &j, ResumeDeviceForm &t) {
+	if (j.find("DeviceID") != j.end())
+		j.at("DeviceID").get_to(t.DeviceID);
 };
 
 
-struct DeleteIdentityImageForm {
-	std::string imageTag;
+struct Register2FAPublicKeyForm {
+	std::string username;
+	std::string password;
 };
 
-void to_json(nlohmann::json &j, const DeleteIdentityImageForm &t) {
+void to_json(nlohmann::json &j, const Register2FAPublicKeyForm &t) {
 	j = nlohmann::json {
-		{"imageTag", t.imageTag}
+		{"username", t.username},
+		{"password", t.password}
 	};
 }
 
-void from_json(const nlohmann::json &j, DeleteIdentityImageForm &t) {
-	if (j.find("imageTag") != j.end())
-		j.at("imageTag").get_to(t.imageTag);
+void from_json(const nlohmann::json &j, Register2FAPublicKeyForm &t) {
+	if (j.find("username") != j.end())
+		j.at("username").get_to(t.username);
+	if (j.find("password") != j.end())
+		j.at("password").get_to(t.password);
+};
+
+
+struct Register2FAPublicKeyResponse {
+	std::string actionID;
+};
+
+void to_json(nlohmann::json &j, const Register2FAPublicKeyResponse &t) {
+	j = nlohmann::json {
+		{"actionID", t.actionID}
+	};
+}
+
+void from_json(const nlohmann::json &j, Register2FAPublicKeyResponse &t) {
+	if (j.find("actionID") != j.end())
+		j.at("actionID").get_to(t.actionID);
 };
 
 
-struct GetDIDsForm {
-	std::string passportUUID;
+struct GetEventsForm {
+	std::string mode;
+	std::string from;
+	std::string to;
 };
 
-void to_json(nlohmann::json &j, const GetDIDsForm &t) {
+void to_json(nlohmann::json &j, const GetEventsForm &t) {
 	j = nlohmann::json {
-		{"passportUUID", t.passportUUID}
+		{"mode", t.mode},
+		{"from", t.from},
+		{"to", t.to}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetDIDsForm &t) {
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, GetEventsForm &t) {
+	if (j.find("mode") != j.end())
+		j.at("mode").get_to(t.mode);
+	if (j.find("from") != j.end())
+		j.at("from").get_to(t.from);
+	if (j.find("to") != j.end())
+		j.at("to").get_to(t.to);
 };
 
 
-struct RemoveViewerForm {
-	std::string viewerUUID;
-	std::string entityUUID;
+struct Event {
+	std::string actionID;
+	std::string type;
+	std::vector<std::string> payloads;
+	long stamp;
 };
 
-void to_json(nlohmann::json &j, const RemoveViewerForm &t) {
+void to_json(nlohmann::json &j, const Event &t) {
 	j = nlohmann::json {
-		{"viewerUUID", t.viewerUUID},
-		{"entityUUID", t.entityUUID}
+		{"actionID", t.actionID},
+		{"type", t.type},
+		{"payloads", t.payloads},
+		{"stamp", t.stamp}
 	};
 }
 
-void from_json(const nlohmann::json &j, RemoveViewerForm &t) {
-	if (j.find("viewerUUID") != j.end())
-		j.at("viewerUUID").get_to(t.viewerUUID);
-	if (j.find("entityUUID") != j.end())
-		j.at("entityUUID").get_to(t.entityUUID);
+void from_json(const nlohmann::json &j, Event &t) {
+	if (j.find("actionID") != j.end())
+		j.at("actionID").get_to(t.actionID);
+	if (j.find("type") != j.end())
+		j.at("type").get_to(t.type);
+	if (j.find("payloads") != j.end())
+		j.at("payloads").get_to(t.payloads);
+	if (j.find("stamp") != j.end())
+		j.at("stamp").get_to(t.stamp);
 };
 
 
-struct LinkClaimToPassportForm {
-	std::string claimName;
-	std::string tag;
-	std::string claimEntityUUID;
-	std::string passportClaimName;
-	std::string passportUUID;
+struct SuspendDeviceForm {
+	std::string DeviceID;
 };
 
-void to_json(nlohmann::json &j, const LinkClaimToPassportForm &t) {
+void to_json(nlohmann::json &j, const SuspendDeviceForm &t) {
 	j = nlohmann::json {
-		{"claimName", t.claimName},
-		{"tag", t.tag},
-		{"claimEntityUUID", t.claimEntityUUID},
-		{"passportClaimName", t.passportClaimName},
-		{"passportUUID", t.passportUUID}
+		{"DeviceID", t.DeviceID}
 	};
 }
 
-void from_json(const nlohmann::json &j, LinkClaimToPassportForm &t) {
-	if (j.find("claimName") != j.end())
-		j.at("claimName").get_to(t.claimName);
-	if (j.find("tag") != j.end())
-		j.at("tag").get_to(t.tag);
-	if (j.find("claimEntityUUID") != j.end())
-		j.at("claimEntityUUID").get_to(t.claimEntityUUID);
-	if (j.find("passportClaimName") != j.end())
-		j.at("passportClaimName").get_to(t.passportClaimName);
-	if (j.find("passportUUID") != j.end())
-		j.at("passportUUID").get_to(t.passportUUID);
+void from_json(const nlohmann::json &j, SuspendDeviceForm &t) {
+	if (j.find("DeviceID") != j.end())
+		j.at("DeviceID").get_to(t.DeviceID);
 };
 
 
-struct Function {
-	std::string Name;
-	std::string Description;
-	std::vector<long> InputTypes;
-	std::vector<long> OutputTypes;
-	std::string ClaimName;
+struct GetIdentityImageForm {
+	std::string imageTag;
 };
 
-void to_json(nlohmann::json &j, const Function &t) {
+void to_json(nlohmann::json &j, const GetIdentityImageForm &t) {
 	j = nlohmann::json {
-		{"Name", t.Name},
-		{"Description", t.Description},
-		{"InputTypes", t.InputTypes},
-		{"OutputTypes", t.OutputTypes},
-		{"ClaimName", t.ClaimName}
+		{"imageTag", t.imageTag}
 	};
 }
 
-void from_json(const nlohmann::json &j, Function &t) {
-	if (j.find("Name") != j.end())
-		j.at("Name").get_to(t.Name);
-	if (j.find("Description") != j.end())
-		j.at("Description").get_to(t.Description);
-	if (j.find("InputTypes") != j.end())
-		j.at("InputTypes").get_to(t.InputTypes);
-	if (j.find("OutputTypes") != j.end())
-		j.at("OutputTypes").get_to(t.OutputTypes);
-	if (j.find("ClaimName") != j.end())
-		j.at("ClaimName").get_to(t.ClaimName);
+void from_json(const nlohmann::json &j, GetIdentityImageForm &t) {
+	if (j.find("imageTag") != j.end())
+		j.at("imageTag").get_to(t.imageTag);
 };
 
 
-struct GetHyperLedgerHistoryForm {
-	std::string passportuuid;
+struct GetConversationsForm {
+	std::string passportUUID;
 };
 
-void to_json(nlohmann::json &j, const GetHyperLedgerHistoryForm &t) {
+void to_json(nlohmann::json &j, const GetConversationsForm &t) {
 	j = nlohmann::json {
-		{"passportuuid", t.passportuuid}
+		{"passportUUID", t.passportUUID}
 	};
 }
 
-void from_json(const nlohmann::json &j, GetHyperLedgerHistoryForm &t) {
-	if (j.find("passportuuid") != j.end())
-		j.at("passportuuid").get_to(t.passportuuid);
+void from_json(const nlohmann::json &j, GetConversationsForm &t) {
+	if (j.find("passportUUID") != j.end())
+		j.at("passportUUID").get_to(t.passportUUID);
 };
 
 
-struct ConfirmNewDeviceForm {
+struct ConfirmActionExecutionForm {
 	std::string code;
 	std::string actionID;
 };
 
-void to_json(nlohmann::json &j, const ConfirmNewDeviceForm &t) {
+void to_json(nlohmann::json &j, const ConfirmActionExecutionForm &t) {
 	j = nlohmann::json {
 		{"code", t.code},
 		{"actionID", t.actionID}
 	};
 }
 
-void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) {
+void from_json(const nlohmann::json &j, ConfirmActionExecutionForm &t) {
 	if (j.find("code") != j.end())
 		j.at("code").get_to(t.code);
 	if (j.find("actionID") != j.end())
@@ -1579,67 +1735,55 @@ void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) {
 };
 
 
-struct SendFeedbackForm {
-	std::string log;
-	std::string message;
-};
-
-void to_json(nlohmann::json &j, const SendFeedbackForm &t) {
-	j = nlohmann::json {
-		{"log", t.log},
-		{"message", t.message}
-	};
-}
-
-void from_json(const nlohmann::json &j, SendFeedbackForm &t) {
-	if (j.find("log") != j.end())
-		j.at("log").get_to(t.log);
-	if (j.find("message") != j.end())
-		j.at("message").get_to(t.message);
-};
-
-
-struct IdentityProfileData {
-	std::string initials;
+struct ClaimVerifyCodeForm {
+	std::string claim;
+	std::string tag;
+	std::string entityuuid;
+	std::string code;
+	std::string value;
 };
 
-void to_json(nlohmann::json &j, const IdentityProfileData &t) {
+void to_json(nlohmann::json &j, const ClaimVerifyCodeForm &t) {
 	j = nlohmann::json {
-		{"initials", t.initials}
+		{"claim", t.claim},
+		{"tag", t.tag},
+		{"entityuuid", t.entityuuid},
+		{"code", t.code},
+		{"value", t.value}
 	};
 }
 
-void from_json(const nlohmann::json &j, IdentityProfileData &t) {
-	if (j.find("initials") != j.end())
-		j.at("initials").get_to(t.initials);
+void from_json(const nlohmann::json &j, ClaimVerifyCodeForm &t) {
+	if (j.find("claim") != j.end())
+		j.at("claim").get_to(t.claim);
+	if (j.find("tag") != j.end())
+		j.at("tag").get_to(t.tag);
+	if (j.find("entityuuid") != j.end())
+		j.at("entityuuid").get_to(t.entityuuid);
+	if (j.find("code") != j.end())
+		j.at("code").get_to(t.code);
+	if (j.find("value") != j.end())
+		j.at("value").get_to(t.value);
 };
 
 
-struct AttachFunctionToPassportClaimForm {
-	std::string claimName;
-	std::string tag;
+struct ResignSMIMEForm {
 	std::string passportUUID;
-	std::string functionPointer;
+	std::string smimeMessage;
 };
 
-void to_json(nlohmann::json &j, const AttachFunctionToPassportClaimForm &t) {
+void to_json(nlohmann::json &j, const ResignSMIMEForm &t) {
 	j = nlohmann::json {
-		{"claimName", t.claimName},
-		{"tag", t.tag},
 		{"passportUUID", t.passportUUID},
-		{"functionPointer", t.functionPointer}
+		{"smimeMessage", t.smimeMessage}
 	};
 }
 
-void from_json(const nlohmann::json &j, AttachFunctionToPassportClaimForm &t) {
-	if (j.find("claimName") != j.end())
-		j.at("claimName").get_to(t.claimName);
-	if (j.find("tag") != j.end())
-		j.at("tag").get_to(t.tag);
+void from_json(const nlohmann::json &j, ResignSMIMEForm &t) {
 	if (j.find("passportUUID") != j.end())
 		j.at("passportUUID").get_to(t.passportUUID);
-	if (j.find("functionPointer") != j.end())
-		j.at("functionPointer").get_to(t.functionPointer);
+	if (j.find("smimeMessage") != j.end())
+		j.at("smimeMessage").get_to(t.smimeMessage);
 };
 
 
@@ -1675,68 +1819,74 @@ class API {
 public:
     API(std::string url) : url(url) {};
 
-    std::string DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp);
-std::string EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp);
-std::string EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp);
-std::string DocumentPutDocument(const VereignAccount &account);
-std::vector<FileInfo> DocumentListDocuments(const VereignAccount &account);
-std::string DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp);
-PassportData PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp);
-std::string EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp);
+    std::string EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp);
 std::string EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp);
-std::string EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp);
-std::vector<Interaction> PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp);
-std::string EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp);
+std::string EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp);
+std::vector<FileInfo> DocumentListDocuments(const VereignAccount &account);
+std::string PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp);
+std::vector<std::string> ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp);
+std::string ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp);
+std::string IdentityRenameDevice(const VereignAccount &account, const RenameDeviceForm& inp);
+std::string DocumentGetDocument(const VereignAccount &account);
+std::string HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp);
+std::string IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp);
 std::string DocumentDeleteIdentityImage(const VereignAccount &account, const DeleteIdentityImageForm& inp);
 std::string PassportGetDIDs(const VereignAccount &account, const GetDIDsForm& inp);
-std::string EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp);
-std::string EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp);
-std::string PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp);
-std::vector<Function> PassportListFunctions(const VereignAccount &account);
-std::string HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp);
-std::string IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp);
-std::string EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp);
-IdentityProfileData IdentityGetIdentityProfileData(const VereignAccount &account);
+std::string PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp);
+std::vector<ConfirmableAction> ActionGetActions(const VereignAccount &account, const GetActionsForm& inp);
+std::vector<EmailInfo> ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp);
+std::string IdentityListDevices(const VereignAccount &account);
+std::string EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp);
 std::string PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp);
-std::vector<ConfirmableAction> ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp);
+std::vector<Interaction> PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp);
+PassportData PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp);
 GenerateCredentialsResponse IdentityGenerateCredentials(const VereignAccount &account);
-std::string PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp);
-std::vector<EntityMessage> EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp);
-std::string EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp);
+std::string EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp);
 std::string DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp);
-std::string PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp);
-std::string IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp);
 std::vector<ActivityDelta> ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp);
-std::string EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp);
-std::string EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp);
-std::string DocumentCreateDocument(const VereignAccount &account);
-std::string EntityAddParent(const VereignAccount &account, const AddParentForm& inp);
-std::string EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp);
 std::string EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp);
+std::string EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp);
+std::string EntityAddChild(const VereignAccount &account, const AddChildForm& inp);
+std::string EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp);
+std::string DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp);
+std::string IdentityRevokeDevice(const VereignAccount &account, const RevokeDeviceForm& inp);
+std::vector<Function> PassportListFunctions(const VereignAccount &account);
+std::string ConversationUpdateRecipientEmailStatus(const VereignAccount &account, const UpdateRecipientEmailStatusForm& inp);
+std::string EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp);
+std::string PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp);
+std::string EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp);
+std::string EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp);
+std::string EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp);
+std::string PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp);
+std::vector<EntityMessage_V1> PassportListPassports(const VereignAccount &account);
+std::vector<ConfirmableAction> ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp);
+std::string ConversationInitializeEmailStatus(const VereignAccount &account, const InitializeEmailStatusForm& inp);
+std::string IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp);
+std::vector<EntityMessage_V1> EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp);
+std::string EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp);
 std::string EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp);
-std::string SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp);
+FileInfo DocumentGetFileInfo(const VereignAccount &account);
+std::string IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp);
+std::string EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp);
 std::string EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp);
-std::vector<Event> EventGetEvents(const VereignAccount &account, const GetEventsForm& inp);
-std::string EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp);
-std::string PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp);
-std::string HyperledgerGetInfo(const VereignAccount &account);
+std::string EntityAddMember(const VereignAccount &account, const AddMemberForm& inp);
 std::string EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp);
-FileInfo DocumentGetFileInfo(const VereignAccount &account);
+std::string ConversationGetEmailStatus(const VereignAccount &account, const GetEmailStatusForm& inp);
+IdentityProfileData IdentityGetIdentityProfileData(const VereignAccount &account);
+std::string EntityAddParent(const VereignAccount &account, const AddParentForm& inp);
+std::string HyperledgerGetInfo(const VereignAccount &account);
+std::string EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp);
+std::string PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp);
+std::string EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp);
 Register2FAPublicKeyResponse IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp);
-std::string EntityAddMember(const VereignAccount &account, const AddMemberForm& inp);
-std::string EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp);
-std::vector<std::string> ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp);
+std::vector<Event> EventGetEvents(const VereignAccount &account, const GetEventsForm& inp);
+std::string IdentityResumeDevice(const VereignAccount &account, const ResumeDeviceForm& inp);
+std::string IdentitySuspendDevice(const VereignAccount &account, const SuspendDeviceForm& inp);
+std::string DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp);
 std::vector<std::string> ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp);
-std::string IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp);
-std::vector<EmailInfo> ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp);
-std::string EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp);
-std::string EntityAddChild(const VereignAccount &account, const AddChildForm& inp);
-std::string DocumentGetDocument(const VereignAccount &account);
-std::vector<ConfirmableAction> ActionGetActions(const VereignAccount &account, const GetActionsForm& inp);
+std::string EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp);
+std::string SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp);
 std::string IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp);
-std::vector<EntityMessage> PassportListPassports(const VereignAccount &account);
-std::string ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp);
-std::string PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp);
 
 
     VereignAccount LoginWithPublicKey(const std::string &pkey);
@@ -1803,52 +1953,48 @@ VereignAccount API::LoginWithPublicKey(const std::string &pkey) {
 }
 
 
-std::string API::DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp) {
-	return API::do_request<const PutIdentityImageForm, std::string>(account, "/document/putIdentityImage", inp);
-}
-
-std::string API::EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp) {
-	return API::do_request<const AddClaimForm, std::string>(account, "/entity/addClaim", inp);
-}
-
 std::string API::EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp) {
 	return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMember", inp);
 }
 
-std::string API::DocumentPutDocument(const VereignAccount &account) {
-	return API::do_request<std::string, std::string>(account, "/document/putDocument", "");
+std::string API::EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp) {
+	return API::do_request<const RemoveGuardedForm, std::string>(account, "/entity/removeGuarded", inp);
+}
+
+std::string API::EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp) {
+	return API::do_request<const DeleteEntityForm, std::string>(account, "/entity/deleteEntity", inp);
 }
 
 std::vector<FileInfo> API::DocumentListDocuments(const VereignAccount &account) {
 	return API::do_request<std::string, std::vector<FileInfo>>(account, "/document/listDocuments", "");
 }
 
-std::string API::DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp) {
-	return API::do_request<const GetIdentityImageForm, std::string>(account, "/document/getIdentityImage", inp);
+std::string API::PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp) {
+	return API::do_request<const CallFunctionForm, std::string>(account, "/passport/callFunction", inp);
 }
 
-PassportData API::PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp) {
-	return API::do_request<const GetAvatarByPassportForm, PassportData>(account, "/passport/getAvatarByPassport", inp);
+std::vector<std::string> API::ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp) {
+	return API::do_request<const AddEmailForm, std::vector<std::string>>(account, "/conversation/addEmail", inp);
 }
 
-std::string API::EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp) {
-	return API::do_request<const AddGuardianForm, std::string>(account, "/entity/addGuardian", inp);
+std::string API::ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp) {
+	return API::do_request<const AddActivityForm, std::string>(account, "/activity/addActivity", inp);
 }
 
-std::string API::EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp) {
-	return API::do_request<const RemoveGuardedForm, std::string>(account, "/entity/removeGuarded", inp);
+std::string API::IdentityRenameDevice(const VereignAccount &account, const RenameDeviceForm& inp) {
+	return API::do_request<const RenameDeviceForm, std::string>(account, "/identity/renameDevice", inp);
 }
 
-std::string API::EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp) {
-	return API::do_request<const RemoveParentForm, std::string>(account, "/entity/removeParent", inp);
+std::string API::DocumentGetDocument(const VereignAccount &account) {
+	return API::do_request<std::string, std::string>(account, "/document/getDocument", "");
 }
 
-std::vector<Interaction> API::PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp) {
-	return API::do_request<const GetInteractionsForm, std::vector<Interaction>>(account, "/passport/getInteractions", inp);
+std::string API::HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp) {
+	return API::do_request<const GetHyperLedgerHistoryForm, std::string>(account, "/hyperledger/transactionsHistory", inp);
 }
 
-std::string API::EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp) {
-	return API::do_request<const ClaimSendCodeForm, std::string>(account, "/entity/sendClaimCode", inp);
+std::string API::IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp) {
+	return API::do_request<const ConfirmNewCarddavPublicKeyForm, std::string>(account, "/identity/confirmNewCarddavPublicKey", inp);
 }
 
 std::string API::DocumentDeleteIdentityImage(const VereignAccount &account, const DeleteIdentityImageForm& inp) {
@@ -1859,196 +2005,224 @@ std::string API::PassportGetDIDs(const VereignAccount &account, const GetDIDsFor
 	return API::do_request<const GetDIDsForm, std::string>(account, "/passport/getDIDs", inp);
 }
 
-std::string API::EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp) {
-	return API::do_request<const AddClaimForm, std::string>(account, "/entity/updateClaim", inp);
+std::string API::PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp) {
+	return API::do_request<const GetEmailWithHeaderByPassportForm, std::string>(account, "/passport/getEmailWithHeaderByPassport", inp);
 }
 
-std::string API::EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp) {
-	return API::do_request<const RemoveViewerForm, std::string>(account, "/entity/removeViewer", inp);
+std::vector<ConfirmableAction> API::ActionGetActions(const VereignAccount &account, const GetActionsForm& inp) {
+	return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActions", inp);
 }
 
-std::string API::PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp) {
-	return API::do_request<const LinkClaimToPassportForm, std::string>(account, "/passport/linkClaim", inp);
+std::vector<EmailInfo> API::ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp) {
+	return API::do_request<const GetEmailsForm, std::vector<EmailInfo>>(account, "/conversation/getEmails", inp);
 }
 
-std::vector<Function> API::PassportListFunctions(const VereignAccount &account) {
-	return API::do_request<std::string, std::vector<Function>>(account, "/passport/listFunctions", "");
+std::string API::IdentityListDevices(const VereignAccount &account) {
+	return API::do_request<std::string, std::string>(account, "/identity/listDevices", "");
 }
 
-std::string API::HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp) {
-	return API::do_request<const GetHyperLedgerHistoryForm, std::string>(account, "/hyperledger/transactionsHistory", inp);
+std::string API::EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp) {
+	return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMemberOf", inp);
 }
 
-std::string API::IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp) {
-	return API::do_request<const ConfirmNewDeviceForm, std::string>(account, "/identity/confirmNewDevice", inp);
+std::string API::PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp) {
+	return API::do_request<const AttachFunctionToPassportClaimForm, std::string>(account, "/passport/attachFunction", inp);
 }
 
-std::string API::EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp) {
-	return API::do_request<const SendFeedbackForm, std::string>(account, "/email/sendFeedback", inp);
+std::vector<Interaction> API::PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp) {
+	return API::do_request<const GetInteractionsForm, std::vector<Interaction>>(account, "/passport/getInteractions", inp);
 }
 
-IdentityProfileData API::IdentityGetIdentityProfileData(const VereignAccount &account) {
-	return API::do_request<std::string, IdentityProfileData>(account, "/identity/getIdentityProfileData", "");
+PassportData API::PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp) {
+	return API::do_request<const GetAvatarByPassportForm, PassportData>(account, "/passport/getAvatarByPassport", inp);
 }
 
-std::string API::PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp) {
-	return API::do_request<const AttachFunctionToPassportClaimForm, std::string>(account, "/passport/attachFunction", inp);
+GenerateCredentialsResponse API::IdentityGenerateCredentials(const VereignAccount &account) {
+	return API::do_request<std::string, GenerateCredentialsResponse>(account, "/identity/generateCredentials", "");
 }
 
-std::vector<ConfirmableAction> API::ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp) {
-	return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActionsWithoutSession", inp);
+std::string API::EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp) {
+	return API::do_request<const AddGuardedForm, std::string>(account, "/entity/addGuarded", inp);
 }
 
-GenerateCredentialsResponse API::IdentityGenerateCredentials(const VereignAccount &account) {
-	return API::do_request<std::string, GenerateCredentialsResponse>(account, "/identity/generateCredentials", "");
+std::string API::DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp) {
+	return API::do_request<const GetDocumentByUUIDForm, std::string>(account, "/document/getDocumentByUUID", inp);
 }
 
-std::string API::PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp) {
-	return API::do_request<const GetEmailWithHeaderByPassportForm, std::string>(account, "/passport/getEmailWithHeaderByPassport", inp);
+std::vector<ActivityDelta> API::ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp) {
+	return API::do_request<const GetActivityForm, std::vector<ActivityDelta>>(account, "/activity/getActivity", inp);
 }
 
-std::vector<EntityMessage> API::EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp) {
-	return API::do_request<const GetEntityForm, std::vector<EntityMessage>>(account, "/entity/getEntity", inp);
+std::string API::EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp) {
+	return API::do_request<const RemoveGuardianForm, std::string>(account, "/entity/removeGuardian", inp);
 }
 
-std::string API::EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp) {
-	return API::do_request<const CreateEntityForm, std::string>(account, "/entity/createEntity", inp);
+std::string API::EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp) {
+	return API::do_request<const RemoveParentForm, std::string>(account, "/entity/removeParent", inp);
 }
 
-std::string API::DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp) {
-	return API::do_request<const GetDocumentByUUIDForm, std::string>(account, "/document/getDocumentByUUID", inp);
+std::string API::EntityAddChild(const VereignAccount &account, const AddChildForm& inp) {
+	return API::do_request<const AddChildForm, std::string>(account, "/entity/addChild", inp);
 }
 
-std::string API::PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp) {
-	return API::do_request<const StoreDIDsForm, std::string>(account, "/passport/storeDIDs", inp);
+std::string API::EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp) {
+	return API::do_request<const RemoveChildForm, std::string>(account, "/entity/removeChild", inp);
 }
 
-std::string API::IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp) {
-	return API::do_request<const CancelActionForm, std::string>(account, "/identity/cancelAction", inp);
+std::string API::DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp) {
+	return API::do_request<const PutIdentityImageForm, std::string>(account, "/document/putIdentityImage", inp);
 }
 
-std::vector<ActivityDelta> API::ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp) {
-	return API::do_request<const GetActivityForm, std::vector<ActivityDelta>>(account, "/activity/getActivity", inp);
+std::string API::IdentityRevokeDevice(const VereignAccount &account, const RevokeDeviceForm& inp) {
+	return API::do_request<const RevokeDeviceForm, std::string>(account, "/identity/revokeDevice", inp);
 }
 
-std::string API::EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp) {
-	return API::do_request<const DeleteEntityForm, std::string>(account, "/entity/deleteEntity", inp);
+std::vector<Function> API::PassportListFunctions(const VereignAccount &account) {
+	return API::do_request<std::string, std::vector<Function>>(account, "/passport/listFunctions", "");
 }
 
-std::string API::EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp) {
-	return API::do_request<const RemoveChildForm, std::string>(account, "/entity/removeChild", inp);
+std::string API::ConversationUpdateRecipientEmailStatus(const VereignAccount &account, const UpdateRecipientEmailStatusForm& inp) {
+	return API::do_request<const UpdateRecipientEmailStatusForm, std::string>(account, "/conversation/updateRecipientEmailStatus", inp);
 }
 
-std::string API::DocumentCreateDocument(const VereignAccount &account) {
-	return API::do_request<std::string, std::string>(account, "/document/createDocument", "");
+std::string API::EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp) {
+	return API::do_request<const SendFeedbackForm, std::string>(account, "/email/sendFeedback", inp);
 }
 
-std::string API::EntityAddParent(const VereignAccount &account, const AddParentForm& inp) {
-	return API::do_request<const AddParentForm, std::string>(account, "/entity/addParent", inp);
+std::string API::PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp) {
+	return API::do_request<const GenerateDIDsForm, std::string>(account, "/passport/generateDIDs", inp);
 }
 
-std::string API::EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp) {
-	return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMemberOf", inp);
+std::string API::EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp) {
+	return API::do_request<const ClaimSendCodeForm, std::string>(account, "/entity/sendClaimCode", inp);
 }
 
-std::string API::EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp) {
-	return API::do_request<const RemoveGuardianForm, std::string>(account, "/entity/removeGuardian", inp);
+std::string API::EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp) {
+	return API::do_request<const AddGuardianForm, std::string>(account, "/entity/addGuardian", inp);
 }
 
-std::string API::EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp) {
-	return API::do_request<const AddViewerForm, std::string>(account, "/entity/addViewer", inp);
+std::string API::EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp) {
+	return API::do_request<const RemoveViewerForm, std::string>(account, "/entity/removeViewer", inp);
 }
 
-std::string API::SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp) {
-	return API::do_request<const ResignSMIMEForm, std::string>(account, "/sign/resignEmail", inp);
+std::string API::PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp) {
+	return API::do_request<const LinkClaimToPassportForm, std::string>(account, "/passport/linkClaim", inp);
 }
 
-std::string API::EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp) {
-	return API::do_request<const DeleteClaimForm, std::string>(account, "/entity/deleteClaim", inp);
+std::vector<EntityMessage_V1> API::PassportListPassports(const VereignAccount &account) {
+	return API::do_request<std::string, std::vector<EntityMessage_V1>>(account, "/passport/listPassports", "");
 }
 
-std::vector<Event> API::EventGetEvents(const VereignAccount &account, const GetEventsForm& inp) {
-	return API::do_request<const GetEventsForm, std::vector<Event>>(account, "/event/getEvents", inp);
+std::vector<ConfirmableAction> API::ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp) {
+	return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActionsWithoutSession", inp);
 }
 
-std::string API::EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp) {
-	return API::do_request<const ClaimVerifyCodeForm, std::string>(account, "/entity/verifyClaimCode", inp);
+std::string API::ConversationInitializeEmailStatus(const VereignAccount &account, const InitializeEmailStatusForm& inp) {
+	return API::do_request<const InitializeEmailStatusForm, std::string>(account, "/conversation/initializeEmailStatus", inp);
 }
 
-std::string API::PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp) {
-	return API::do_request<const CallFunctionForm, std::string>(account, "/passport/callFunction", inp);
+std::string API::IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp) {
+	return API::do_request<const CancelActionForm, std::string>(account, "/identity/cancelAction", inp);
 }
 
-std::string API::HyperledgerGetInfo(const VereignAccount &account) {
-	return API::do_request<std::string, std::string>(account, "/hyperledger/getInfo", "");
+std::vector<EntityMessage_V1> API::EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp) {
+	return API::do_request<const GetEntityForm, std::vector<EntityMessage_V1>>(account, "/entity/getEntity", inp);
 }
 
-std::string API::EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp) {
-	return API::do_request<const AddMemberOfForm, std::string>(account, "/entity/addMemberOf", inp);
+std::string API::EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp) {
+	return API::do_request<const CreateEntityForm, std::string>(account, "/entity/createEntity", inp);
+}
+
+std::string API::EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp) {
+	return API::do_request<const AddViewerForm, std::string>(account, "/entity/addViewer", inp);
 }
 
 FileInfo API::DocumentGetFileInfo(const VereignAccount &account) {
 	return API::do_request<std::string, FileInfo>(account, "/document/getFileInfo", "");
 }
 
-Register2FAPublicKeyResponse API::IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp) {
-	return API::do_request<const Register2FAPublicKeyForm, Register2FAPublicKeyResponse>(account, "/identity/register2FAPublicKey", inp);
+std::string API::IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp) {
+	return API::do_request<const ConfirmNewDeviceForm, std::string>(account, "/identity/confirmNewDevice", inp);
+}
+
+std::string API::EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp) {
+	return API::do_request<const AddClaimForm, std::string>(account, "/entity/updateClaim", inp);
+}
+
+std::string API::EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp) {
+	return API::do_request<const DeleteClaimForm, std::string>(account, "/entity/deleteClaim", inp);
 }
 
 std::string API::EntityAddMember(const VereignAccount &account, const AddMemberForm& inp) {
 	return API::do_request<const AddMemberForm, std::string>(account, "/entity/addMember", inp);
 }
 
-std::string API::EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp) {
-	return API::do_request<const AddGuardedForm, std::string>(account, "/entity/addGuarded", inp);
+std::string API::EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp) {
+	return API::do_request<const AddMemberOfForm, std::string>(account, "/entity/addMemberOf", inp);
 }
 
-std::vector<std::string> API::ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp) {
-	return API::do_request<const AddEmailForm, std::vector<std::string>>(account, "/conversation/addEmail", inp);
+std::string API::ConversationGetEmailStatus(const VereignAccount &account, const GetEmailStatusForm& inp) {
+	return API::do_request<const GetEmailStatusForm, std::string>(account, "/conversation/getEmailStatus", inp);
 }
 
-std::vector<std::string> API::ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp) {
-	return API::do_request<const GetConversationsForm, std::vector<std::string>>(account, "/conversation/getConversations", inp);
+IdentityProfileData API::IdentityGetIdentityProfileData(const VereignAccount &account) {
+	return API::do_request<std::string, IdentityProfileData>(account, "/identity/getIdentityProfileData", "");
 }
 
-std::string API::IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp) {
-	return API::do_request<const ConfirmNewCarddavPublicKeyForm, std::string>(account, "/identity/confirmNewCarddavPublicKey", inp);
+std::string API::EntityAddParent(const VereignAccount &account, const AddParentForm& inp) {
+	return API::do_request<const AddParentForm, std::string>(account, "/entity/addParent", inp);
 }
 
-std::vector<EmailInfo> API::ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp) {
-	return API::do_request<const GetEmailsForm, std::vector<EmailInfo>>(account, "/conversation/getEmails", inp);
+std::string API::HyperledgerGetInfo(const VereignAccount &account) {
+	return API::do_request<std::string, std::string>(account, "/hyperledger/getInfo", "");
 }
 
 std::string API::EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp) {
 	return API::do_request<const SendEmailSmtpForm, std::string>(account, "/email/sendEmailSmtp", inp);
 }
 
-std::string API::EntityAddChild(const VereignAccount &account, const AddChildForm& inp) {
-	return API::do_request<const AddChildForm, std::string>(account, "/entity/addChild", inp);
+std::string API::PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp) {
+	return API::do_request<const StoreDIDsForm, std::string>(account, "/passport/storeDIDs", inp);
 }
 
-std::string API::DocumentGetDocument(const VereignAccount &account) {
-	return API::do_request<std::string, std::string>(account, "/document/getDocument", "");
+std::string API::EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp) {
+	return API::do_request<const AddClaimForm, std::string>(account, "/entity/addClaim", inp);
 }
 
-std::vector<ConfirmableAction> API::ActionGetActions(const VereignAccount &account, const GetActionsForm& inp) {
-	return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActions", inp);
+Register2FAPublicKeyResponse API::IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp) {
+	return API::do_request<const Register2FAPublicKeyForm, Register2FAPublicKeyResponse>(account, "/identity/register2FAPublicKey", inp);
 }
 
-std::string API::IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp) {
-	return API::do_request<const ConfirmActionExecutionForm, std::string>(account, "/identity/confirmAction", inp);
+std::vector<Event> API::EventGetEvents(const VereignAccount &account, const GetEventsForm& inp) {
+	return API::do_request<const GetEventsForm, std::vector<Event>>(account, "/event/getEvents", inp);
 }
 
-std::vector<EntityMessage> API::PassportListPassports(const VereignAccount &account) {
-	return API::do_request<std::string, std::vector<EntityMessage>>(account, "/passport/listPassports", "");
+std::string API::IdentityResumeDevice(const VereignAccount &account, const ResumeDeviceForm& inp) {
+	return API::do_request<const ResumeDeviceForm, std::string>(account, "/identity/resumeDevice", inp);
 }
 
-std::string API::ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp) {
-	return API::do_request<const AddActivityForm, std::string>(account, "/activity/addActivity", inp);
+std::string API::IdentitySuspendDevice(const VereignAccount &account, const SuspendDeviceForm& inp) {
+	return API::do_request<const SuspendDeviceForm, std::string>(account, "/identity/suspendDevice", inp);
 }
 
-std::string API::PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp) {
-	return API::do_request<const GenerateDIDsForm, std::string>(account, "/passport/generateDIDs", inp);
+std::string API::DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp) {
+	return API::do_request<const GetIdentityImageForm, std::string>(account, "/document/getIdentityImage", inp);
+}
+
+std::vector<std::string> API::ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp) {
+	return API::do_request<const GetConversationsForm, std::vector<std::string>>(account, "/conversation/getConversations", inp);
+}
+
+std::string API::EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp) {
+	return API::do_request<const ClaimVerifyCodeForm, std::string>(account, "/entity/verifyClaimCode", inp);
+}
+
+std::string API::SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp) {
+	return API::do_request<const ResignSMIMEForm, std::string>(account, "/sign/resignEmail", inp);
+}
+
+std::string API::IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp) {
+	return API::do_request<const ConfirmActionExecutionForm, std::string>(account, "/identity/confirmAction", inp);
 }
 
 
@@ -2088,19 +2262,12 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u
     if (!a.session.empty())
         list = curl_slist_append(list, ("token: " + a.session).c_str());
 
-    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-    curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
-
-    std::cout << "url = " << this->url +  url << std::endl;
-
     curl_easy_setopt(curl, CURLOPT_URL, (this->url + url).c_str());
-    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
     curl_easy_setopt(curl, CURLOPT_USERAGENT, "vcl");
     curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
     curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
 
 
-
     if (!inp.empty()) {
         curl_easy_setopt(curl, CURLOPT_POSTFIELDS, inp.c_str());
     } else {
@@ -2121,3 +2288,5 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u
 
 
 } /// namespace vereign
+
+#endif // VEREIGN_TEMPLATE_HPP
\ No newline at end of file
diff --git a/cpp/vereign_tmpl.hpp b/cpp/vereign_tmpl.hpp
index 4b07c1f3431fd18a8059c145cbea52c9545f96cf..ee75051779fb7d8008e2b42a3576e1f722d9adce 100644
--- a/cpp/vereign_tmpl.hpp
+++ b/cpp/vereign_tmpl.hpp
@@ -1,7 +1,6 @@
-/*
- *  Autogenerated file. DO NOT EDIT !!!!
- *
- */
+#ifndef VEREIGN_TEMPLATE_HPP
+#define VEREIGN_TEMPLATE_HPP
+
 #include <string>
 #include <curl/curl.h>
 #include <vector>
@@ -154,19 +153,12 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u
     if (!a.session.empty())
         list = curl_slist_append(list, ("token: " + a.session).c_str());
 
-    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-    curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
-
-    std::cout << "url = " << this->url +  url << std::endl;
-
     curl_easy_setopt(curl, CURLOPT_URL, (this->url + url).c_str());
-    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
     curl_easy_setopt(curl, CURLOPT_USERAGENT, "vcl");
     curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
     curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
 
 
-
     if (!inp.empty()) {
         curl_easy_setopt(curl, CURLOPT_POSTFIELDS, inp.c_str());
     } else {
@@ -187,3 +179,5 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u
 
 
 } /// namespace vereign
+
+#endif // VEREIGN_TEMPLATE_HPP
\ No newline at end of file