diff --git a/.jupyter/api_authentication/api/user_endpoint_api.py b/.jupyter/api_authentication/api/user_endpoint_api.py
index 40ba9632a02912ec9fd5d6167d27b8b14ebe7760..e6a913e11433557346ee7cab11c9632d90d8bdfd 100644
--- a/.jupyter/api_authentication/api/user_endpoint_api.py
+++ b/.jupyter/api_authentication/api/user_endpoint_api.py
@@ -231,7 +231,7 @@ class UserEndpointApi(object):
         >>> result = thread.get()
 
         :param async_req bool
-        :return: list[UserDto]
+        :return: list[UserBriefDto]
                  If the method is called asynchronously,
                  returns the request thread.
         """
@@ -251,7 +251,7 @@ class UserEndpointApi(object):
         >>> result = thread.get()
 
         :param async_req bool
-        :return: list[UserDto]
+        :return: list[UserBriefDto]
                  If the method is called asynchronously,
                  returns the request thread.
         """
@@ -289,7 +289,7 @@ class UserEndpointApi(object):
             ['*/*'])  # noqa: E501
 
         # Authentication setting
-        auth_settings = ['bearerAuth']  # noqa: E501
+        auth_settings = []  # noqa: E501
 
         return self.api_client.call_api(
             '/api/user', 'GET',
@@ -299,7 +299,7 @@ class UserEndpointApi(object):
             body=body_params,
             post_params=form_params,
             files=local_var_files,
-            response_type='list[UserDto]',  # noqa: E501
+            response_type='list[UserBriefDto]',  # noqa: E501
             auth_settings=auth_settings,
             async_req=params.get('async_req'),
             _return_http_data_only=params.get('_return_http_data_only'),
diff --git a/.jupyter/api_authentication/models/database_dto.py b/.jupyter/api_authentication/models/database_dto.py
index baeaf0e46fa9a534e439e687533e6e6e86300d83..6119a4d801d552d4994ae04eae81b457e5c98622 100644
--- a/.jupyter/api_authentication/models/database_dto.py
+++ b/.jupyter/api_authentication/models/database_dto.py
@@ -28,322 +28,334 @@ class DatabaseDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'id': 'int',
-        'name': 'str',
-        'exchange': 'str',
-        'creator': 'UserBriefDto',
-        'subjects': 'list[str]',
-        'language': 'str',
-        'license': 'LicenseDto',
-        'description': 'str',
-        'publisher': 'str',
-        'contact': 'UserDto',
+        'database_id': 'int',
+        'database_name': 'str',
+        'database_exchange': 'str',
+        'database_creator': 'UserBriefDto',
+        'database_subjects': 'list[str]',
+        'database_language': 'str',
+        'database_license': 'LicenseDto',
+        'database_description': 'str',
+        'database_publisher': 'str',
+        'database_contact_person': 'UserDto',
         'tables': 'list[TableBriefDto]',
-        'image': 'ImageDto',
+        'database_container_image': 'ImageDto',
         'container': 'ContainerDto',
-        'created': 'datetime',
+        'database_creation_time': 'datetime',
         'deleted': 'datetime',
-        'internal_name': 'str',
-        'publication_year': 'int',
-        'is_public': 'bool'
+        'database_internal_name': 'str',
+        'database_publication_year': 'int',
+        'database_publication_month': 'int',
+        'database_publication_day': 'int',
+        'database_public': 'bool'
     }
 
     attribute_map = {
-        'id': 'id',
-        'name': 'name',
-        'exchange': 'exchange',
-        'creator': 'creator',
-        'subjects': 'subjects',
-        'language': 'language',
-        'license': 'license',
-        'description': 'description',
-        'publisher': 'publisher',
-        'contact': 'contact',
+        'database_id': 'database id',
+        'database_name': 'database name',
+        'database_exchange': 'database exchange',
+        'database_creator': 'database creator',
+        'database_subjects': 'database subjects',
+        'database_language': 'database language',
+        'database_license': 'database license',
+        'database_description': 'database description',
+        'database_publisher': 'database publisher',
+        'database_contact_person': 'database contact person',
         'tables': 'tables',
-        'image': 'image',
+        'database_container_image': 'database container image',
         'container': 'container',
-        'created': 'created',
+        'database_creation_time': 'database creation time',
         'deleted': 'deleted',
-        'internal_name': 'internal_name',
-        'publication_year': 'publication_year',
-        'is_public': 'is_public'
+        'database_internal_name': 'database internal name',
+        'database_publication_year': 'database publication year',
+        'database_publication_month': 'database publication month',
+        'database_publication_day': 'database publication day',
+        'database_public': 'database public'
     }
 
-    def __init__(self, id=None, name=None, exchange=None, creator=None, subjects=None, language=None, license=None, description=None, publisher=None, contact=None, tables=None, image=None, container=None, created=None, deleted=None, internal_name=None, publication_year=None, is_public=None):  # noqa: E501
+    def __init__(self, database_id=None, database_name=None, database_exchange=None, database_creator=None, database_subjects=None, database_language=None, database_license=None, database_description=None, database_publisher=None, database_contact_person=None, tables=None, database_container_image=None, container=None, database_creation_time=None, deleted=None, database_internal_name=None, database_publication_year=None, database_publication_month=None, database_publication_day=None, database_public=None):  # noqa: E501
         """DatabaseDto - a model defined in Swagger"""  # noqa: E501
-        self._id = None
-        self._name = None
-        self._exchange = None
-        self._creator = None
-        self._subjects = None
-        self._language = None
-        self._license = None
-        self._description = None
-        self._publisher = None
-        self._contact = None
+        self._database_id = None
+        self._database_name = None
+        self._database_exchange = None
+        self._database_creator = None
+        self._database_subjects = None
+        self._database_language = None
+        self._database_license = None
+        self._database_description = None
+        self._database_publisher = None
+        self._database_contact_person = None
         self._tables = None
-        self._image = None
+        self._database_container_image = None
         self._container = None
-        self._created = None
+        self._database_creation_time = None
         self._deleted = None
-        self._internal_name = None
-        self._publication_year = None
-        self._is_public = None
+        self._database_internal_name = None
+        self._database_publication_year = None
+        self._database_publication_month = None
+        self._database_publication_day = None
+        self._database_public = None
         self.discriminator = None
-        self.id = id
-        self.name = name
-        self.exchange = exchange
-        self.creator = creator
-        if subjects is not None:
-            self.subjects = subjects
-        if language is not None:
-            self.language = language
-        if license is not None:
-            self.license = license
-        if description is not None:
-            self.description = description
-        if publisher is not None:
-            self.publisher = publisher
-        if contact is not None:
-            self.contact = contact
+        self.database_id = database_id
+        self.database_name = database_name
+        self.database_exchange = database_exchange
+        self.database_creator = database_creator
+        if database_subjects is not None:
+            self.database_subjects = database_subjects
+        if database_language is not None:
+            self.database_language = database_language
+        if database_license is not None:
+            self.database_license = database_license
+        self.database_description = database_description
+        if database_publisher is not None:
+            self.database_publisher = database_publisher
+        if database_contact_person is not None:
+            self.database_contact_person = database_contact_person
         if tables is not None:
             self.tables = tables
-        if image is not None:
-            self.image = image
+        if database_container_image is not None:
+            self.database_container_image = database_container_image
         if container is not None:
             self.container = container
-        if created is not None:
-            self.created = created
+        if database_creation_time is not None:
+            self.database_creation_time = database_creation_time
         if deleted is not None:
             self.deleted = deleted
-        self.internal_name = internal_name
-        self.publication_year = publication_year
-        if is_public is not None:
-            self.is_public = is_public
+        self.database_internal_name = database_internal_name
+        if database_publication_year is not None:
+            self.database_publication_year = database_publication_year
+        if database_publication_month is not None:
+            self.database_publication_month = database_publication_month
+        if database_publication_day is not None:
+            self.database_publication_day = database_publication_day
+        if database_public is not None:
+            self.database_public = database_public
 
     @property
-    def id(self):
-        """Gets the id of this DatabaseDto.  # noqa: E501
+    def database_id(self):
+        """Gets the database_id of this DatabaseDto.  # noqa: E501
 
 
-        :return: The id of this DatabaseDto.  # noqa: E501
+        :return: The database_id of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._id
+        return self._database_id
 
-    @id.setter
-    def id(self, id):
-        """Sets the id of this DatabaseDto.
+    @database_id.setter
+    def database_id(self, database_id):
+        """Sets the database_id of this DatabaseDto.
 
 
-        :param id: The id of this DatabaseDto.  # noqa: E501
+        :param database_id: The database_id of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if id is None:
-            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+        if database_id is None:
+            raise ValueError("Invalid value for `database_id`, must not be `None`")  # noqa: E501
 
-        self._id = id
+        self._database_id = database_id
 
     @property
-    def name(self):
-        """Gets the name of this DatabaseDto.  # noqa: E501
+    def database_name(self):
+        """Gets the database_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The name of this DatabaseDto.  # noqa: E501
+        :return: The database_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._name
+        return self._database_name
 
-    @name.setter
-    def name(self, name):
-        """Sets the name of this DatabaseDto.
+    @database_name.setter
+    def database_name(self, database_name):
+        """Sets the database_name of this DatabaseDto.
 
 
-        :param name: The name of this DatabaseDto.  # noqa: E501
+        :param database_name: The database_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if name is None:
-            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
+        if database_name is None:
+            raise ValueError("Invalid value for `database_name`, must not be `None`")  # noqa: E501
 
-        self._name = name
+        self._database_name = database_name
 
     @property
-    def exchange(self):
-        """Gets the exchange of this DatabaseDto.  # noqa: E501
+    def database_exchange(self):
+        """Gets the database_exchange of this DatabaseDto.  # noqa: E501
 
 
-        :return: The exchange of this DatabaseDto.  # noqa: E501
+        :return: The database_exchange of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._exchange
+        return self._database_exchange
 
-    @exchange.setter
-    def exchange(self, exchange):
-        """Sets the exchange of this DatabaseDto.
+    @database_exchange.setter
+    def database_exchange(self, database_exchange):
+        """Sets the database_exchange of this DatabaseDto.
 
 
-        :param exchange: The exchange of this DatabaseDto.  # noqa: E501
+        :param database_exchange: The database_exchange of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if exchange is None:
-            raise ValueError("Invalid value for `exchange`, must not be `None`")  # noqa: E501
+        if database_exchange is None:
+            raise ValueError("Invalid value for `database_exchange`, must not be `None`")  # noqa: E501
 
-        self._exchange = exchange
+        self._database_exchange = database_exchange
 
     @property
-    def creator(self):
-        """Gets the creator of this DatabaseDto.  # noqa: E501
+    def database_creator(self):
+        """Gets the database_creator of this DatabaseDto.  # noqa: E501
 
 
-        :return: The creator of this DatabaseDto.  # noqa: E501
+        :return: The database_creator of this DatabaseDto.  # noqa: E501
         :rtype: UserBriefDto
         """
-        return self._creator
+        return self._database_creator
 
-    @creator.setter
-    def creator(self, creator):
-        """Sets the creator of this DatabaseDto.
+    @database_creator.setter
+    def database_creator(self, database_creator):
+        """Sets the database_creator of this DatabaseDto.
 
 
-        :param creator: The creator of this DatabaseDto.  # noqa: E501
+        :param database_creator: The database_creator of this DatabaseDto.  # noqa: E501
         :type: UserBriefDto
         """
-        if creator is None:
-            raise ValueError("Invalid value for `creator`, must not be `None`")  # noqa: E501
+        if database_creator is None:
+            raise ValueError("Invalid value for `database_creator`, must not be `None`")  # noqa: E501
 
-        self._creator = creator
+        self._database_creator = database_creator
 
     @property
-    def subjects(self):
-        """Gets the subjects of this DatabaseDto.  # noqa: E501
+    def database_subjects(self):
+        """Gets the database_subjects of this DatabaseDto.  # noqa: E501
 
 
-        :return: The subjects of this DatabaseDto.  # noqa: E501
+        :return: The database_subjects of this DatabaseDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subjects
+        return self._database_subjects
 
-    @subjects.setter
-    def subjects(self, subjects):
-        """Sets the subjects of this DatabaseDto.
+    @database_subjects.setter
+    def database_subjects(self, database_subjects):
+        """Sets the database_subjects of this DatabaseDto.
 
 
-        :param subjects: The subjects of this DatabaseDto.  # noqa: E501
+        :param database_subjects: The database_subjects of this DatabaseDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subjects = subjects
+        self._database_subjects = database_subjects
 
     @property
-    def language(self):
-        """Gets the language of this DatabaseDto.  # noqa: E501
+    def database_language(self):
+        """Gets the database_language of this DatabaseDto.  # noqa: E501
 
 
-        :return: The language of this DatabaseDto.  # noqa: E501
+        :return: The database_language of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._language
+        return self._database_language
 
-    @language.setter
-    def language(self, language):
-        """Sets the language of this DatabaseDto.
+    @database_language.setter
+    def database_language(self, database_language):
+        """Sets the database_language of this DatabaseDto.
 
 
-        :param language: The language of this DatabaseDto.  # noqa: E501
+        :param database_language: The database_language of this DatabaseDto.  # noqa: E501
         :type: str
         """
         allowed_values = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "km", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gd", "gl", "lg", "ka", "de", "ki", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "rw", "kv", "kg", "ko", "kj", "ku", "ky", "lo", "la", "lv", "lb", "li", "ln", "lt", "lu", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "ro", "mn", "na", "nv", "nd", "ng", "ne", "se", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "pa", "ps", "fa", "pl", "pt", "qu", "rm", "rn", "ru", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "nr", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "fy", "wo", "xh", "yi", "yo", "za", "zu"]  # noqa: E501
-        if language not in allowed_values:
+        if database_language not in allowed_values:
             raise ValueError(
-                "Invalid value for `language` ({0}), must be one of {1}"  # noqa: E501
-                .format(language, allowed_values)
+                "Invalid value for `database_language` ({0}), must be one of {1}"  # noqa: E501
+                .format(database_language, allowed_values)
             )
 
-        self._language = language
+        self._database_language = database_language
 
     @property
-    def license(self):
-        """Gets the license of this DatabaseDto.  # noqa: E501
+    def database_license(self):
+        """Gets the database_license of this DatabaseDto.  # noqa: E501
 
 
-        :return: The license of this DatabaseDto.  # noqa: E501
+        :return: The database_license of this DatabaseDto.  # noqa: E501
         :rtype: LicenseDto
         """
-        return self._license
+        return self._database_license
 
-    @license.setter
-    def license(self, license):
-        """Sets the license of this DatabaseDto.
+    @database_license.setter
+    def database_license(self, database_license):
+        """Sets the database_license of this DatabaseDto.
 
 
-        :param license: The license of this DatabaseDto.  # noqa: E501
+        :param database_license: The database_license of this DatabaseDto.  # noqa: E501
         :type: LicenseDto
         """
 
-        self._license = license
+        self._database_license = database_license
 
     @property
-    def description(self):
-        """Gets the description of this DatabaseDto.  # noqa: E501
+    def database_description(self):
+        """Gets the database_description of this DatabaseDto.  # noqa: E501
 
 
-        :return: The description of this DatabaseDto.  # noqa: E501
+        :return: The database_description of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._description
+        return self._database_description
 
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseDto.
+    @database_description.setter
+    def database_description(self, database_description):
+        """Sets the database_description of this DatabaseDto.
 
 
-        :param description: The description of this DatabaseDto.  # noqa: E501
+        :param database_description: The database_description of this DatabaseDto.  # noqa: E501
         :type: str
         """
+        if database_description is None:
+            raise ValueError("Invalid value for `database_description`, must not be `None`")  # noqa: E501
 
-        self._description = description
+        self._database_description = database_description
 
     @property
-    def publisher(self):
-        """Gets the publisher of this DatabaseDto.  # noqa: E501
+    def database_publisher(self):
+        """Gets the database_publisher of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publisher of this DatabaseDto.  # noqa: E501
+        :return: The database_publisher of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._publisher
+        return self._database_publisher
 
-    @publisher.setter
-    def publisher(self, publisher):
-        """Sets the publisher of this DatabaseDto.
+    @database_publisher.setter
+    def database_publisher(self, database_publisher):
+        """Sets the database_publisher of this DatabaseDto.
 
 
-        :param publisher: The publisher of this DatabaseDto.  # noqa: E501
+        :param database_publisher: The database_publisher of this DatabaseDto.  # noqa: E501
         :type: str
         """
 
-        self._publisher = publisher
+        self._database_publisher = database_publisher
 
     @property
-    def contact(self):
-        """Gets the contact of this DatabaseDto.  # noqa: E501
+    def database_contact_person(self):
+        """Gets the database_contact_person of this DatabaseDto.  # noqa: E501
 
 
-        :return: The contact of this DatabaseDto.  # noqa: E501
+        :return: The database_contact_person of this DatabaseDto.  # noqa: E501
         :rtype: UserDto
         """
-        return self._contact
+        return self._database_contact_person
 
-    @contact.setter
-    def contact(self, contact):
-        """Sets the contact of this DatabaseDto.
+    @database_contact_person.setter
+    def database_contact_person(self, database_contact_person):
+        """Sets the database_contact_person of this DatabaseDto.
 
 
-        :param contact: The contact of this DatabaseDto.  # noqa: E501
+        :param database_contact_person: The database_contact_person of this DatabaseDto.  # noqa: E501
         :type: UserDto
         """
 
-        self._contact = contact
+        self._database_contact_person = database_contact_person
 
     @property
     def tables(self):
@@ -367,25 +379,25 @@ class DatabaseDto(object):
         self._tables = tables
 
     @property
-    def image(self):
-        """Gets the image of this DatabaseDto.  # noqa: E501
+    def database_container_image(self):
+        """Gets the database_container_image of this DatabaseDto.  # noqa: E501
 
 
-        :return: The image of this DatabaseDto.  # noqa: E501
+        :return: The database_container_image of this DatabaseDto.  # noqa: E501
         :rtype: ImageDto
         """
-        return self._image
+        return self._database_container_image
 
-    @image.setter
-    def image(self, image):
-        """Sets the image of this DatabaseDto.
+    @database_container_image.setter
+    def database_container_image(self, database_container_image):
+        """Sets the database_container_image of this DatabaseDto.
 
 
-        :param image: The image of this DatabaseDto.  # noqa: E501
+        :param database_container_image: The database_container_image of this DatabaseDto.  # noqa: E501
         :type: ImageDto
         """
 
-        self._image = image
+        self._database_container_image = database_container_image
 
     @property
     def container(self):
@@ -409,25 +421,25 @@ class DatabaseDto(object):
         self._container = container
 
     @property
-    def created(self):
-        """Gets the created of this DatabaseDto.  # noqa: E501
+    def database_creation_time(self):
+        """Gets the database_creation_time of this DatabaseDto.  # noqa: E501
 
 
-        :return: The created of this DatabaseDto.  # noqa: E501
+        :return: The database_creation_time of this DatabaseDto.  # noqa: E501
         :rtype: datetime
         """
-        return self._created
+        return self._database_creation_time
 
-    @created.setter
-    def created(self, created):
-        """Sets the created of this DatabaseDto.
+    @database_creation_time.setter
+    def database_creation_time(self, database_creation_time):
+        """Sets the database_creation_time of this DatabaseDto.
 
 
-        :param created: The created of this DatabaseDto.  # noqa: E501
+        :param database_creation_time: The database_creation_time of this DatabaseDto.  # noqa: E501
         :type: datetime
         """
 
-        self._created = created
+        self._database_creation_time = database_creation_time
 
     @property
     def deleted(self):
@@ -451,71 +463,111 @@ class DatabaseDto(object):
         self._deleted = deleted
 
     @property
-    def internal_name(self):
-        """Gets the internal_name of this DatabaseDto.  # noqa: E501
+    def database_internal_name(self):
+        """Gets the database_internal_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The internal_name of this DatabaseDto.  # noqa: E501
+        :return: The database_internal_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._internal_name
+        return self._database_internal_name
 
-    @internal_name.setter
-    def internal_name(self, internal_name):
-        """Sets the internal_name of this DatabaseDto.
+    @database_internal_name.setter
+    def database_internal_name(self, database_internal_name):
+        """Sets the database_internal_name of this DatabaseDto.
 
 
-        :param internal_name: The internal_name of this DatabaseDto.  # noqa: E501
+        :param database_internal_name: The database_internal_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if internal_name is None:
-            raise ValueError("Invalid value for `internal_name`, must not be `None`")  # noqa: E501
+        if database_internal_name is None:
+            raise ValueError("Invalid value for `database_internal_name`, must not be `None`")  # noqa: E501
 
-        self._internal_name = internal_name
+        self._database_internal_name = database_internal_name
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_year of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._database_publication_year
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseDto.
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseDto.
 
 
-        :param publication_year: The publication_year of this DatabaseDto.  # noqa: E501
+        :param database_publication_year: The database_publication_year of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._database_publication_year = database_publication_year
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseDto.  # noqa: E501
+    def database_publication_month(self):
+        """Gets the database_publication_month of this DatabaseDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_month
+
+    @database_publication_month.setter
+    def database_publication_month(self, database_publication_month):
+        """Sets the database_publication_month of this DatabaseDto.
+
+
+        :param database_publication_month: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_month = database_publication_month
+
+    @property
+    def database_publication_day(self):
+        """Gets the database_publication_day of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_day
+
+    @database_publication_day.setter
+    def database_publication_day(self, database_publication_day):
+        """Sets the database_publication_day of this DatabaseDto.
+
+
+        :param database_publication_day: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_day = database_publication_day
+
+    @property
+    def database_public(self):
+        """Gets the database_public of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_public of this DatabaseDto.  # noqa: E501
         :rtype: bool
         """
-        return self._is_public
+        return self._database_public
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseDto.
+    @database_public.setter
+    def database_public(self, database_public):
+        """Sets the database_public of this DatabaseDto.
 
 
-        :param is_public: The is_public of this DatabaseDto.  # noqa: E501
+        :param database_public: The database_public of this DatabaseDto.  # noqa: E501
         :type: bool
         """
 
-        self._is_public = is_public
+        self._database_public = database_public
 
     def to_dict(self):
         """Returns the model properties as a dict"""
diff --git a/.jupyter/api_container/models/database_dto.py b/.jupyter/api_container/models/database_dto.py
index 0aa1b92b3db1bf2fd768ccff07f61361a4a56f21..95e967060fc4db7b769e9d3d3ebf7b6d63e22997 100644
--- a/.jupyter/api_container/models/database_dto.py
+++ b/.jupyter/api_container/models/database_dto.py
@@ -28,322 +28,334 @@ class DatabaseDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'id': 'int',
-        'name': 'str',
-        'exchange': 'str',
-        'creator': 'UserBriefDto',
-        'subjects': 'list[str]',
-        'language': 'str',
-        'license': 'LicenseDto',
-        'description': 'str',
-        'publisher': 'str',
-        'contact': 'UserDto',
+        'database_id': 'int',
+        'database_name': 'str',
+        'database_exchange': 'str',
+        'database_creator': 'UserBriefDto',
+        'database_subjects': 'list[str]',
+        'database_language': 'str',
+        'database_license': 'LicenseDto',
+        'database_description': 'str',
+        'database_publisher': 'str',
+        'database_contact_person': 'UserDto',
         'tables': 'list[TableBriefDto]',
-        'image': 'ImageDto',
+        'database_container_image': 'ImageDto',
         'container': 'ContainerDto',
-        'created': 'datetime',
+        'database_creation_time': 'datetime',
         'deleted': 'datetime',
-        'internal_name': 'str',
-        'publication_year': 'int',
-        'is_public': 'bool'
+        'database_internal_name': 'str',
+        'database_publication_year': 'int',
+        'database_publication_month': 'int',
+        'database_publication_day': 'int',
+        'database_public': 'bool'
     }
 
     attribute_map = {
-        'id': 'id',
-        'name': 'name',
-        'exchange': 'exchange',
-        'creator': 'creator',
-        'subjects': 'subjects',
-        'language': 'language',
-        'license': 'license',
-        'description': 'description',
-        'publisher': 'publisher',
-        'contact': 'contact',
+        'database_id': 'database id',
+        'database_name': 'database name',
+        'database_exchange': 'database exchange',
+        'database_creator': 'database creator',
+        'database_subjects': 'database subjects',
+        'database_language': 'database language',
+        'database_license': 'database license',
+        'database_description': 'database description',
+        'database_publisher': 'database publisher',
+        'database_contact_person': 'database contact person',
         'tables': 'tables',
-        'image': 'image',
+        'database_container_image': 'database container image',
         'container': 'container',
-        'created': 'created',
+        'database_creation_time': 'database creation time',
         'deleted': 'deleted',
-        'internal_name': 'internal_name',
-        'publication_year': 'publication_year',
-        'is_public': 'is_public'
+        'database_internal_name': 'database internal name',
+        'database_publication_year': 'database publication year',
+        'database_publication_month': 'database publication month',
+        'database_publication_day': 'database publication day',
+        'database_public': 'database public'
     }
 
-    def __init__(self, id=None, name=None, exchange=None, creator=None, subjects=None, language=None, license=None, description=None, publisher=None, contact=None, tables=None, image=None, container=None, created=None, deleted=None, internal_name=None, publication_year=None, is_public=None):  # noqa: E501
+    def __init__(self, database_id=None, database_name=None, database_exchange=None, database_creator=None, database_subjects=None, database_language=None, database_license=None, database_description=None, database_publisher=None, database_contact_person=None, tables=None, database_container_image=None, container=None, database_creation_time=None, deleted=None, database_internal_name=None, database_publication_year=None, database_publication_month=None, database_publication_day=None, database_public=None):  # noqa: E501
         """DatabaseDto - a model defined in Swagger"""  # noqa: E501
-        self._id = None
-        self._name = None
-        self._exchange = None
-        self._creator = None
-        self._subjects = None
-        self._language = None
-        self._license = None
-        self._description = None
-        self._publisher = None
-        self._contact = None
+        self._database_id = None
+        self._database_name = None
+        self._database_exchange = None
+        self._database_creator = None
+        self._database_subjects = None
+        self._database_language = None
+        self._database_license = None
+        self._database_description = None
+        self._database_publisher = None
+        self._database_contact_person = None
         self._tables = None
-        self._image = None
+        self._database_container_image = None
         self._container = None
-        self._created = None
+        self._database_creation_time = None
         self._deleted = None
-        self._internal_name = None
-        self._publication_year = None
-        self._is_public = None
+        self._database_internal_name = None
+        self._database_publication_year = None
+        self._database_publication_month = None
+        self._database_publication_day = None
+        self._database_public = None
         self.discriminator = None
-        self.id = id
-        self.name = name
-        self.exchange = exchange
-        self.creator = creator
-        if subjects is not None:
-            self.subjects = subjects
-        if language is not None:
-            self.language = language
-        if license is not None:
-            self.license = license
-        if description is not None:
-            self.description = description
-        if publisher is not None:
-            self.publisher = publisher
-        if contact is not None:
-            self.contact = contact
+        self.database_id = database_id
+        self.database_name = database_name
+        self.database_exchange = database_exchange
+        self.database_creator = database_creator
+        if database_subjects is not None:
+            self.database_subjects = database_subjects
+        if database_language is not None:
+            self.database_language = database_language
+        if database_license is not None:
+            self.database_license = database_license
+        self.database_description = database_description
+        if database_publisher is not None:
+            self.database_publisher = database_publisher
+        if database_contact_person is not None:
+            self.database_contact_person = database_contact_person
         if tables is not None:
             self.tables = tables
-        if image is not None:
-            self.image = image
+        if database_container_image is not None:
+            self.database_container_image = database_container_image
         if container is not None:
             self.container = container
-        if created is not None:
-            self.created = created
+        if database_creation_time is not None:
+            self.database_creation_time = database_creation_time
         if deleted is not None:
             self.deleted = deleted
-        self.internal_name = internal_name
-        self.publication_year = publication_year
-        if is_public is not None:
-            self.is_public = is_public
+        self.database_internal_name = database_internal_name
+        if database_publication_year is not None:
+            self.database_publication_year = database_publication_year
+        if database_publication_month is not None:
+            self.database_publication_month = database_publication_month
+        if database_publication_day is not None:
+            self.database_publication_day = database_publication_day
+        if database_public is not None:
+            self.database_public = database_public
 
     @property
-    def id(self):
-        """Gets the id of this DatabaseDto.  # noqa: E501
+    def database_id(self):
+        """Gets the database_id of this DatabaseDto.  # noqa: E501
 
 
-        :return: The id of this DatabaseDto.  # noqa: E501
+        :return: The database_id of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._id
+        return self._database_id
 
-    @id.setter
-    def id(self, id):
-        """Sets the id of this DatabaseDto.
+    @database_id.setter
+    def database_id(self, database_id):
+        """Sets the database_id of this DatabaseDto.
 
 
-        :param id: The id of this DatabaseDto.  # noqa: E501
+        :param database_id: The database_id of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if id is None:
-            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+        if database_id is None:
+            raise ValueError("Invalid value for `database_id`, must not be `None`")  # noqa: E501
 
-        self._id = id
+        self._database_id = database_id
 
     @property
-    def name(self):
-        """Gets the name of this DatabaseDto.  # noqa: E501
+    def database_name(self):
+        """Gets the database_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The name of this DatabaseDto.  # noqa: E501
+        :return: The database_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._name
+        return self._database_name
 
-    @name.setter
-    def name(self, name):
-        """Sets the name of this DatabaseDto.
+    @database_name.setter
+    def database_name(self, database_name):
+        """Sets the database_name of this DatabaseDto.
 
 
-        :param name: The name of this DatabaseDto.  # noqa: E501
+        :param database_name: The database_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if name is None:
-            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
+        if database_name is None:
+            raise ValueError("Invalid value for `database_name`, must not be `None`")  # noqa: E501
 
-        self._name = name
+        self._database_name = database_name
 
     @property
-    def exchange(self):
-        """Gets the exchange of this DatabaseDto.  # noqa: E501
+    def database_exchange(self):
+        """Gets the database_exchange of this DatabaseDto.  # noqa: E501
 
 
-        :return: The exchange of this DatabaseDto.  # noqa: E501
+        :return: The database_exchange of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._exchange
+        return self._database_exchange
 
-    @exchange.setter
-    def exchange(self, exchange):
-        """Sets the exchange of this DatabaseDto.
+    @database_exchange.setter
+    def database_exchange(self, database_exchange):
+        """Sets the database_exchange of this DatabaseDto.
 
 
-        :param exchange: The exchange of this DatabaseDto.  # noqa: E501
+        :param database_exchange: The database_exchange of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if exchange is None:
-            raise ValueError("Invalid value for `exchange`, must not be `None`")  # noqa: E501
+        if database_exchange is None:
+            raise ValueError("Invalid value for `database_exchange`, must not be `None`")  # noqa: E501
 
-        self._exchange = exchange
+        self._database_exchange = database_exchange
 
     @property
-    def creator(self):
-        """Gets the creator of this DatabaseDto.  # noqa: E501
+    def database_creator(self):
+        """Gets the database_creator of this DatabaseDto.  # noqa: E501
 
 
-        :return: The creator of this DatabaseDto.  # noqa: E501
+        :return: The database_creator of this DatabaseDto.  # noqa: E501
         :rtype: UserBriefDto
         """
-        return self._creator
+        return self._database_creator
 
-    @creator.setter
-    def creator(self, creator):
-        """Sets the creator of this DatabaseDto.
+    @database_creator.setter
+    def database_creator(self, database_creator):
+        """Sets the database_creator of this DatabaseDto.
 
 
-        :param creator: The creator of this DatabaseDto.  # noqa: E501
+        :param database_creator: The database_creator of this DatabaseDto.  # noqa: E501
         :type: UserBriefDto
         """
-        if creator is None:
-            raise ValueError("Invalid value for `creator`, must not be `None`")  # noqa: E501
+        if database_creator is None:
+            raise ValueError("Invalid value for `database_creator`, must not be `None`")  # noqa: E501
 
-        self._creator = creator
+        self._database_creator = database_creator
 
     @property
-    def subjects(self):
-        """Gets the subjects of this DatabaseDto.  # noqa: E501
+    def database_subjects(self):
+        """Gets the database_subjects of this DatabaseDto.  # noqa: E501
 
 
-        :return: The subjects of this DatabaseDto.  # noqa: E501
+        :return: The database_subjects of this DatabaseDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subjects
+        return self._database_subjects
 
-    @subjects.setter
-    def subjects(self, subjects):
-        """Sets the subjects of this DatabaseDto.
+    @database_subjects.setter
+    def database_subjects(self, database_subjects):
+        """Sets the database_subjects of this DatabaseDto.
 
 
-        :param subjects: The subjects of this DatabaseDto.  # noqa: E501
+        :param database_subjects: The database_subjects of this DatabaseDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subjects = subjects
+        self._database_subjects = database_subjects
 
     @property
-    def language(self):
-        """Gets the language of this DatabaseDto.  # noqa: E501
+    def database_language(self):
+        """Gets the database_language of this DatabaseDto.  # noqa: E501
 
 
-        :return: The language of this DatabaseDto.  # noqa: E501
+        :return: The database_language of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._language
+        return self._database_language
 
-    @language.setter
-    def language(self, language):
-        """Sets the language of this DatabaseDto.
+    @database_language.setter
+    def database_language(self, database_language):
+        """Sets the database_language of this DatabaseDto.
 
 
-        :param language: The language of this DatabaseDto.  # noqa: E501
+        :param database_language: The database_language of this DatabaseDto.  # noqa: E501
         :type: str
         """
         allowed_values = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "km", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gd", "gl", "lg", "ka", "de", "ki", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "rw", "kv", "kg", "ko", "kj", "ku", "ky", "lo", "la", "lv", "lb", "li", "ln", "lt", "lu", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "ro", "mn", "na", "nv", "nd", "ng", "ne", "se", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "pa", "ps", "fa", "pl", "pt", "qu", "rm", "rn", "ru", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "nr", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "fy", "wo", "xh", "yi", "yo", "za", "zu"]  # noqa: E501
-        if language not in allowed_values:
+        if database_language not in allowed_values:
             raise ValueError(
-                "Invalid value for `language` ({0}), must be one of {1}"  # noqa: E501
-                .format(language, allowed_values)
+                "Invalid value for `database_language` ({0}), must be one of {1}"  # noqa: E501
+                .format(database_language, allowed_values)
             )
 
-        self._language = language
+        self._database_language = database_language
 
     @property
-    def license(self):
-        """Gets the license of this DatabaseDto.  # noqa: E501
+    def database_license(self):
+        """Gets the database_license of this DatabaseDto.  # noqa: E501
 
 
-        :return: The license of this DatabaseDto.  # noqa: E501
+        :return: The database_license of this DatabaseDto.  # noqa: E501
         :rtype: LicenseDto
         """
-        return self._license
+        return self._database_license
 
-    @license.setter
-    def license(self, license):
-        """Sets the license of this DatabaseDto.
+    @database_license.setter
+    def database_license(self, database_license):
+        """Sets the database_license of this DatabaseDto.
 
 
-        :param license: The license of this DatabaseDto.  # noqa: E501
+        :param database_license: The database_license of this DatabaseDto.  # noqa: E501
         :type: LicenseDto
         """
 
-        self._license = license
+        self._database_license = database_license
 
     @property
-    def description(self):
-        """Gets the description of this DatabaseDto.  # noqa: E501
+    def database_description(self):
+        """Gets the database_description of this DatabaseDto.  # noqa: E501
 
 
-        :return: The description of this DatabaseDto.  # noqa: E501
+        :return: The database_description of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._description
+        return self._database_description
 
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseDto.
+    @database_description.setter
+    def database_description(self, database_description):
+        """Sets the database_description of this DatabaseDto.
 
 
-        :param description: The description of this DatabaseDto.  # noqa: E501
+        :param database_description: The database_description of this DatabaseDto.  # noqa: E501
         :type: str
         """
+        if database_description is None:
+            raise ValueError("Invalid value for `database_description`, must not be `None`")  # noqa: E501
 
-        self._description = description
+        self._database_description = database_description
 
     @property
-    def publisher(self):
-        """Gets the publisher of this DatabaseDto.  # noqa: E501
+    def database_publisher(self):
+        """Gets the database_publisher of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publisher of this DatabaseDto.  # noqa: E501
+        :return: The database_publisher of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._publisher
+        return self._database_publisher
 
-    @publisher.setter
-    def publisher(self, publisher):
-        """Sets the publisher of this DatabaseDto.
+    @database_publisher.setter
+    def database_publisher(self, database_publisher):
+        """Sets the database_publisher of this DatabaseDto.
 
 
-        :param publisher: The publisher of this DatabaseDto.  # noqa: E501
+        :param database_publisher: The database_publisher of this DatabaseDto.  # noqa: E501
         :type: str
         """
 
-        self._publisher = publisher
+        self._database_publisher = database_publisher
 
     @property
-    def contact(self):
-        """Gets the contact of this DatabaseDto.  # noqa: E501
+    def database_contact_person(self):
+        """Gets the database_contact_person of this DatabaseDto.  # noqa: E501
 
 
-        :return: The contact of this DatabaseDto.  # noqa: E501
+        :return: The database_contact_person of this DatabaseDto.  # noqa: E501
         :rtype: UserDto
         """
-        return self._contact
+        return self._database_contact_person
 
-    @contact.setter
-    def contact(self, contact):
-        """Sets the contact of this DatabaseDto.
+    @database_contact_person.setter
+    def database_contact_person(self, database_contact_person):
+        """Sets the database_contact_person of this DatabaseDto.
 
 
-        :param contact: The contact of this DatabaseDto.  # noqa: E501
+        :param database_contact_person: The database_contact_person of this DatabaseDto.  # noqa: E501
         :type: UserDto
         """
 
-        self._contact = contact
+        self._database_contact_person = database_contact_person
 
     @property
     def tables(self):
@@ -367,25 +379,25 @@ class DatabaseDto(object):
         self._tables = tables
 
     @property
-    def image(self):
-        """Gets the image of this DatabaseDto.  # noqa: E501
+    def database_container_image(self):
+        """Gets the database_container_image of this DatabaseDto.  # noqa: E501
 
 
-        :return: The image of this DatabaseDto.  # noqa: E501
+        :return: The database_container_image of this DatabaseDto.  # noqa: E501
         :rtype: ImageDto
         """
-        return self._image
+        return self._database_container_image
 
-    @image.setter
-    def image(self, image):
-        """Sets the image of this DatabaseDto.
+    @database_container_image.setter
+    def database_container_image(self, database_container_image):
+        """Sets the database_container_image of this DatabaseDto.
 
 
-        :param image: The image of this DatabaseDto.  # noqa: E501
+        :param database_container_image: The database_container_image of this DatabaseDto.  # noqa: E501
         :type: ImageDto
         """
 
-        self._image = image
+        self._database_container_image = database_container_image
 
     @property
     def container(self):
@@ -409,25 +421,25 @@ class DatabaseDto(object):
         self._container = container
 
     @property
-    def created(self):
-        """Gets the created of this DatabaseDto.  # noqa: E501
+    def database_creation_time(self):
+        """Gets the database_creation_time of this DatabaseDto.  # noqa: E501
 
 
-        :return: The created of this DatabaseDto.  # noqa: E501
+        :return: The database_creation_time of this DatabaseDto.  # noqa: E501
         :rtype: datetime
         """
-        return self._created
+        return self._database_creation_time
 
-    @created.setter
-    def created(self, created):
-        """Sets the created of this DatabaseDto.
+    @database_creation_time.setter
+    def database_creation_time(self, database_creation_time):
+        """Sets the database_creation_time of this DatabaseDto.
 
 
-        :param created: The created of this DatabaseDto.  # noqa: E501
+        :param database_creation_time: The database_creation_time of this DatabaseDto.  # noqa: E501
         :type: datetime
         """
 
-        self._created = created
+        self._database_creation_time = database_creation_time
 
     @property
     def deleted(self):
@@ -451,71 +463,111 @@ class DatabaseDto(object):
         self._deleted = deleted
 
     @property
-    def internal_name(self):
-        """Gets the internal_name of this DatabaseDto.  # noqa: E501
+    def database_internal_name(self):
+        """Gets the database_internal_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The internal_name of this DatabaseDto.  # noqa: E501
+        :return: The database_internal_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._internal_name
+        return self._database_internal_name
 
-    @internal_name.setter
-    def internal_name(self, internal_name):
-        """Sets the internal_name of this DatabaseDto.
+    @database_internal_name.setter
+    def database_internal_name(self, database_internal_name):
+        """Sets the database_internal_name of this DatabaseDto.
 
 
-        :param internal_name: The internal_name of this DatabaseDto.  # noqa: E501
+        :param database_internal_name: The database_internal_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if internal_name is None:
-            raise ValueError("Invalid value for `internal_name`, must not be `None`")  # noqa: E501
+        if database_internal_name is None:
+            raise ValueError("Invalid value for `database_internal_name`, must not be `None`")  # noqa: E501
 
-        self._internal_name = internal_name
+        self._database_internal_name = database_internal_name
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_year of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._database_publication_year
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseDto.
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseDto.
 
 
-        :param publication_year: The publication_year of this DatabaseDto.  # noqa: E501
+        :param database_publication_year: The database_publication_year of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._database_publication_year = database_publication_year
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseDto.  # noqa: E501
+    def database_publication_month(self):
+        """Gets the database_publication_month of this DatabaseDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_month
+
+    @database_publication_month.setter
+    def database_publication_month(self, database_publication_month):
+        """Sets the database_publication_month of this DatabaseDto.
+
+
+        :param database_publication_month: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_month = database_publication_month
+
+    @property
+    def database_publication_day(self):
+        """Gets the database_publication_day of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_day
+
+    @database_publication_day.setter
+    def database_publication_day(self, database_publication_day):
+        """Sets the database_publication_day of this DatabaseDto.
+
+
+        :param database_publication_day: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_day = database_publication_day
+
+    @property
+    def database_public(self):
+        """Gets the database_public of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_public of this DatabaseDto.  # noqa: E501
         :rtype: bool
         """
-        return self._is_public
+        return self._database_public
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseDto.
+    @database_public.setter
+    def database_public(self, database_public):
+        """Sets the database_public of this DatabaseDto.
 
 
-        :param is_public: The is_public of this DatabaseDto.  # noqa: E501
+        :param database_public: The database_public of this DatabaseDto.  # noqa: E501
         :type: bool
         """
 
-        self._is_public = is_public
+        self._database_public = database_public
 
     def to_dict(self):
         """Returns the model properties as a dict"""
diff --git a/.jupyter/api_database/__init__.py b/.jupyter/api_database/__init__.py
index 5da8bf97a428a1bc5e19898c594a8cd20c729876..353709f72037ff45fd37b69542b797bb31c03814 100644
--- a/.jupyter/api_database/__init__.py
+++ b/.jupyter/api_database/__init__.py
@@ -15,7 +15,7 @@
 from __future__ import absolute_import
 
 # import apis into sdk package
-from api_database.api.container_database_endpoint_api import ContainerDatabaseEndpointApi
+from api_database.api.database_endpoint_api import DatabaseEndpointApi
 from api_database.api.license_endpoint_api import LicenseEndpointApi
 # import ApiClient
 from api_database.api_client import ApiClient
@@ -28,6 +28,7 @@ from api_database.models.database_brief_dto import DatabaseBriefDto
 from api_database.models.database_create_dto import DatabaseCreateDto
 from api_database.models.database_dto import DatabaseDto
 from api_database.models.database_modify_dto import DatabaseModifyDto
+from api_database.models.database_transfer_dto import DatabaseTransferDto
 from api_database.models.granted_authority_dto import GrantedAuthorityDto
 from api_database.models.image_brief_dto import ImageBriefDto
 from api_database.models.image_date_dto import ImageDateDto
diff --git a/.jupyter/api_database/api/__init__.py b/.jupyter/api_database/api/__init__.py
index 959020dc689c6249ff09f0ad9b73c919356b2c83..3b6a63f77fec6a8c865d232230262a4acf91671e 100644
--- a/.jupyter/api_database/api/__init__.py
+++ b/.jupyter/api_database/api/__init__.py
@@ -3,5 +3,5 @@ from __future__ import absolute_import
 # flake8: noqa
 
 # import apis into api package
-from api_database.api.container_database_endpoint_api import ContainerDatabaseEndpointApi
+from api_database.api.database_endpoint_api import DatabaseEndpointApi
 from api_database.api.license_endpoint_api import LicenseEndpointApi
diff --git a/.jupyter/api_database/api/container_database_endpoint_api.py b/.jupyter/api_database/api/container_database_endpoint_api.py
index b2740125af65140fc7b27281ca0209c6cca8d271..c05c11e8bbf51f594aa5736b1f4a5abed2d61e3f 100644
--- a/.jupyter/api_database/api/container_database_endpoint_api.py
+++ b/.jupyter/api_database/api/container_database_endpoint_api.py
@@ -432,6 +432,119 @@ class ContainerDatabaseEndpointApi(object):
             _request_timeout=params.get('_request_timeout'),
             collection_formats=collection_formats)
 
+    def transfer(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.transfer(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseTransferDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.transfer_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.transfer_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+            return data
+
+    def transfer_with_http_info(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.transfer_with_http_info(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseTransferDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['body', 'id', 'database_id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method transfer" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'body' is set
+        if ('body' not in params or
+                params['body'] is None):
+            raise ValueError("Missing the required parameter `body` when calling `transfer`")  # noqa: E501
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `transfer`")  # noqa: E501
+        # verify the required parameter 'database_id' is set
+        if ('database_id' not in params or
+                params['database_id'] is None):
+            raise ValueError("Missing the required parameter `database_id` when calling `transfer`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+        if 'database_id' in params:
+            path_params['databaseId'] = params['database_id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        if 'body' in params:
+            body_params = params['body']
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
+            ['application/json'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database/{databaseId}/transfer', 'PUT',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='DatabaseDto',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
     def update(self, body, id, database_id, **kwargs):  # noqa: E501
         """Update database  # noqa: E501
 
@@ -444,7 +557,7 @@ class ContainerDatabaseEndpointApi(object):
         :param DatabaseModifyDto body: (required)
         :param int id: (required)
         :param int database_id: (required)
-        :return: DatabaseBriefDto
+        :return: DatabaseDto
                  If the method is called asynchronously,
                  returns the request thread.
         """
@@ -467,7 +580,7 @@ class ContainerDatabaseEndpointApi(object):
         :param DatabaseModifyDto body: (required)
         :param int id: (required)
         :param int database_id: (required)
-        :return: DatabaseBriefDto
+        :return: DatabaseDto
                  If the method is called asynchronously,
                  returns the request thread.
         """
@@ -537,7 +650,7 @@ class ContainerDatabaseEndpointApi(object):
             body=body_params,
             post_params=form_params,
             files=local_var_files,
-            response_type='DatabaseBriefDto',  # noqa: E501
+            response_type='DatabaseDto',  # noqa: E501
             auth_settings=auth_settings,
             async_req=params.get('async_req'),
             _return_http_data_only=params.get('_return_http_data_only'),
diff --git a/.jupyter/api_database/api/database_endpoint_api.py b/.jupyter/api_database/api/database_endpoint_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..1ad3383e96e34ef610d182226910b5a5e2ef197f
--- /dev/null
+++ b/.jupyter/api_database/api/database_endpoint_api.py
@@ -0,0 +1,659 @@
+# coding: utf-8
+
+"""
+    Database Repository Database Service API
+
+    Service that manages the databases  # noqa: E501
+
+    OpenAPI spec version: 1.1.0-alpha
+    Contact: andreas.rauber@tuwien.ac.at
+    Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import re  # noqa: F401
+
+# python 2 and python 3 compatibility library
+import six
+
+from api_database.api_client import ApiClient
+
+
+class DatabaseEndpointApi(object):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    Ref: https://github.com/swagger-api/swagger-codegen
+    """
+
+    def __init__(self, api_client=None):
+        if api_client is None:
+            api_client = ApiClient()
+        self.api_client = api_client
+
+    def create(self, body, id, **kwargs):  # noqa: E501
+        """Create database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.create(body, id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseCreateDto body: (required)
+        :param int id: (required)
+        :return: DatabaseBriefDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.create_with_http_info(body, id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.create_with_http_info(body, id, **kwargs)  # noqa: E501
+            return data
+
+    def create_with_http_info(self, body, id, **kwargs):  # noqa: E501
+        """Create database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.create_with_http_info(body, id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseCreateDto body: (required)
+        :param int id: (required)
+        :return: DatabaseBriefDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['body', 'id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method create" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'body' is set
+        if ('body' not in params or
+                params['body'] is None):
+            raise ValueError("Missing the required parameter `body` when calling `create`")  # noqa: E501
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `create`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        if 'body' in params:
+            body_params = params['body']
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
+            ['application/json'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database', 'POST',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='DatabaseBriefDto',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
+    def delete1(self, id, database_id, **kwargs):  # noqa: E501
+        """Delete some database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.delete1(id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: object
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.delete1_with_http_info(id, database_id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.delete1_with_http_info(id, database_id, **kwargs)  # noqa: E501
+            return data
+
+    def delete1_with_http_info(self, id, database_id, **kwargs):  # noqa: E501
+        """Delete some database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.delete1_with_http_info(id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: object
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['id', 'database_id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method delete1" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `delete1`")  # noqa: E501
+        # verify the required parameter 'database_id' is set
+        if ('database_id' not in params or
+                params['database_id'] is None):
+            raise ValueError("Missing the required parameter `database_id` when calling `delete1`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+        if 'database_id' in params:
+            path_params['databaseId'] = params['database_id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database/{databaseId}', 'DELETE',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='object',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
+    def find_all(self, id, **kwargs):  # noqa: E501
+        """List databases  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.find_all(id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :return: list[DatabaseBriefDto]
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.find_all_with_http_info(id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.find_all_with_http_info(id, **kwargs)  # noqa: E501
+            return data
+
+    def find_all_with_http_info(self, id, **kwargs):  # noqa: E501
+        """List databases  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.find_all_with_http_info(id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :return: list[DatabaseBriefDto]
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method find_all" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `find_all`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = []  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database', 'GET',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='list[DatabaseBriefDto]',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
+    def find_by_id(self, id, database_id, **kwargs):  # noqa: E501
+        """Find some database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.find_by_id(id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.find_by_id_with_http_info(id, database_id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.find_by_id_with_http_info(id, database_id, **kwargs)  # noqa: E501
+            return data
+
+    def find_by_id_with_http_info(self, id, database_id, **kwargs):  # noqa: E501
+        """Find some database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.find_by_id_with_http_info(id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['id', 'database_id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method find_by_id" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `find_by_id`")  # noqa: E501
+        # verify the required parameter 'database_id' is set
+        if ('database_id' not in params or
+                params['database_id'] is None):
+            raise ValueError("Missing the required parameter `database_id` when calling `find_by_id`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+        if 'database_id' in params:
+            path_params['databaseId'] = params['database_id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database/{databaseId}', 'GET',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='DatabaseDto',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
+    def transfer(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.transfer(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseTransferDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.transfer_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.transfer_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+            return data
+
+    def transfer_with_http_info(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.transfer_with_http_info(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseTransferDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['body', 'id', 'database_id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method transfer" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'body' is set
+        if ('body' not in params or
+                params['body'] is None):
+            raise ValueError("Missing the required parameter `body` when calling `transfer`")  # noqa: E501
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `transfer`")  # noqa: E501
+        # verify the required parameter 'database_id' is set
+        if ('database_id' not in params or
+                params['database_id'] is None):
+            raise ValueError("Missing the required parameter `database_id` when calling `transfer`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+        if 'database_id' in params:
+            path_params['databaseId'] = params['database_id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        if 'body' in params:
+            body_params = params['body']
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
+            ['application/json'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database/{databaseId}/transfer', 'PUT',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='DatabaseDto',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
+
+    def update(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.update(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseModifyDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+        kwargs['_return_http_data_only'] = True
+        if kwargs.get('async_req'):
+            return self.update_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+        else:
+            (data) = self.update_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+            return data
+
+    def update_with_http_info(self, body, id, database_id, **kwargs):  # noqa: E501
+        """Update database  # noqa: E501
+
+        This method makes a synchronous HTTP request by default. To make an
+        asynchronous HTTP request, please pass async_req=True
+        >>> thread = api.update_with_http_info(body, id, database_id, async_req=True)
+        >>> result = thread.get()
+
+        :param async_req bool
+        :param DatabaseModifyDto body: (required)
+        :param int id: (required)
+        :param int database_id: (required)
+        :return: DatabaseDto
+                 If the method is called asynchronously,
+                 returns the request thread.
+        """
+
+        all_params = ['body', 'id', 'database_id']  # noqa: E501
+        all_params.append('async_req')
+        all_params.append('_return_http_data_only')
+        all_params.append('_preload_content')
+        all_params.append('_request_timeout')
+
+        params = locals()
+        for key, val in six.iteritems(params['kwargs']):
+            if key not in all_params:
+                raise TypeError(
+                    "Got an unexpected keyword argument '%s'"
+                    " to method update" % key
+                )
+            params[key] = val
+        del params['kwargs']
+        # verify the required parameter 'body' is set
+        if ('body' not in params or
+                params['body'] is None):
+            raise ValueError("Missing the required parameter `body` when calling `update`")  # noqa: E501
+        # verify the required parameter 'id' is set
+        if ('id' not in params or
+                params['id'] is None):
+            raise ValueError("Missing the required parameter `id` when calling `update`")  # noqa: E501
+        # verify the required parameter 'database_id' is set
+        if ('database_id' not in params or
+                params['database_id'] is None):
+            raise ValueError("Missing the required parameter `database_id` when calling `update`")  # noqa: E501
+
+        collection_formats = {}
+
+        path_params = {}
+        if 'id' in params:
+            path_params['id'] = params['id']  # noqa: E501
+        if 'database_id' in params:
+            path_params['databaseId'] = params['database_id']  # noqa: E501
+
+        query_params = []
+
+        header_params = {}
+
+        form_params = []
+        local_var_files = {}
+
+        body_params = None
+        if 'body' in params:
+            body_params = params['body']
+        # HTTP header `Accept`
+        header_params['Accept'] = self.api_client.select_header_accept(
+            ['*/*'])  # noqa: E501
+
+        # HTTP header `Content-Type`
+        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
+            ['application/json'])  # noqa: E501
+
+        # Authentication setting
+        auth_settings = ['bearerAuth']  # noqa: E501
+
+        return self.api_client.call_api(
+            '/api/container/{id}/database/{databaseId}', 'PUT',
+            path_params,
+            query_params,
+            header_params,
+            body=body_params,
+            post_params=form_params,
+            files=local_var_files,
+            response_type='DatabaseDto',  # noqa: E501
+            auth_settings=auth_settings,
+            async_req=params.get('async_req'),
+            _return_http_data_only=params.get('_return_http_data_only'),
+            _preload_content=params.get('_preload_content', True),
+            _request_timeout=params.get('_request_timeout'),
+            collection_formats=collection_formats)
diff --git a/.jupyter/api_database/models/__init__.py b/.jupyter/api_database/models/__init__.py
index 17ab89a69b0183bc10388c23d898f30aaf44f6be..caa6d6454ea0d69452d82095c5636da19c8ca164 100644
--- a/.jupyter/api_database/models/__init__.py
+++ b/.jupyter/api_database/models/__init__.py
@@ -21,6 +21,7 @@ from api_database.models.database_brief_dto import DatabaseBriefDto
 from api_database.models.database_create_dto import DatabaseCreateDto
 from api_database.models.database_dto import DatabaseDto
 from api_database.models.database_modify_dto import DatabaseModifyDto
+from api_database.models.database_transfer_dto import DatabaseTransferDto
 from api_database.models.granted_authority_dto import GrantedAuthorityDto
 from api_database.models.image_brief_dto import ImageBriefDto
 from api_database.models.image_date_dto import ImageDateDto
diff --git a/.jupyter/api_database/models/database_create_dto.py b/.jupyter/api_database/models/database_create_dto.py
index a1a6d6bc699759d833b18f43581e7bb96013adc7..abf98982263f239fb5eb2dbe828b874b5e6ef44a 100644
--- a/.jupyter/api_database/models/database_create_dto.py
+++ b/.jupyter/api_database/models/database_create_dto.py
@@ -29,24 +29,20 @@ class DatabaseCreateDto(object):
     """
     swagger_types = {
         'name': 'str',
-        'description': 'str',
         'is_public': 'bool'
     }
 
     attribute_map = {
         'name': 'name',
-        'description': 'description',
         'is_public': 'is_public'
     }
 
-    def __init__(self, name=None, description=None, is_public=None):  # noqa: E501
+    def __init__(self, name=None, is_public=None):  # noqa: E501
         """DatabaseCreateDto - a model defined in Swagger"""  # noqa: E501
         self._name = None
-        self._description = None
         self._is_public = None
         self.discriminator = None
         self.name = name
-        self.description = description
         self.is_public = is_public
 
     @property
@@ -72,29 +68,6 @@ class DatabaseCreateDto(object):
 
         self._name = name
 
-    @property
-    def description(self):
-        """Gets the description of this DatabaseCreateDto.  # noqa: E501
-
-
-        :return: The description of this DatabaseCreateDto.  # noqa: E501
-        :rtype: str
-        """
-        return self._description
-
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseCreateDto.
-
-
-        :param description: The description of this DatabaseCreateDto.  # noqa: E501
-        :type: str
-        """
-        if description is None:
-            raise ValueError("Invalid value for `description`, must not be `None`")  # noqa: E501
-
-        self._description = description
-
     @property
     def is_public(self):
         """Gets the is_public of this DatabaseCreateDto.  # noqa: E501
diff --git a/.jupyter/api_database/models/database_dto.py b/.jupyter/api_database/models/database_dto.py
index 52e21473a2256ae38d006e121c8080abecc2b7ad..56899bd1051f4bf6440c22f309aae45d1d9c4e3f 100644
--- a/.jupyter/api_database/models/database_dto.py
+++ b/.jupyter/api_database/models/database_dto.py
@@ -28,322 +28,334 @@ class DatabaseDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'id': 'int',
-        'name': 'str',
-        'exchange': 'str',
-        'creator': 'UserBriefDto',
-        'subjects': 'list[str]',
-        'language': 'str',
-        'license': 'LicenseDto',
-        'description': 'str',
-        'publisher': 'str',
-        'contact': 'UserDto',
+        'database_id': 'int',
+        'database_name': 'str',
+        'database_exchange': 'str',
+        'database_creator': 'UserBriefDto',
+        'database_subjects': 'list[str]',
+        'database_language': 'str',
+        'database_license': 'LicenseDto',
+        'database_description': 'str',
+        'database_publisher': 'str',
+        'database_contact_person': 'UserDto',
         'tables': 'list[TableBriefDto]',
-        'image': 'ImageDto',
+        'database_container_image': 'ImageDto',
         'container': 'ContainerDto',
-        'created': 'datetime',
+        'database_creation_time': 'datetime',
         'deleted': 'datetime',
-        'internal_name': 'str',
-        'publication_year': 'int',
-        'is_public': 'bool'
+        'database_internal_name': 'str',
+        'database_publication_year': 'int',
+        'database_publication_month': 'int',
+        'database_publication_day': 'int',
+        'database_public': 'bool'
     }
 
     attribute_map = {
-        'id': 'id',
-        'name': 'name',
-        'exchange': 'exchange',
-        'creator': 'creator',
-        'subjects': 'subjects',
-        'language': 'language',
-        'license': 'license',
-        'description': 'description',
-        'publisher': 'publisher',
-        'contact': 'contact',
+        'database_id': 'database id',
+        'database_name': 'database name',
+        'database_exchange': 'database exchange',
+        'database_creator': 'database creator',
+        'database_subjects': 'database subjects',
+        'database_language': 'database language',
+        'database_license': 'database license',
+        'database_description': 'database description',
+        'database_publisher': 'database publisher',
+        'database_contact_person': 'database contact person',
         'tables': 'tables',
-        'image': 'image',
+        'database_container_image': 'database container image',
         'container': 'container',
-        'created': 'created',
+        'database_creation_time': 'database creation time',
         'deleted': 'deleted',
-        'internal_name': 'internal_name',
-        'publication_year': 'publication_year',
-        'is_public': 'is_public'
+        'database_internal_name': 'database internal name',
+        'database_publication_year': 'database publication year',
+        'database_publication_month': 'database publication month',
+        'database_publication_day': 'database publication day',
+        'database_public': 'database public'
     }
 
-    def __init__(self, id=None, name=None, exchange=None, creator=None, subjects=None, language=None, license=None, description=None, publisher=None, contact=None, tables=None, image=None, container=None, created=None, deleted=None, internal_name=None, publication_year=None, is_public=None):  # noqa: E501
+    def __init__(self, database_id=None, database_name=None, database_exchange=None, database_creator=None, database_subjects=None, database_language=None, database_license=None, database_description=None, database_publisher=None, database_contact_person=None, tables=None, database_container_image=None, container=None, database_creation_time=None, deleted=None, database_internal_name=None, database_publication_year=None, database_publication_month=None, database_publication_day=None, database_public=None):  # noqa: E501
         """DatabaseDto - a model defined in Swagger"""  # noqa: E501
-        self._id = None
-        self._name = None
-        self._exchange = None
-        self._creator = None
-        self._subjects = None
-        self._language = None
-        self._license = None
-        self._description = None
-        self._publisher = None
-        self._contact = None
+        self._database_id = None
+        self._database_name = None
+        self._database_exchange = None
+        self._database_creator = None
+        self._database_subjects = None
+        self._database_language = None
+        self._database_license = None
+        self._database_description = None
+        self._database_publisher = None
+        self._database_contact_person = None
         self._tables = None
-        self._image = None
+        self._database_container_image = None
         self._container = None
-        self._created = None
+        self._database_creation_time = None
         self._deleted = None
-        self._internal_name = None
-        self._publication_year = None
-        self._is_public = None
+        self._database_internal_name = None
+        self._database_publication_year = None
+        self._database_publication_month = None
+        self._database_publication_day = None
+        self._database_public = None
         self.discriminator = None
-        self.id = id
-        self.name = name
-        self.exchange = exchange
-        self.creator = creator
-        if subjects is not None:
-            self.subjects = subjects
-        if language is not None:
-            self.language = language
-        if license is not None:
-            self.license = license
-        if description is not None:
-            self.description = description
-        if publisher is not None:
-            self.publisher = publisher
-        if contact is not None:
-            self.contact = contact
+        self.database_id = database_id
+        self.database_name = database_name
+        self.database_exchange = database_exchange
+        self.database_creator = database_creator
+        if database_subjects is not None:
+            self.database_subjects = database_subjects
+        if database_language is not None:
+            self.database_language = database_language
+        if database_license is not None:
+            self.database_license = database_license
+        self.database_description = database_description
+        if database_publisher is not None:
+            self.database_publisher = database_publisher
+        if database_contact_person is not None:
+            self.database_contact_person = database_contact_person
         if tables is not None:
             self.tables = tables
-        if image is not None:
-            self.image = image
+        if database_container_image is not None:
+            self.database_container_image = database_container_image
         if container is not None:
             self.container = container
-        if created is not None:
-            self.created = created
+        if database_creation_time is not None:
+            self.database_creation_time = database_creation_time
         if deleted is not None:
             self.deleted = deleted
-        self.internal_name = internal_name
-        self.publication_year = publication_year
-        if is_public is not None:
-            self.is_public = is_public
+        self.database_internal_name = database_internal_name
+        if database_publication_year is not None:
+            self.database_publication_year = database_publication_year
+        if database_publication_month is not None:
+            self.database_publication_month = database_publication_month
+        if database_publication_day is not None:
+            self.database_publication_day = database_publication_day
+        if database_public is not None:
+            self.database_public = database_public
 
     @property
-    def id(self):
-        """Gets the id of this DatabaseDto.  # noqa: E501
+    def database_id(self):
+        """Gets the database_id of this DatabaseDto.  # noqa: E501
 
 
-        :return: The id of this DatabaseDto.  # noqa: E501
+        :return: The database_id of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._id
+        return self._database_id
 
-    @id.setter
-    def id(self, id):
-        """Sets the id of this DatabaseDto.
+    @database_id.setter
+    def database_id(self, database_id):
+        """Sets the database_id of this DatabaseDto.
 
 
-        :param id: The id of this DatabaseDto.  # noqa: E501
+        :param database_id: The database_id of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if id is None:
-            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+        if database_id is None:
+            raise ValueError("Invalid value for `database_id`, must not be `None`")  # noqa: E501
 
-        self._id = id
+        self._database_id = database_id
 
     @property
-    def name(self):
-        """Gets the name of this DatabaseDto.  # noqa: E501
+    def database_name(self):
+        """Gets the database_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The name of this DatabaseDto.  # noqa: E501
+        :return: The database_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._name
+        return self._database_name
 
-    @name.setter
-    def name(self, name):
-        """Sets the name of this DatabaseDto.
+    @database_name.setter
+    def database_name(self, database_name):
+        """Sets the database_name of this DatabaseDto.
 
 
-        :param name: The name of this DatabaseDto.  # noqa: E501
+        :param database_name: The database_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if name is None:
-            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
+        if database_name is None:
+            raise ValueError("Invalid value for `database_name`, must not be `None`")  # noqa: E501
 
-        self._name = name
+        self._database_name = database_name
 
     @property
-    def exchange(self):
-        """Gets the exchange of this DatabaseDto.  # noqa: E501
+    def database_exchange(self):
+        """Gets the database_exchange of this DatabaseDto.  # noqa: E501
 
 
-        :return: The exchange of this DatabaseDto.  # noqa: E501
+        :return: The database_exchange of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._exchange
+        return self._database_exchange
 
-    @exchange.setter
-    def exchange(self, exchange):
-        """Sets the exchange of this DatabaseDto.
+    @database_exchange.setter
+    def database_exchange(self, database_exchange):
+        """Sets the database_exchange of this DatabaseDto.
 
 
-        :param exchange: The exchange of this DatabaseDto.  # noqa: E501
+        :param database_exchange: The database_exchange of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if exchange is None:
-            raise ValueError("Invalid value for `exchange`, must not be `None`")  # noqa: E501
+        if database_exchange is None:
+            raise ValueError("Invalid value for `database_exchange`, must not be `None`")  # noqa: E501
 
-        self._exchange = exchange
+        self._database_exchange = database_exchange
 
     @property
-    def creator(self):
-        """Gets the creator of this DatabaseDto.  # noqa: E501
+    def database_creator(self):
+        """Gets the database_creator of this DatabaseDto.  # noqa: E501
 
 
-        :return: The creator of this DatabaseDto.  # noqa: E501
+        :return: The database_creator of this DatabaseDto.  # noqa: E501
         :rtype: UserBriefDto
         """
-        return self._creator
+        return self._database_creator
 
-    @creator.setter
-    def creator(self, creator):
-        """Sets the creator of this DatabaseDto.
+    @database_creator.setter
+    def database_creator(self, database_creator):
+        """Sets the database_creator of this DatabaseDto.
 
 
-        :param creator: The creator of this DatabaseDto.  # noqa: E501
+        :param database_creator: The database_creator of this DatabaseDto.  # noqa: E501
         :type: UserBriefDto
         """
-        if creator is None:
-            raise ValueError("Invalid value for `creator`, must not be `None`")  # noqa: E501
+        if database_creator is None:
+            raise ValueError("Invalid value for `database_creator`, must not be `None`")  # noqa: E501
 
-        self._creator = creator
+        self._database_creator = database_creator
 
     @property
-    def subjects(self):
-        """Gets the subjects of this DatabaseDto.  # noqa: E501
+    def database_subjects(self):
+        """Gets the database_subjects of this DatabaseDto.  # noqa: E501
 
 
-        :return: The subjects of this DatabaseDto.  # noqa: E501
+        :return: The database_subjects of this DatabaseDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subjects
+        return self._database_subjects
 
-    @subjects.setter
-    def subjects(self, subjects):
-        """Sets the subjects of this DatabaseDto.
+    @database_subjects.setter
+    def database_subjects(self, database_subjects):
+        """Sets the database_subjects of this DatabaseDto.
 
 
-        :param subjects: The subjects of this DatabaseDto.  # noqa: E501
+        :param database_subjects: The database_subjects of this DatabaseDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subjects = subjects
+        self._database_subjects = database_subjects
 
     @property
-    def language(self):
-        """Gets the language of this DatabaseDto.  # noqa: E501
+    def database_language(self):
+        """Gets the database_language of this DatabaseDto.  # noqa: E501
 
 
-        :return: The language of this DatabaseDto.  # noqa: E501
+        :return: The database_language of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._language
+        return self._database_language
 
-    @language.setter
-    def language(self, language):
-        """Sets the language of this DatabaseDto.
+    @database_language.setter
+    def database_language(self, database_language):
+        """Sets the database_language of this DatabaseDto.
 
 
-        :param language: The language of this DatabaseDto.  # noqa: E501
+        :param database_language: The database_language of this DatabaseDto.  # noqa: E501
         :type: str
         """
         allowed_values = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "km", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gd", "gl", "lg", "ka", "de", "ki", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "rw", "kv", "kg", "ko", "kj", "ku", "ky", "lo", "la", "lv", "lb", "li", "ln", "lt", "lu", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "ro", "mn", "na", "nv", "nd", "ng", "ne", "se", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "pa", "ps", "fa", "pl", "pt", "qu", "rm", "rn", "ru", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "nr", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "fy", "wo", "xh", "yi", "yo", "za", "zu"]  # noqa: E501
-        if language not in allowed_values:
+        if database_language not in allowed_values:
             raise ValueError(
-                "Invalid value for `language` ({0}), must be one of {1}"  # noqa: E501
-                .format(language, allowed_values)
+                "Invalid value for `database_language` ({0}), must be one of {1}"  # noqa: E501
+                .format(database_language, allowed_values)
             )
 
-        self._language = language
+        self._database_language = database_language
 
     @property
-    def license(self):
-        """Gets the license of this DatabaseDto.  # noqa: E501
+    def database_license(self):
+        """Gets the database_license of this DatabaseDto.  # noqa: E501
 
 
-        :return: The license of this DatabaseDto.  # noqa: E501
+        :return: The database_license of this DatabaseDto.  # noqa: E501
         :rtype: LicenseDto
         """
-        return self._license
+        return self._database_license
 
-    @license.setter
-    def license(self, license):
-        """Sets the license of this DatabaseDto.
+    @database_license.setter
+    def database_license(self, database_license):
+        """Sets the database_license of this DatabaseDto.
 
 
-        :param license: The license of this DatabaseDto.  # noqa: E501
+        :param database_license: The database_license of this DatabaseDto.  # noqa: E501
         :type: LicenseDto
         """
 
-        self._license = license
+        self._database_license = database_license
 
     @property
-    def description(self):
-        """Gets the description of this DatabaseDto.  # noqa: E501
+    def database_description(self):
+        """Gets the database_description of this DatabaseDto.  # noqa: E501
 
 
-        :return: The description of this DatabaseDto.  # noqa: E501
+        :return: The database_description of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._description
+        return self._database_description
 
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseDto.
+    @database_description.setter
+    def database_description(self, database_description):
+        """Sets the database_description of this DatabaseDto.
 
 
-        :param description: The description of this DatabaseDto.  # noqa: E501
+        :param database_description: The database_description of this DatabaseDto.  # noqa: E501
         :type: str
         """
+        if database_description is None:
+            raise ValueError("Invalid value for `database_description`, must not be `None`")  # noqa: E501
 
-        self._description = description
+        self._database_description = database_description
 
     @property
-    def publisher(self):
-        """Gets the publisher of this DatabaseDto.  # noqa: E501
+    def database_publisher(self):
+        """Gets the database_publisher of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publisher of this DatabaseDto.  # noqa: E501
+        :return: The database_publisher of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._publisher
+        return self._database_publisher
 
-    @publisher.setter
-    def publisher(self, publisher):
-        """Sets the publisher of this DatabaseDto.
+    @database_publisher.setter
+    def database_publisher(self, database_publisher):
+        """Sets the database_publisher of this DatabaseDto.
 
 
-        :param publisher: The publisher of this DatabaseDto.  # noqa: E501
+        :param database_publisher: The database_publisher of this DatabaseDto.  # noqa: E501
         :type: str
         """
 
-        self._publisher = publisher
+        self._database_publisher = database_publisher
 
     @property
-    def contact(self):
-        """Gets the contact of this DatabaseDto.  # noqa: E501
+    def database_contact_person(self):
+        """Gets the database_contact_person of this DatabaseDto.  # noqa: E501
 
 
-        :return: The contact of this DatabaseDto.  # noqa: E501
+        :return: The database_contact_person of this DatabaseDto.  # noqa: E501
         :rtype: UserDto
         """
-        return self._contact
+        return self._database_contact_person
 
-    @contact.setter
-    def contact(self, contact):
-        """Sets the contact of this DatabaseDto.
+    @database_contact_person.setter
+    def database_contact_person(self, database_contact_person):
+        """Sets the database_contact_person of this DatabaseDto.
 
 
-        :param contact: The contact of this DatabaseDto.  # noqa: E501
+        :param database_contact_person: The database_contact_person of this DatabaseDto.  # noqa: E501
         :type: UserDto
         """
 
-        self._contact = contact
+        self._database_contact_person = database_contact_person
 
     @property
     def tables(self):
@@ -367,25 +379,25 @@ class DatabaseDto(object):
         self._tables = tables
 
     @property
-    def image(self):
-        """Gets the image of this DatabaseDto.  # noqa: E501
+    def database_container_image(self):
+        """Gets the database_container_image of this DatabaseDto.  # noqa: E501
 
 
-        :return: The image of this DatabaseDto.  # noqa: E501
+        :return: The database_container_image of this DatabaseDto.  # noqa: E501
         :rtype: ImageDto
         """
-        return self._image
+        return self._database_container_image
 
-    @image.setter
-    def image(self, image):
-        """Sets the image of this DatabaseDto.
+    @database_container_image.setter
+    def database_container_image(self, database_container_image):
+        """Sets the database_container_image of this DatabaseDto.
 
 
-        :param image: The image of this DatabaseDto.  # noqa: E501
+        :param database_container_image: The database_container_image of this DatabaseDto.  # noqa: E501
         :type: ImageDto
         """
 
-        self._image = image
+        self._database_container_image = database_container_image
 
     @property
     def container(self):
@@ -409,25 +421,25 @@ class DatabaseDto(object):
         self._container = container
 
     @property
-    def created(self):
-        """Gets the created of this DatabaseDto.  # noqa: E501
+    def database_creation_time(self):
+        """Gets the database_creation_time of this DatabaseDto.  # noqa: E501
 
 
-        :return: The created of this DatabaseDto.  # noqa: E501
+        :return: The database_creation_time of this DatabaseDto.  # noqa: E501
         :rtype: datetime
         """
-        return self._created
+        return self._database_creation_time
 
-    @created.setter
-    def created(self, created):
-        """Sets the created of this DatabaseDto.
+    @database_creation_time.setter
+    def database_creation_time(self, database_creation_time):
+        """Sets the database_creation_time of this DatabaseDto.
 
 
-        :param created: The created of this DatabaseDto.  # noqa: E501
+        :param database_creation_time: The database_creation_time of this DatabaseDto.  # noqa: E501
         :type: datetime
         """
 
-        self._created = created
+        self._database_creation_time = database_creation_time
 
     @property
     def deleted(self):
@@ -451,71 +463,111 @@ class DatabaseDto(object):
         self._deleted = deleted
 
     @property
-    def internal_name(self):
-        """Gets the internal_name of this DatabaseDto.  # noqa: E501
+    def database_internal_name(self):
+        """Gets the database_internal_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The internal_name of this DatabaseDto.  # noqa: E501
+        :return: The database_internal_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._internal_name
+        return self._database_internal_name
 
-    @internal_name.setter
-    def internal_name(self, internal_name):
-        """Sets the internal_name of this DatabaseDto.
+    @database_internal_name.setter
+    def database_internal_name(self, database_internal_name):
+        """Sets the database_internal_name of this DatabaseDto.
 
 
-        :param internal_name: The internal_name of this DatabaseDto.  # noqa: E501
+        :param database_internal_name: The database_internal_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if internal_name is None:
-            raise ValueError("Invalid value for `internal_name`, must not be `None`")  # noqa: E501
+        if database_internal_name is None:
+            raise ValueError("Invalid value for `database_internal_name`, must not be `None`")  # noqa: E501
 
-        self._internal_name = internal_name
+        self._database_internal_name = database_internal_name
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_year of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._database_publication_year
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseDto.
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseDto.
 
 
-        :param publication_year: The publication_year of this DatabaseDto.  # noqa: E501
+        :param database_publication_year: The database_publication_year of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._database_publication_year = database_publication_year
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseDto.  # noqa: E501
+    def database_publication_month(self):
+        """Gets the database_publication_month of this DatabaseDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_month
+
+    @database_publication_month.setter
+    def database_publication_month(self, database_publication_month):
+        """Sets the database_publication_month of this DatabaseDto.
+
+
+        :param database_publication_month: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_month = database_publication_month
+
+    @property
+    def database_publication_day(self):
+        """Gets the database_publication_day of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_day
+
+    @database_publication_day.setter
+    def database_publication_day(self, database_publication_day):
+        """Sets the database_publication_day of this DatabaseDto.
+
+
+        :param database_publication_day: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_day = database_publication_day
+
+    @property
+    def database_public(self):
+        """Gets the database_public of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_public of this DatabaseDto.  # noqa: E501
         :rtype: bool
         """
-        return self._is_public
+        return self._database_public
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseDto.
+    @database_public.setter
+    def database_public(self, database_public):
+        """Sets the database_public of this DatabaseDto.
 
 
-        :param is_public: The is_public of this DatabaseDto.  # noqa: E501
+        :param database_public: The database_public of this DatabaseDto.  # noqa: E501
         :type: bool
         """
 
-        self._is_public = is_public
+        self._database_public = database_public
 
     def to_dict(self):
         """Returns the model properties as a dict"""
diff --git a/.jupyter/api_database/models/database_modify_dto.py b/.jupyter/api_database/models/database_modify_dto.py
index f61145aa15e81aaf865f5b7d13e37deb8d1a2386..1e74ccca7b8e024459bd90b76f71f87724fc23c4 100644
--- a/.jupyter/api_database/models/database_modify_dto.py
+++ b/.jupyter/api_database/models/database_modify_dto.py
@@ -28,40 +28,43 @@ class DatabaseModifyDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'subject': 'list[str]',
+        'subjects': 'list[str]',
         'description': 'str',
         'publisher': 'str',
         'license': 'LicenseDto',
         'language': 'str',
-        'is_public': 'bool',
-        'publication_year': 'int',
+        'database_publication_year': 'int',
+        'publication_month': 'int',
+        'publication_day': 'int',
         'contact_person': 'str'
     }
 
     attribute_map = {
-        'subject': 'subject',
+        'subjects': 'subjects',
         'description': 'description',
         'publisher': 'publisher',
         'license': 'license',
         'language': 'language',
-        'is_public': 'is_public',
-        'publication_year': 'publication_year',
+        'database_publication_year': 'database publication year',
+        'publication_month': 'publication_month',
+        'publication_day': 'publication_day',
         'contact_person': 'contact_person'
     }
 
-    def __init__(self, subject=None, description=None, publisher=None, license=None, language=None, is_public=None, publication_year=None, contact_person=None):  # noqa: E501
+    def __init__(self, subjects=None, description=None, publisher=None, license=None, language=None, database_publication_year=None, publication_month=None, publication_day=None, contact_person=None):  # noqa: E501
         """DatabaseModifyDto - a model defined in Swagger"""  # noqa: E501
-        self._subject = None
+        self._subjects = None
         self._description = None
         self._publisher = None
         self._license = None
         self._language = None
-        self._is_public = None
-        self._publication_year = None
+        self._database_publication_year = None
+        self._publication_month = None
+        self._publication_day = None
         self._contact_person = None
         self.discriminator = None
-        if subject is not None:
-            self.subject = subject
+        if subjects is not None:
+            self.subjects = subjects
         self.description = description
         if publisher is not None:
             self.publisher = publisher
@@ -69,31 +72,34 @@ class DatabaseModifyDto(object):
             self.license = license
         if language is not None:
             self.language = language
-        self.is_public = is_public
-        self.publication_year = publication_year
+        self.database_publication_year = database_publication_year
+        if publication_month is not None:
+            self.publication_month = publication_month
+        if publication_day is not None:
+            self.publication_day = publication_day
         if contact_person is not None:
             self.contact_person = contact_person
 
     @property
-    def subject(self):
-        """Gets the subject of this DatabaseModifyDto.  # noqa: E501
+    def subjects(self):
+        """Gets the subjects of this DatabaseModifyDto.  # noqa: E501
 
 
-        :return: The subject of this DatabaseModifyDto.  # noqa: E501
+        :return: The subjects of this DatabaseModifyDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subject
+        return self._subjects
 
-    @subject.setter
-    def subject(self, subject):
-        """Sets the subject of this DatabaseModifyDto.
+    @subjects.setter
+    def subjects(self, subjects):
+        """Sets the subjects of this DatabaseModifyDto.
 
 
-        :param subject: The subject of this DatabaseModifyDto.  # noqa: E501
+        :param subjects: The subjects of this DatabaseModifyDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subject = subject
+        self._subjects = subjects
 
     @property
     def description(self):
@@ -188,50 +194,69 @@ class DatabaseModifyDto(object):
         self._language = language
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseModifyDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseModifyDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseModifyDto.  # noqa: E501
-        :rtype: bool
+        :return: The database_publication_year of this DatabaseModifyDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_year
+
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseModifyDto.
+
+
+        :param database_publication_year: The database_publication_year of this DatabaseModifyDto.  # noqa: E501
+        :type: int
+        """
+        if database_publication_year is None:
+            raise ValueError("Invalid value for `database_publication_year`, must not be `None`")  # noqa: E501
+
+        self._database_publication_year = database_publication_year
+
+    @property
+    def publication_month(self):
+        """Gets the publication_month of this DatabaseModifyDto.  # noqa: E501
+
+
+        :return: The publication_month of this DatabaseModifyDto.  # noqa: E501
+        :rtype: int
         """
-        return self._is_public
+        return self._publication_month
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseModifyDto.
+    @publication_month.setter
+    def publication_month(self, publication_month):
+        """Sets the publication_month of this DatabaseModifyDto.
 
 
-        :param is_public: The is_public of this DatabaseModifyDto.  # noqa: E501
-        :type: bool
+        :param publication_month: The publication_month of this DatabaseModifyDto.  # noqa: E501
+        :type: int
         """
-        if is_public is None:
-            raise ValueError("Invalid value for `is_public`, must not be `None`")  # noqa: E501
 
-        self._is_public = is_public
+        self._publication_month = publication_month
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseModifyDto.  # noqa: E501
+    def publication_day(self):
+        """Gets the publication_day of this DatabaseModifyDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseModifyDto.  # noqa: E501
+        :return: The publication_day of this DatabaseModifyDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._publication_day
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseModifyDto.
+    @publication_day.setter
+    def publication_day(self, publication_day):
+        """Sets the publication_day of this DatabaseModifyDto.
 
 
-        :param publication_year: The publication_year of this DatabaseModifyDto.  # noqa: E501
+        :param publication_day: The publication_day of this DatabaseModifyDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._publication_day = publication_day
 
     @property
     def contact_person(self):
diff --git a/.jupyter/api_database/models/database_transfer_dto.py b/.jupyter/api_database/models/database_transfer_dto.py
new file mode 100644
index 0000000000000000000000000000000000000000..e17937171833a088ef6adc96eca121498f1198cf
--- /dev/null
+++ b/.jupyter/api_database/models/database_transfer_dto.py
@@ -0,0 +1,111 @@
+# coding: utf-8
+
+"""
+    Database Repository Database Service API
+
+    Service that manages the databases  # noqa: E501
+
+    OpenAPI spec version: 1.1.0-alpha
+    Contact: andreas.rauber@tuwien.ac.at
+    Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+import pprint
+import re  # noqa: F401
+
+import six
+
+class DatabaseTransferDto(object):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    """
+    Attributes:
+      swagger_types (dict): The key is attribute name
+                            and the value is attribute type.
+      attribute_map (dict): The key is attribute name
+                            and the value is json key in definition.
+    """
+    swagger_types = {
+        'is_public': 'bool'
+    }
+
+    attribute_map = {
+        'is_public': 'is_public'
+    }
+
+    def __init__(self, is_public=None):  # noqa: E501
+        """DatabaseTransferDto - a model defined in Swagger"""  # noqa: E501
+        self._is_public = None
+        self.discriminator = None
+        self.is_public = is_public
+
+    @property
+    def is_public(self):
+        """Gets the is_public of this DatabaseTransferDto.  # noqa: E501
+
+
+        :return: The is_public of this DatabaseTransferDto.  # noqa: E501
+        :rtype: bool
+        """
+        return self._is_public
+
+    @is_public.setter
+    def is_public(self, is_public):
+        """Sets the is_public of this DatabaseTransferDto.
+
+
+        :param is_public: The is_public of this DatabaseTransferDto.  # noqa: E501
+        :type: bool
+        """
+        if is_public is None:
+            raise ValueError("Invalid value for `is_public`, must not be `None`")  # noqa: E501
+
+        self._is_public = is_public
+
+    def to_dict(self):
+        """Returns the model properties as a dict"""
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+        if issubclass(DatabaseTransferDto, dict):
+            for key, value in self.items():
+                result[key] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model"""
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        if not isinstance(other, DatabaseTransferDto):
+            return False
+
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/.jupyter/api_identifier/models/database_dto.py b/.jupyter/api_identifier/models/database_dto.py
index 0648eb80932d6da8f79a6a11478f6ae389edc589..871e9b409172c3bef32a4a93367d0df5579f3fed 100644
--- a/.jupyter/api_identifier/models/database_dto.py
+++ b/.jupyter/api_identifier/models/database_dto.py
@@ -28,322 +28,334 @@ class DatabaseDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'id': 'int',
-        'name': 'str',
-        'exchange': 'str',
-        'creator': 'UserBriefDto',
-        'subjects': 'list[str]',
-        'language': 'str',
-        'license': 'LicenseDto',
-        'description': 'str',
-        'publisher': 'str',
-        'contact': 'UserDto',
+        'database_id': 'int',
+        'database_name': 'str',
+        'database_exchange': 'str',
+        'database_creator': 'UserBriefDto',
+        'database_subjects': 'list[str]',
+        'database_language': 'str',
+        'database_license': 'LicenseDto',
+        'database_description': 'str',
+        'database_publisher': 'str',
+        'database_contact_person': 'UserDto',
         'tables': 'list[TableBriefDto]',
-        'image': 'ImageDto',
+        'database_container_image': 'ImageDto',
         'container': 'ContainerDto',
-        'created': 'datetime',
+        'database_creation_time': 'datetime',
         'deleted': 'datetime',
-        'internal_name': 'str',
-        'publication_year': 'int',
-        'is_public': 'bool'
+        'database_internal_name': 'str',
+        'database_publication_year': 'int',
+        'database_publication_month': 'int',
+        'database_publication_day': 'int',
+        'database_public': 'bool'
     }
 
     attribute_map = {
-        'id': 'id',
-        'name': 'name',
-        'exchange': 'exchange',
-        'creator': 'creator',
-        'subjects': 'subjects',
-        'language': 'language',
-        'license': 'license',
-        'description': 'description',
-        'publisher': 'publisher',
-        'contact': 'contact',
+        'database_id': 'database id',
+        'database_name': 'database name',
+        'database_exchange': 'database exchange',
+        'database_creator': 'database creator',
+        'database_subjects': 'database subjects',
+        'database_language': 'database language',
+        'database_license': 'database license',
+        'database_description': 'database description',
+        'database_publisher': 'database publisher',
+        'database_contact_person': 'database contact person',
         'tables': 'tables',
-        'image': 'image',
+        'database_container_image': 'database container image',
         'container': 'container',
-        'created': 'created',
+        'database_creation_time': 'database creation time',
         'deleted': 'deleted',
-        'internal_name': 'internal_name',
-        'publication_year': 'publication_year',
-        'is_public': 'is_public'
+        'database_internal_name': 'database internal name',
+        'database_publication_year': 'database publication year',
+        'database_publication_month': 'database publication month',
+        'database_publication_day': 'database publication day',
+        'database_public': 'database public'
     }
 
-    def __init__(self, id=None, name=None, exchange=None, creator=None, subjects=None, language=None, license=None, description=None, publisher=None, contact=None, tables=None, image=None, container=None, created=None, deleted=None, internal_name=None, publication_year=None, is_public=None):  # noqa: E501
+    def __init__(self, database_id=None, database_name=None, database_exchange=None, database_creator=None, database_subjects=None, database_language=None, database_license=None, database_description=None, database_publisher=None, database_contact_person=None, tables=None, database_container_image=None, container=None, database_creation_time=None, deleted=None, database_internal_name=None, database_publication_year=None, database_publication_month=None, database_publication_day=None, database_public=None):  # noqa: E501
         """DatabaseDto - a model defined in Swagger"""  # noqa: E501
-        self._id = None
-        self._name = None
-        self._exchange = None
-        self._creator = None
-        self._subjects = None
-        self._language = None
-        self._license = None
-        self._description = None
-        self._publisher = None
-        self._contact = None
+        self._database_id = None
+        self._database_name = None
+        self._database_exchange = None
+        self._database_creator = None
+        self._database_subjects = None
+        self._database_language = None
+        self._database_license = None
+        self._database_description = None
+        self._database_publisher = None
+        self._database_contact_person = None
         self._tables = None
-        self._image = None
+        self._database_container_image = None
         self._container = None
-        self._created = None
+        self._database_creation_time = None
         self._deleted = None
-        self._internal_name = None
-        self._publication_year = None
-        self._is_public = None
+        self._database_internal_name = None
+        self._database_publication_year = None
+        self._database_publication_month = None
+        self._database_publication_day = None
+        self._database_public = None
         self.discriminator = None
-        self.id = id
-        self.name = name
-        self.exchange = exchange
-        self.creator = creator
-        if subjects is not None:
-            self.subjects = subjects
-        if language is not None:
-            self.language = language
-        if license is not None:
-            self.license = license
-        if description is not None:
-            self.description = description
-        if publisher is not None:
-            self.publisher = publisher
-        if contact is not None:
-            self.contact = contact
+        self.database_id = database_id
+        self.database_name = database_name
+        self.database_exchange = database_exchange
+        self.database_creator = database_creator
+        if database_subjects is not None:
+            self.database_subjects = database_subjects
+        if database_language is not None:
+            self.database_language = database_language
+        if database_license is not None:
+            self.database_license = database_license
+        self.database_description = database_description
+        if database_publisher is not None:
+            self.database_publisher = database_publisher
+        if database_contact_person is not None:
+            self.database_contact_person = database_contact_person
         if tables is not None:
             self.tables = tables
-        if image is not None:
-            self.image = image
+        if database_container_image is not None:
+            self.database_container_image = database_container_image
         if container is not None:
             self.container = container
-        if created is not None:
-            self.created = created
+        if database_creation_time is not None:
+            self.database_creation_time = database_creation_time
         if deleted is not None:
             self.deleted = deleted
-        self.internal_name = internal_name
-        self.publication_year = publication_year
-        if is_public is not None:
-            self.is_public = is_public
+        self.database_internal_name = database_internal_name
+        if database_publication_year is not None:
+            self.database_publication_year = database_publication_year
+        if database_publication_month is not None:
+            self.database_publication_month = database_publication_month
+        if database_publication_day is not None:
+            self.database_publication_day = database_publication_day
+        if database_public is not None:
+            self.database_public = database_public
 
     @property
-    def id(self):
-        """Gets the id of this DatabaseDto.  # noqa: E501
+    def database_id(self):
+        """Gets the database_id of this DatabaseDto.  # noqa: E501
 
 
-        :return: The id of this DatabaseDto.  # noqa: E501
+        :return: The database_id of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._id
+        return self._database_id
 
-    @id.setter
-    def id(self, id):
-        """Sets the id of this DatabaseDto.
+    @database_id.setter
+    def database_id(self, database_id):
+        """Sets the database_id of this DatabaseDto.
 
 
-        :param id: The id of this DatabaseDto.  # noqa: E501
+        :param database_id: The database_id of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if id is None:
-            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+        if database_id is None:
+            raise ValueError("Invalid value for `database_id`, must not be `None`")  # noqa: E501
 
-        self._id = id
+        self._database_id = database_id
 
     @property
-    def name(self):
-        """Gets the name of this DatabaseDto.  # noqa: E501
+    def database_name(self):
+        """Gets the database_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The name of this DatabaseDto.  # noqa: E501
+        :return: The database_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._name
+        return self._database_name
 
-    @name.setter
-    def name(self, name):
-        """Sets the name of this DatabaseDto.
+    @database_name.setter
+    def database_name(self, database_name):
+        """Sets the database_name of this DatabaseDto.
 
 
-        :param name: The name of this DatabaseDto.  # noqa: E501
+        :param database_name: The database_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if name is None:
-            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
+        if database_name is None:
+            raise ValueError("Invalid value for `database_name`, must not be `None`")  # noqa: E501
 
-        self._name = name
+        self._database_name = database_name
 
     @property
-    def exchange(self):
-        """Gets the exchange of this DatabaseDto.  # noqa: E501
+    def database_exchange(self):
+        """Gets the database_exchange of this DatabaseDto.  # noqa: E501
 
 
-        :return: The exchange of this DatabaseDto.  # noqa: E501
+        :return: The database_exchange of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._exchange
+        return self._database_exchange
 
-    @exchange.setter
-    def exchange(self, exchange):
-        """Sets the exchange of this DatabaseDto.
+    @database_exchange.setter
+    def database_exchange(self, database_exchange):
+        """Sets the database_exchange of this DatabaseDto.
 
 
-        :param exchange: The exchange of this DatabaseDto.  # noqa: E501
+        :param database_exchange: The database_exchange of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if exchange is None:
-            raise ValueError("Invalid value for `exchange`, must not be `None`")  # noqa: E501
+        if database_exchange is None:
+            raise ValueError("Invalid value for `database_exchange`, must not be `None`")  # noqa: E501
 
-        self._exchange = exchange
+        self._database_exchange = database_exchange
 
     @property
-    def creator(self):
-        """Gets the creator of this DatabaseDto.  # noqa: E501
+    def database_creator(self):
+        """Gets the database_creator of this DatabaseDto.  # noqa: E501
 
 
-        :return: The creator of this DatabaseDto.  # noqa: E501
+        :return: The database_creator of this DatabaseDto.  # noqa: E501
         :rtype: UserBriefDto
         """
-        return self._creator
+        return self._database_creator
 
-    @creator.setter
-    def creator(self, creator):
-        """Sets the creator of this DatabaseDto.
+    @database_creator.setter
+    def database_creator(self, database_creator):
+        """Sets the database_creator of this DatabaseDto.
 
 
-        :param creator: The creator of this DatabaseDto.  # noqa: E501
+        :param database_creator: The database_creator of this DatabaseDto.  # noqa: E501
         :type: UserBriefDto
         """
-        if creator is None:
-            raise ValueError("Invalid value for `creator`, must not be `None`")  # noqa: E501
+        if database_creator is None:
+            raise ValueError("Invalid value for `database_creator`, must not be `None`")  # noqa: E501
 
-        self._creator = creator
+        self._database_creator = database_creator
 
     @property
-    def subjects(self):
-        """Gets the subjects of this DatabaseDto.  # noqa: E501
+    def database_subjects(self):
+        """Gets the database_subjects of this DatabaseDto.  # noqa: E501
 
 
-        :return: The subjects of this DatabaseDto.  # noqa: E501
+        :return: The database_subjects of this DatabaseDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subjects
+        return self._database_subjects
 
-    @subjects.setter
-    def subjects(self, subjects):
-        """Sets the subjects of this DatabaseDto.
+    @database_subjects.setter
+    def database_subjects(self, database_subjects):
+        """Sets the database_subjects of this DatabaseDto.
 
 
-        :param subjects: The subjects of this DatabaseDto.  # noqa: E501
+        :param database_subjects: The database_subjects of this DatabaseDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subjects = subjects
+        self._database_subjects = database_subjects
 
     @property
-    def language(self):
-        """Gets the language of this DatabaseDto.  # noqa: E501
+    def database_language(self):
+        """Gets the database_language of this DatabaseDto.  # noqa: E501
 
 
-        :return: The language of this DatabaseDto.  # noqa: E501
+        :return: The database_language of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._language
+        return self._database_language
 
-    @language.setter
-    def language(self, language):
-        """Sets the language of this DatabaseDto.
+    @database_language.setter
+    def database_language(self, database_language):
+        """Sets the database_language of this DatabaseDto.
 
 
-        :param language: The language of this DatabaseDto.  # noqa: E501
+        :param database_language: The database_language of this DatabaseDto.  # noqa: E501
         :type: str
         """
         allowed_values = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "km", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gd", "gl", "lg", "ka", "de", "ki", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "rw", "kv", "kg", "ko", "kj", "ku", "ky", "lo", "la", "lv", "lb", "li", "ln", "lt", "lu", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "ro", "mn", "na", "nv", "nd", "ng", "ne", "se", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "pa", "ps", "fa", "pl", "pt", "qu", "rm", "rn", "ru", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "nr", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "fy", "wo", "xh", "yi", "yo", "za", "zu"]  # noqa: E501
-        if language not in allowed_values:
+        if database_language not in allowed_values:
             raise ValueError(
-                "Invalid value for `language` ({0}), must be one of {1}"  # noqa: E501
-                .format(language, allowed_values)
+                "Invalid value for `database_language` ({0}), must be one of {1}"  # noqa: E501
+                .format(database_language, allowed_values)
             )
 
-        self._language = language
+        self._database_language = database_language
 
     @property
-    def license(self):
-        """Gets the license of this DatabaseDto.  # noqa: E501
+    def database_license(self):
+        """Gets the database_license of this DatabaseDto.  # noqa: E501
 
 
-        :return: The license of this DatabaseDto.  # noqa: E501
+        :return: The database_license of this DatabaseDto.  # noqa: E501
         :rtype: LicenseDto
         """
-        return self._license
+        return self._database_license
 
-    @license.setter
-    def license(self, license):
-        """Sets the license of this DatabaseDto.
+    @database_license.setter
+    def database_license(self, database_license):
+        """Sets the database_license of this DatabaseDto.
 
 
-        :param license: The license of this DatabaseDto.  # noqa: E501
+        :param database_license: The database_license of this DatabaseDto.  # noqa: E501
         :type: LicenseDto
         """
 
-        self._license = license
+        self._database_license = database_license
 
     @property
-    def description(self):
-        """Gets the description of this DatabaseDto.  # noqa: E501
+    def database_description(self):
+        """Gets the database_description of this DatabaseDto.  # noqa: E501
 
 
-        :return: The description of this DatabaseDto.  # noqa: E501
+        :return: The database_description of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._description
+        return self._database_description
 
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseDto.
+    @database_description.setter
+    def database_description(self, database_description):
+        """Sets the database_description of this DatabaseDto.
 
 
-        :param description: The description of this DatabaseDto.  # noqa: E501
+        :param database_description: The database_description of this DatabaseDto.  # noqa: E501
         :type: str
         """
+        if database_description is None:
+            raise ValueError("Invalid value for `database_description`, must not be `None`")  # noqa: E501
 
-        self._description = description
+        self._database_description = database_description
 
     @property
-    def publisher(self):
-        """Gets the publisher of this DatabaseDto.  # noqa: E501
+    def database_publisher(self):
+        """Gets the database_publisher of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publisher of this DatabaseDto.  # noqa: E501
+        :return: The database_publisher of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._publisher
+        return self._database_publisher
 
-    @publisher.setter
-    def publisher(self, publisher):
-        """Sets the publisher of this DatabaseDto.
+    @database_publisher.setter
+    def database_publisher(self, database_publisher):
+        """Sets the database_publisher of this DatabaseDto.
 
 
-        :param publisher: The publisher of this DatabaseDto.  # noqa: E501
+        :param database_publisher: The database_publisher of this DatabaseDto.  # noqa: E501
         :type: str
         """
 
-        self._publisher = publisher
+        self._database_publisher = database_publisher
 
     @property
-    def contact(self):
-        """Gets the contact of this DatabaseDto.  # noqa: E501
+    def database_contact_person(self):
+        """Gets the database_contact_person of this DatabaseDto.  # noqa: E501
 
 
-        :return: The contact of this DatabaseDto.  # noqa: E501
+        :return: The database_contact_person of this DatabaseDto.  # noqa: E501
         :rtype: UserDto
         """
-        return self._contact
+        return self._database_contact_person
 
-    @contact.setter
-    def contact(self, contact):
-        """Sets the contact of this DatabaseDto.
+    @database_contact_person.setter
+    def database_contact_person(self, database_contact_person):
+        """Sets the database_contact_person of this DatabaseDto.
 
 
-        :param contact: The contact of this DatabaseDto.  # noqa: E501
+        :param database_contact_person: The database_contact_person of this DatabaseDto.  # noqa: E501
         :type: UserDto
         """
 
-        self._contact = contact
+        self._database_contact_person = database_contact_person
 
     @property
     def tables(self):
@@ -367,25 +379,25 @@ class DatabaseDto(object):
         self._tables = tables
 
     @property
-    def image(self):
-        """Gets the image of this DatabaseDto.  # noqa: E501
+    def database_container_image(self):
+        """Gets the database_container_image of this DatabaseDto.  # noqa: E501
 
 
-        :return: The image of this DatabaseDto.  # noqa: E501
+        :return: The database_container_image of this DatabaseDto.  # noqa: E501
         :rtype: ImageDto
         """
-        return self._image
+        return self._database_container_image
 
-    @image.setter
-    def image(self, image):
-        """Sets the image of this DatabaseDto.
+    @database_container_image.setter
+    def database_container_image(self, database_container_image):
+        """Sets the database_container_image of this DatabaseDto.
 
 
-        :param image: The image of this DatabaseDto.  # noqa: E501
+        :param database_container_image: The database_container_image of this DatabaseDto.  # noqa: E501
         :type: ImageDto
         """
 
-        self._image = image
+        self._database_container_image = database_container_image
 
     @property
     def container(self):
@@ -409,25 +421,25 @@ class DatabaseDto(object):
         self._container = container
 
     @property
-    def created(self):
-        """Gets the created of this DatabaseDto.  # noqa: E501
+    def database_creation_time(self):
+        """Gets the database_creation_time of this DatabaseDto.  # noqa: E501
 
 
-        :return: The created of this DatabaseDto.  # noqa: E501
+        :return: The database_creation_time of this DatabaseDto.  # noqa: E501
         :rtype: datetime
         """
-        return self._created
+        return self._database_creation_time
 
-    @created.setter
-    def created(self, created):
-        """Sets the created of this DatabaseDto.
+    @database_creation_time.setter
+    def database_creation_time(self, database_creation_time):
+        """Sets the database_creation_time of this DatabaseDto.
 
 
-        :param created: The created of this DatabaseDto.  # noqa: E501
+        :param database_creation_time: The database_creation_time of this DatabaseDto.  # noqa: E501
         :type: datetime
         """
 
-        self._created = created
+        self._database_creation_time = database_creation_time
 
     @property
     def deleted(self):
@@ -451,71 +463,111 @@ class DatabaseDto(object):
         self._deleted = deleted
 
     @property
-    def internal_name(self):
-        """Gets the internal_name of this DatabaseDto.  # noqa: E501
+    def database_internal_name(self):
+        """Gets the database_internal_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The internal_name of this DatabaseDto.  # noqa: E501
+        :return: The database_internal_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._internal_name
+        return self._database_internal_name
 
-    @internal_name.setter
-    def internal_name(self, internal_name):
-        """Sets the internal_name of this DatabaseDto.
+    @database_internal_name.setter
+    def database_internal_name(self, database_internal_name):
+        """Sets the database_internal_name of this DatabaseDto.
 
 
-        :param internal_name: The internal_name of this DatabaseDto.  # noqa: E501
+        :param database_internal_name: The database_internal_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if internal_name is None:
-            raise ValueError("Invalid value for `internal_name`, must not be `None`")  # noqa: E501
+        if database_internal_name is None:
+            raise ValueError("Invalid value for `database_internal_name`, must not be `None`")  # noqa: E501
 
-        self._internal_name = internal_name
+        self._database_internal_name = database_internal_name
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_year of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._database_publication_year
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseDto.
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseDto.
 
 
-        :param publication_year: The publication_year of this DatabaseDto.  # noqa: E501
+        :param database_publication_year: The database_publication_year of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._database_publication_year = database_publication_year
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseDto.  # noqa: E501
+    def database_publication_month(self):
+        """Gets the database_publication_month of this DatabaseDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_month
+
+    @database_publication_month.setter
+    def database_publication_month(self, database_publication_month):
+        """Sets the database_publication_month of this DatabaseDto.
+
+
+        :param database_publication_month: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_month = database_publication_month
+
+    @property
+    def database_publication_day(self):
+        """Gets the database_publication_day of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_day
+
+    @database_publication_day.setter
+    def database_publication_day(self, database_publication_day):
+        """Sets the database_publication_day of this DatabaseDto.
+
+
+        :param database_publication_day: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_day = database_publication_day
+
+    @property
+    def database_public(self):
+        """Gets the database_public of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_public of this DatabaseDto.  # noqa: E501
         :rtype: bool
         """
-        return self._is_public
+        return self._database_public
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseDto.
+    @database_public.setter
+    def database_public(self, database_public):
+        """Sets the database_public of this DatabaseDto.
 
 
-        :param is_public: The is_public of this DatabaseDto.  # noqa: E501
+        :param database_public: The database_public of this DatabaseDto.  # noqa: E501
         :type: bool
         """
 
-        self._is_public = is_public
+        self._database_public = database_public
 
     def to_dict(self):
         """Returns the model properties as a dict"""
diff --git a/.jupyter/api_query/models/database_dto.py b/.jupyter/api_query/models/database_dto.py
index a6cbe93ef828694fc41e70f0dc370ee8fdd900f0..fb94bfb4d9045bb7ad5ff5789c279538827cdf25 100644
--- a/.jupyter/api_query/models/database_dto.py
+++ b/.jupyter/api_query/models/database_dto.py
@@ -28,322 +28,334 @@ class DatabaseDto(object):
                             and the value is json key in definition.
     """
     swagger_types = {
-        'id': 'int',
-        'name': 'str',
-        'exchange': 'str',
-        'creator': 'UserBriefDto',
-        'subjects': 'list[str]',
-        'language': 'str',
-        'license': 'LicenseDto',
-        'description': 'str',
-        'publisher': 'str',
-        'contact': 'UserDto',
+        'database_id': 'int',
+        'database_name': 'str',
+        'database_exchange': 'str',
+        'database_creator': 'UserBriefDto',
+        'database_subjects': 'list[str]',
+        'database_language': 'str',
+        'database_license': 'LicenseDto',
+        'database_description': 'str',
+        'database_publisher': 'str',
+        'database_contact_person': 'UserDto',
         'tables': 'list[TableBriefDto]',
-        'image': 'ImageDto',
+        'database_container_image': 'ImageDto',
         'container': 'ContainerDto',
-        'created': 'datetime',
+        'database_creation_time': 'datetime',
         'deleted': 'datetime',
-        'internal_name': 'str',
-        'publication_year': 'int',
-        'is_public': 'bool'
+        'database_internal_name': 'str',
+        'database_publication_year': 'int',
+        'database_publication_month': 'int',
+        'database_publication_day': 'int',
+        'database_public': 'bool'
     }
 
     attribute_map = {
-        'id': 'id',
-        'name': 'name',
-        'exchange': 'exchange',
-        'creator': 'creator',
-        'subjects': 'subjects',
-        'language': 'language',
-        'license': 'license',
-        'description': 'description',
-        'publisher': 'publisher',
-        'contact': 'contact',
+        'database_id': 'database id',
+        'database_name': 'database name',
+        'database_exchange': 'database exchange',
+        'database_creator': 'database creator',
+        'database_subjects': 'database subjects',
+        'database_language': 'database language',
+        'database_license': 'database license',
+        'database_description': 'database description',
+        'database_publisher': 'database publisher',
+        'database_contact_person': 'database contact person',
         'tables': 'tables',
-        'image': 'image',
+        'database_container_image': 'database container image',
         'container': 'container',
-        'created': 'created',
+        'database_creation_time': 'database creation time',
         'deleted': 'deleted',
-        'internal_name': 'internal_name',
-        'publication_year': 'publication_year',
-        'is_public': 'is_public'
+        'database_internal_name': 'database internal name',
+        'database_publication_year': 'database publication year',
+        'database_publication_month': 'database publication month',
+        'database_publication_day': 'database publication day',
+        'database_public': 'database public'
     }
 
-    def __init__(self, id=None, name=None, exchange=None, creator=None, subjects=None, language=None, license=None, description=None, publisher=None, contact=None, tables=None, image=None, container=None, created=None, deleted=None, internal_name=None, publication_year=None, is_public=None):  # noqa: E501
+    def __init__(self, database_id=None, database_name=None, database_exchange=None, database_creator=None, database_subjects=None, database_language=None, database_license=None, database_description=None, database_publisher=None, database_contact_person=None, tables=None, database_container_image=None, container=None, database_creation_time=None, deleted=None, database_internal_name=None, database_publication_year=None, database_publication_month=None, database_publication_day=None, database_public=None):  # noqa: E501
         """DatabaseDto - a model defined in Swagger"""  # noqa: E501
-        self._id = None
-        self._name = None
-        self._exchange = None
-        self._creator = None
-        self._subjects = None
-        self._language = None
-        self._license = None
-        self._description = None
-        self._publisher = None
-        self._contact = None
+        self._database_id = None
+        self._database_name = None
+        self._database_exchange = None
+        self._database_creator = None
+        self._database_subjects = None
+        self._database_language = None
+        self._database_license = None
+        self._database_description = None
+        self._database_publisher = None
+        self._database_contact_person = None
         self._tables = None
-        self._image = None
+        self._database_container_image = None
         self._container = None
-        self._created = None
+        self._database_creation_time = None
         self._deleted = None
-        self._internal_name = None
-        self._publication_year = None
-        self._is_public = None
+        self._database_internal_name = None
+        self._database_publication_year = None
+        self._database_publication_month = None
+        self._database_publication_day = None
+        self._database_public = None
         self.discriminator = None
-        self.id = id
-        self.name = name
-        self.exchange = exchange
-        self.creator = creator
-        if subjects is not None:
-            self.subjects = subjects
-        if language is not None:
-            self.language = language
-        if license is not None:
-            self.license = license
-        if description is not None:
-            self.description = description
-        if publisher is not None:
-            self.publisher = publisher
-        if contact is not None:
-            self.contact = contact
+        self.database_id = database_id
+        self.database_name = database_name
+        self.database_exchange = database_exchange
+        self.database_creator = database_creator
+        if database_subjects is not None:
+            self.database_subjects = database_subjects
+        if database_language is not None:
+            self.database_language = database_language
+        if database_license is not None:
+            self.database_license = database_license
+        self.database_description = database_description
+        if database_publisher is not None:
+            self.database_publisher = database_publisher
+        if database_contact_person is not None:
+            self.database_contact_person = database_contact_person
         if tables is not None:
             self.tables = tables
-        if image is not None:
-            self.image = image
+        if database_container_image is not None:
+            self.database_container_image = database_container_image
         if container is not None:
             self.container = container
-        if created is not None:
-            self.created = created
+        if database_creation_time is not None:
+            self.database_creation_time = database_creation_time
         if deleted is not None:
             self.deleted = deleted
-        self.internal_name = internal_name
-        self.publication_year = publication_year
-        if is_public is not None:
-            self.is_public = is_public
+        self.database_internal_name = database_internal_name
+        if database_publication_year is not None:
+            self.database_publication_year = database_publication_year
+        if database_publication_month is not None:
+            self.database_publication_month = database_publication_month
+        if database_publication_day is not None:
+            self.database_publication_day = database_publication_day
+        if database_public is not None:
+            self.database_public = database_public
 
     @property
-    def id(self):
-        """Gets the id of this DatabaseDto.  # noqa: E501
+    def database_id(self):
+        """Gets the database_id of this DatabaseDto.  # noqa: E501
 
 
-        :return: The id of this DatabaseDto.  # noqa: E501
+        :return: The database_id of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._id
+        return self._database_id
 
-    @id.setter
-    def id(self, id):
-        """Sets the id of this DatabaseDto.
+    @database_id.setter
+    def database_id(self, database_id):
+        """Sets the database_id of this DatabaseDto.
 
 
-        :param id: The id of this DatabaseDto.  # noqa: E501
+        :param database_id: The database_id of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if id is None:
-            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+        if database_id is None:
+            raise ValueError("Invalid value for `database_id`, must not be `None`")  # noqa: E501
 
-        self._id = id
+        self._database_id = database_id
 
     @property
-    def name(self):
-        """Gets the name of this DatabaseDto.  # noqa: E501
+    def database_name(self):
+        """Gets the database_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The name of this DatabaseDto.  # noqa: E501
+        :return: The database_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._name
+        return self._database_name
 
-    @name.setter
-    def name(self, name):
-        """Sets the name of this DatabaseDto.
+    @database_name.setter
+    def database_name(self, database_name):
+        """Sets the database_name of this DatabaseDto.
 
 
-        :param name: The name of this DatabaseDto.  # noqa: E501
+        :param database_name: The database_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if name is None:
-            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
+        if database_name is None:
+            raise ValueError("Invalid value for `database_name`, must not be `None`")  # noqa: E501
 
-        self._name = name
+        self._database_name = database_name
 
     @property
-    def exchange(self):
-        """Gets the exchange of this DatabaseDto.  # noqa: E501
+    def database_exchange(self):
+        """Gets the database_exchange of this DatabaseDto.  # noqa: E501
 
 
-        :return: The exchange of this DatabaseDto.  # noqa: E501
+        :return: The database_exchange of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._exchange
+        return self._database_exchange
 
-    @exchange.setter
-    def exchange(self, exchange):
-        """Sets the exchange of this DatabaseDto.
+    @database_exchange.setter
+    def database_exchange(self, database_exchange):
+        """Sets the database_exchange of this DatabaseDto.
 
 
-        :param exchange: The exchange of this DatabaseDto.  # noqa: E501
+        :param database_exchange: The database_exchange of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if exchange is None:
-            raise ValueError("Invalid value for `exchange`, must not be `None`")  # noqa: E501
+        if database_exchange is None:
+            raise ValueError("Invalid value for `database_exchange`, must not be `None`")  # noqa: E501
 
-        self._exchange = exchange
+        self._database_exchange = database_exchange
 
     @property
-    def creator(self):
-        """Gets the creator of this DatabaseDto.  # noqa: E501
+    def database_creator(self):
+        """Gets the database_creator of this DatabaseDto.  # noqa: E501
 
 
-        :return: The creator of this DatabaseDto.  # noqa: E501
+        :return: The database_creator of this DatabaseDto.  # noqa: E501
         :rtype: UserBriefDto
         """
-        return self._creator
+        return self._database_creator
 
-    @creator.setter
-    def creator(self, creator):
-        """Sets the creator of this DatabaseDto.
+    @database_creator.setter
+    def database_creator(self, database_creator):
+        """Sets the database_creator of this DatabaseDto.
 
 
-        :param creator: The creator of this DatabaseDto.  # noqa: E501
+        :param database_creator: The database_creator of this DatabaseDto.  # noqa: E501
         :type: UserBriefDto
         """
-        if creator is None:
-            raise ValueError("Invalid value for `creator`, must not be `None`")  # noqa: E501
+        if database_creator is None:
+            raise ValueError("Invalid value for `database_creator`, must not be `None`")  # noqa: E501
 
-        self._creator = creator
+        self._database_creator = database_creator
 
     @property
-    def subjects(self):
-        """Gets the subjects of this DatabaseDto.  # noqa: E501
+    def database_subjects(self):
+        """Gets the database_subjects of this DatabaseDto.  # noqa: E501
 
 
-        :return: The subjects of this DatabaseDto.  # noqa: E501
+        :return: The database_subjects of this DatabaseDto.  # noqa: E501
         :rtype: list[str]
         """
-        return self._subjects
+        return self._database_subjects
 
-    @subjects.setter
-    def subjects(self, subjects):
-        """Sets the subjects of this DatabaseDto.
+    @database_subjects.setter
+    def database_subjects(self, database_subjects):
+        """Sets the database_subjects of this DatabaseDto.
 
 
-        :param subjects: The subjects of this DatabaseDto.  # noqa: E501
+        :param database_subjects: The database_subjects of this DatabaseDto.  # noqa: E501
         :type: list[str]
         """
 
-        self._subjects = subjects
+        self._database_subjects = database_subjects
 
     @property
-    def language(self):
-        """Gets the language of this DatabaseDto.  # noqa: E501
+    def database_language(self):
+        """Gets the database_language of this DatabaseDto.  # noqa: E501
 
 
-        :return: The language of this DatabaseDto.  # noqa: E501
+        :return: The database_language of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._language
+        return self._database_language
 
-    @language.setter
-    def language(self, language):
-        """Sets the language of this DatabaseDto.
+    @database_language.setter
+    def database_language(self, database_language):
+        """Sets the database_language of this DatabaseDto.
 
 
-        :param language: The language of this DatabaseDto.  # noqa: E501
+        :param database_language: The database_language of this DatabaseDto.  # noqa: E501
         :type: str
         """
         allowed_values = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "km", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gd", "gl", "lg", "ka", "de", "ki", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "rw", "kv", "kg", "ko", "kj", "ku", "ky", "lo", "la", "lv", "lb", "li", "ln", "lt", "lu", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "ro", "mn", "na", "nv", "nd", "ng", "ne", "se", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "pa", "ps", "fa", "pl", "pt", "qu", "rm", "rn", "ru", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "nr", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "fy", "wo", "xh", "yi", "yo", "za", "zu"]  # noqa: E501
-        if language not in allowed_values:
+        if database_language not in allowed_values:
             raise ValueError(
-                "Invalid value for `language` ({0}), must be one of {1}"  # noqa: E501
-                .format(language, allowed_values)
+                "Invalid value for `database_language` ({0}), must be one of {1}"  # noqa: E501
+                .format(database_language, allowed_values)
             )
 
-        self._language = language
+        self._database_language = database_language
 
     @property
-    def license(self):
-        """Gets the license of this DatabaseDto.  # noqa: E501
+    def database_license(self):
+        """Gets the database_license of this DatabaseDto.  # noqa: E501
 
 
-        :return: The license of this DatabaseDto.  # noqa: E501
+        :return: The database_license of this DatabaseDto.  # noqa: E501
         :rtype: LicenseDto
         """
-        return self._license
+        return self._database_license
 
-    @license.setter
-    def license(self, license):
-        """Sets the license of this DatabaseDto.
+    @database_license.setter
+    def database_license(self, database_license):
+        """Sets the database_license of this DatabaseDto.
 
 
-        :param license: The license of this DatabaseDto.  # noqa: E501
+        :param database_license: The database_license of this DatabaseDto.  # noqa: E501
         :type: LicenseDto
         """
 
-        self._license = license
+        self._database_license = database_license
 
     @property
-    def description(self):
-        """Gets the description of this DatabaseDto.  # noqa: E501
+    def database_description(self):
+        """Gets the database_description of this DatabaseDto.  # noqa: E501
 
 
-        :return: The description of this DatabaseDto.  # noqa: E501
+        :return: The database_description of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._description
+        return self._database_description
 
-    @description.setter
-    def description(self, description):
-        """Sets the description of this DatabaseDto.
+    @database_description.setter
+    def database_description(self, database_description):
+        """Sets the database_description of this DatabaseDto.
 
 
-        :param description: The description of this DatabaseDto.  # noqa: E501
+        :param database_description: The database_description of this DatabaseDto.  # noqa: E501
         :type: str
         """
+        if database_description is None:
+            raise ValueError("Invalid value for `database_description`, must not be `None`")  # noqa: E501
 
-        self._description = description
+        self._database_description = database_description
 
     @property
-    def publisher(self):
-        """Gets the publisher of this DatabaseDto.  # noqa: E501
+    def database_publisher(self):
+        """Gets the database_publisher of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publisher of this DatabaseDto.  # noqa: E501
+        :return: The database_publisher of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._publisher
+        return self._database_publisher
 
-    @publisher.setter
-    def publisher(self, publisher):
-        """Sets the publisher of this DatabaseDto.
+    @database_publisher.setter
+    def database_publisher(self, database_publisher):
+        """Sets the database_publisher of this DatabaseDto.
 
 
-        :param publisher: The publisher of this DatabaseDto.  # noqa: E501
+        :param database_publisher: The database_publisher of this DatabaseDto.  # noqa: E501
         :type: str
         """
 
-        self._publisher = publisher
+        self._database_publisher = database_publisher
 
     @property
-    def contact(self):
-        """Gets the contact of this DatabaseDto.  # noqa: E501
+    def database_contact_person(self):
+        """Gets the database_contact_person of this DatabaseDto.  # noqa: E501
 
 
-        :return: The contact of this DatabaseDto.  # noqa: E501
+        :return: The database_contact_person of this DatabaseDto.  # noqa: E501
         :rtype: UserDto
         """
-        return self._contact
+        return self._database_contact_person
 
-    @contact.setter
-    def contact(self, contact):
-        """Sets the contact of this DatabaseDto.
+    @database_contact_person.setter
+    def database_contact_person(self, database_contact_person):
+        """Sets the database_contact_person of this DatabaseDto.
 
 
-        :param contact: The contact of this DatabaseDto.  # noqa: E501
+        :param database_contact_person: The database_contact_person of this DatabaseDto.  # noqa: E501
         :type: UserDto
         """
 
-        self._contact = contact
+        self._database_contact_person = database_contact_person
 
     @property
     def tables(self):
@@ -367,25 +379,25 @@ class DatabaseDto(object):
         self._tables = tables
 
     @property
-    def image(self):
-        """Gets the image of this DatabaseDto.  # noqa: E501
+    def database_container_image(self):
+        """Gets the database_container_image of this DatabaseDto.  # noqa: E501
 
 
-        :return: The image of this DatabaseDto.  # noqa: E501
+        :return: The database_container_image of this DatabaseDto.  # noqa: E501
         :rtype: ImageDto
         """
-        return self._image
+        return self._database_container_image
 
-    @image.setter
-    def image(self, image):
-        """Sets the image of this DatabaseDto.
+    @database_container_image.setter
+    def database_container_image(self, database_container_image):
+        """Sets the database_container_image of this DatabaseDto.
 
 
-        :param image: The image of this DatabaseDto.  # noqa: E501
+        :param database_container_image: The database_container_image of this DatabaseDto.  # noqa: E501
         :type: ImageDto
         """
 
-        self._image = image
+        self._database_container_image = database_container_image
 
     @property
     def container(self):
@@ -409,25 +421,25 @@ class DatabaseDto(object):
         self._container = container
 
     @property
-    def created(self):
-        """Gets the created of this DatabaseDto.  # noqa: E501
+    def database_creation_time(self):
+        """Gets the database_creation_time of this DatabaseDto.  # noqa: E501
 
 
-        :return: The created of this DatabaseDto.  # noqa: E501
+        :return: The database_creation_time of this DatabaseDto.  # noqa: E501
         :rtype: datetime
         """
-        return self._created
+        return self._database_creation_time
 
-    @created.setter
-    def created(self, created):
-        """Sets the created of this DatabaseDto.
+    @database_creation_time.setter
+    def database_creation_time(self, database_creation_time):
+        """Sets the database_creation_time of this DatabaseDto.
 
 
-        :param created: The created of this DatabaseDto.  # noqa: E501
+        :param database_creation_time: The database_creation_time of this DatabaseDto.  # noqa: E501
         :type: datetime
         """
 
-        self._created = created
+        self._database_creation_time = database_creation_time
 
     @property
     def deleted(self):
@@ -451,71 +463,111 @@ class DatabaseDto(object):
         self._deleted = deleted
 
     @property
-    def internal_name(self):
-        """Gets the internal_name of this DatabaseDto.  # noqa: E501
+    def database_internal_name(self):
+        """Gets the database_internal_name of this DatabaseDto.  # noqa: E501
 
 
-        :return: The internal_name of this DatabaseDto.  # noqa: E501
+        :return: The database_internal_name of this DatabaseDto.  # noqa: E501
         :rtype: str
         """
-        return self._internal_name
+        return self._database_internal_name
 
-    @internal_name.setter
-    def internal_name(self, internal_name):
-        """Sets the internal_name of this DatabaseDto.
+    @database_internal_name.setter
+    def database_internal_name(self, database_internal_name):
+        """Sets the database_internal_name of this DatabaseDto.
 
 
-        :param internal_name: The internal_name of this DatabaseDto.  # noqa: E501
+        :param database_internal_name: The database_internal_name of this DatabaseDto.  # noqa: E501
         :type: str
         """
-        if internal_name is None:
-            raise ValueError("Invalid value for `internal_name`, must not be `None`")  # noqa: E501
+        if database_internal_name is None:
+            raise ValueError("Invalid value for `database_internal_name`, must not be `None`")  # noqa: E501
 
-        self._internal_name = internal_name
+        self._database_internal_name = database_internal_name
 
     @property
-    def publication_year(self):
-        """Gets the publication_year of this DatabaseDto.  # noqa: E501
+    def database_publication_year(self):
+        """Gets the database_publication_year of this DatabaseDto.  # noqa: E501
 
 
-        :return: The publication_year of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_year of this DatabaseDto.  # noqa: E501
         :rtype: int
         """
-        return self._publication_year
+        return self._database_publication_year
 
-    @publication_year.setter
-    def publication_year(self, publication_year):
-        """Sets the publication_year of this DatabaseDto.
+    @database_publication_year.setter
+    def database_publication_year(self, database_publication_year):
+        """Sets the database_publication_year of this DatabaseDto.
 
 
-        :param publication_year: The publication_year of this DatabaseDto.  # noqa: E501
+        :param database_publication_year: The database_publication_year of this DatabaseDto.  # noqa: E501
         :type: int
         """
-        if publication_year is None:
-            raise ValueError("Invalid value for `publication_year`, must not be `None`")  # noqa: E501
 
-        self._publication_year = publication_year
+        self._database_publication_year = database_publication_year
 
     @property
-    def is_public(self):
-        """Gets the is_public of this DatabaseDto.  # noqa: E501
+    def database_publication_month(self):
+        """Gets the database_publication_month of this DatabaseDto.  # noqa: E501
 
 
-        :return: The is_public of this DatabaseDto.  # noqa: E501
+        :return: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_month
+
+    @database_publication_month.setter
+    def database_publication_month(self, database_publication_month):
+        """Sets the database_publication_month of this DatabaseDto.
+
+
+        :param database_publication_month: The database_publication_month of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_month = database_publication_month
+
+    @property
+    def database_publication_day(self):
+        """Gets the database_publication_day of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :rtype: int
+        """
+        return self._database_publication_day
+
+    @database_publication_day.setter
+    def database_publication_day(self, database_publication_day):
+        """Sets the database_publication_day of this DatabaseDto.
+
+
+        :param database_publication_day: The database_publication_day of this DatabaseDto.  # noqa: E501
+        :type: int
+        """
+
+        self._database_publication_day = database_publication_day
+
+    @property
+    def database_public(self):
+        """Gets the database_public of this DatabaseDto.  # noqa: E501
+
+
+        :return: The database_public of this DatabaseDto.  # noqa: E501
         :rtype: bool
         """
-        return self._is_public
+        return self._database_public
 
-    @is_public.setter
-    def is_public(self, is_public):
-        """Sets the is_public of this DatabaseDto.
+    @database_public.setter
+    def database_public(self, database_public):
+        """Sets the database_public of this DatabaseDto.
 
 
-        :param is_public: The is_public of this DatabaseDto.  # noqa: E501
+        :param database_public: The database_public of this DatabaseDto.  # noqa: E501
         :type: bool
         """
 
-        self._is_public = is_public
+        self._database_public = database_public
 
     def to_dict(self):
         """Returns the model properties as a dict"""
diff --git a/.jupyter/api_table/api/table_endpoint_api.py b/.jupyter/api_table/api/table_endpoint_api.py
index ca2f072bd02fb59f14d40e93d298617cc76511f2..55049efced3b3b4d48481955d940887bf2542a5c 100644
--- a/.jupyter/api_table/api/table_endpoint_api.py
+++ b/.jupyter/api_table/api/table_endpoint_api.py
@@ -32,16 +32,17 @@ class TableEndpointApi(object):
             api_client = ApiClient()
         self.api_client = api_client
 
-    def create(self, body, id, database_id, **kwargs):  # noqa: E501
+    def create(self, body, authorization, id, database_id, **kwargs):  # noqa: E501
         """Create a table  # noqa: E501
 
         This method makes a synchronous HTTP request by default. To make an
         asynchronous HTTP request, please pass async_req=True
-        >>> thread = api.create(body, id, database_id, async_req=True)
+        >>> thread = api.create(body, authorization, id, database_id, async_req=True)
         >>> result = thread.get()
 
         :param async_req bool
         :param TableCreateDto body: (required)
+        :param str authorization: (required)
         :param int id: (required)
         :param int database_id: (required)
         :return: TableBriefDto
@@ -50,21 +51,22 @@ class TableEndpointApi(object):
         """
         kwargs['_return_http_data_only'] = True
         if kwargs.get('async_req'):
-            return self.create_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+            return self.create_with_http_info(body, authorization, id, database_id, **kwargs)  # noqa: E501
         else:
-            (data) = self.create_with_http_info(body, id, database_id, **kwargs)  # noqa: E501
+            (data) = self.create_with_http_info(body, authorization, id, database_id, **kwargs)  # noqa: E501
             return data
 
-    def create_with_http_info(self, body, id, database_id, **kwargs):  # noqa: E501
+    def create_with_http_info(self, body, authorization, id, database_id, **kwargs):  # noqa: E501
         """Create a table  # noqa: E501
 
         This method makes a synchronous HTTP request by default. To make an
         asynchronous HTTP request, please pass async_req=True
-        >>> thread = api.create_with_http_info(body, id, database_id, async_req=True)
+        >>> thread = api.create_with_http_info(body, authorization, id, database_id, async_req=True)
         >>> result = thread.get()
 
         :param async_req bool
         :param TableCreateDto body: (required)
+        :param str authorization: (required)
         :param int id: (required)
         :param int database_id: (required)
         :return: TableBriefDto
@@ -72,7 +74,7 @@ class TableEndpointApi(object):
                  returns the request thread.
         """
 
-        all_params = ['body', 'id', 'database_id']  # noqa: E501
+        all_params = ['body', 'authorization', 'id', 'database_id']  # noqa: E501
         all_params.append('async_req')
         all_params.append('_return_http_data_only')
         all_params.append('_preload_content')
@@ -91,6 +93,10 @@ class TableEndpointApi(object):
         if ('body' not in params or
                 params['body'] is None):
             raise ValueError("Missing the required parameter `body` when calling `create`")  # noqa: E501
+        # verify the required parameter 'authorization' is set
+        if ('authorization' not in params or
+                params['authorization'] is None):
+            raise ValueError("Missing the required parameter `authorization` when calling `create`")  # noqa: E501
         # verify the required parameter 'id' is set
         if ('id' not in params or
                 params['id'] is None):
@@ -111,6 +117,8 @@ class TableEndpointApi(object):
         query_params = []
 
         header_params = {}
+        if 'authorization' in params:
+            header_params['Authorization'] = params['authorization']  # noqa: E501
 
         form_params = []
         local_var_files = {}
@@ -145,47 +153,49 @@ class TableEndpointApi(object):
             _request_timeout=params.get('_request_timeout'),
             collection_formats=collection_formats)
 
-    def delete(self, id, database_id, table_id, **kwargs):  # noqa: E501
+    def delete(self, id, database_id, table_id, authorization, **kwargs):  # noqa: E501
         """Delete a table  # noqa: E501
 
         This method makes a synchronous HTTP request by default. To make an
         asynchronous HTTP request, please pass async_req=True
-        >>> thread = api.delete(id, database_id, table_id, async_req=True)
+        >>> thread = api.delete(id, database_id, table_id, authorization, async_req=True)
         >>> result = thread.get()
 
         :param async_req bool
         :param int id: (required)
         :param int database_id: (required)
         :param int table_id: (required)
+        :param str authorization: (required)
         :return: None
                  If the method is called asynchronously,
                  returns the request thread.
         """
         kwargs['_return_http_data_only'] = True
         if kwargs.get('async_req'):
-            return self.delete_with_http_info(id, database_id, table_id, **kwargs)  # noqa: E501
+            return self.delete_with_http_info(id, database_id, table_id, authorization, **kwargs)  # noqa: E501
         else:
-            (data) = self.delete_with_http_info(id, database_id, table_id, **kwargs)  # noqa: E501
+            (data) = self.delete_with_http_info(id, database_id, table_id, authorization, **kwargs)  # noqa: E501
             return data
 
-    def delete_with_http_info(self, id, database_id, table_id, **kwargs):  # noqa: E501
+    def delete_with_http_info(self, id, database_id, table_id, authorization, **kwargs):  # noqa: E501
         """Delete a table  # noqa: E501
 
         This method makes a synchronous HTTP request by default. To make an
         asynchronous HTTP request, please pass async_req=True
-        >>> thread = api.delete_with_http_info(id, database_id, table_id, async_req=True)
+        >>> thread = api.delete_with_http_info(id, database_id, table_id, authorization, async_req=True)
         >>> result = thread.get()
 
         :param async_req bool
         :param int id: (required)
         :param int database_id: (required)
         :param int table_id: (required)
+        :param str authorization: (required)
         :return: None
                  If the method is called asynchronously,
                  returns the request thread.
         """
 
-        all_params = ['id', 'database_id', 'table_id']  # noqa: E501
+        all_params = ['id', 'database_id', 'table_id', 'authorization']  # noqa: E501
         all_params.append('async_req')
         all_params.append('_return_http_data_only')
         all_params.append('_preload_content')
@@ -212,6 +222,10 @@ class TableEndpointApi(object):
         if ('table_id' not in params or
                 params['table_id'] is None):
             raise ValueError("Missing the required parameter `table_id` when calling `delete`")  # noqa: E501
+        # verify the required parameter 'authorization' is set
+        if ('authorization' not in params or
+                params['authorization'] is None):
+            raise ValueError("Missing the required parameter `authorization` when calling `delete`")  # noqa: E501
 
         collection_formats = {}
 
@@ -226,6 +240,8 @@ class TableEndpointApi(object):
         query_params = []
 
         header_params = {}
+        if 'authorization' in params:
+            header_params['Authorization'] = params['authorization']  # noqa: E501
 
         form_params = []
         local_var_files = {}
diff --git a/.jupyter/load_test.py b/.jupyter/load_test.py
index 1336060476a256866612399cfa3030cbfb236a82..f607e9b0c1d26d375465694617f87be5912537ee 100755
--- a/.jupyter/load_test.py
+++ b/.jupyter/load_test.py
@@ -93,7 +93,6 @@ def start_container(container_id):
 def create_database(container_id, is_public=True):
     response = database.create({
         "name": "Airquality " + str(uuid.uuid1()),
-        "description": "Hourly measurements in Zürich, Switzerland",
         "is_public": is_public
     }, container_id)
     print("created database with id %d" % response.id)
@@ -106,7 +105,7 @@ def find_database(container_id, database_id):
     return response
 
 
-def update_database(container_id, database_id, is_public=True):
+def update_database(container_id, database_id):
     response = database.update({
         "description": "This dataset includes daily values from 1983 to the current day, divided into annual files. This includes the maximum hourly average and the number of times the hourly average limit value for ozone was exceeded and the daily averages for sulfur dioxide (SO2), carbon monoxide (CO), nitrogen oxide (NOx), nitrogen monoxide (NO), nitrogen dioxide (NO2), particulate matter (PM10 and PM2.5). ) and particle number (PN), provided that they are of sufficient quality. The values of the completed day for the current year are updated every 30 minutes after midnight (UTC+1).",
         "publisher": "Technical University of Vienna",
@@ -115,7 +114,6 @@ def update_database(container_id, database_id, is_public=True):
             "uri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode"
         },
         "language": "en",
-        "is_public": is_public,
         "publication_year": 2022
     }, container_id, database_id)
     print("updated database with id %d" % response.id)
@@ -340,7 +338,7 @@ if __name__ == '__main__':
     cid = create_container().id
     start_container(cid)
     dbid = create_database(cid, False).id
-    update_database(cid, dbid, is_public=False)
+    update_database(cid, dbid)
     tid = create_table(cid, dbid).id
     tname = find_table(cid, dbid, tid).internal_name
     fill_table(cid, dbid, tid)
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java b/fda-authentication-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
index ca0d5caa8696bd72b4d2e7f58d7961d317caaa64..d0b232316493f0648f6eef09a7916b36a89e2f5e 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
@@ -2,12 +2,7 @@ package at.tuwien.gateway;
 
 
 import at.tuwien.api.amqp.CreateUserDto;
-import at.tuwien.api.user.UserModifyPasswordDto;
-import at.tuwien.api.user.UserPasswordDto;
-import at.tuwien.exception.AuthenticationInvalidException;
 import at.tuwien.exception.BrokerUserCreationException;
-import at.tuwien.exception.UserEmailNotVerifiedException;
-import at.tuwien.exception.UserNotFoundException;
 
 
 public interface BrokerServiceGateway {
@@ -21,14 +16,6 @@ public interface BrokerServiceGateway {
      */
     void createUser(String username, CreateUserDto data) throws BrokerUserCreationException;
 
-    /**
-     * Grants all permissions on a virtual host
-     *
-     * @param username The user name.
-     * @throws BrokerUserCreationException The broker did not grant permissions for a user.
-     */
-    void grantUserHost(String username) throws BrokerUserCreationException;
-
     /**
      * Modify a user password for a user at the Queue Service
      *
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java b/fda-authentication-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
index a70f8ff45d907f3909d46593ce1e8a321837934b..9a2acc658620d231168d52f757426aa404b3209a 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
@@ -1,12 +1,9 @@
 package at.tuwien.gateway.impl;
 
 import at.tuwien.api.amqp.CreateUserDto;
-import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
 import at.tuwien.config.AmqpConfig;
-import at.tuwien.config.GatewayConfig;
 import at.tuwien.exception.BrokerUserCreationException;
 import at.tuwien.gateway.BrokerServiceGateway;
-import at.tuwien.mapper.UserMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,25 +11,19 @@ import org.springframework.http.*;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
-import java.net.URI;
 import java.nio.charset.Charset;
 
 @Slf4j
 @Service
 public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
 
-    private final UserMapper userMapper;
     private final AmqpConfig amqpConfig;
     private final RestTemplate restTemplate;
-    private final GatewayConfig gatewayConfig;
 
     @Autowired
-    public BrokerServiceGatewayImpl(UserMapper userMapper, RestTemplate restTemplate, AmqpConfig amqpConfig,
-                                    GatewayConfig gatewayConfig) {
-        this.userMapper = userMapper;
+    public BrokerServiceGatewayImpl(RestTemplate restTemplate, AmqpConfig amqpConfig) {
         this.amqpConfig = amqpConfig;
         this.restTemplate = restTemplate;
-        this.gatewayConfig = gatewayConfig;
     }
 
     @Override
@@ -48,21 +39,6 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
         log.info("Created user at broker service with username {}", username);
     }
 
-    @Override
-    public void grantUserHost(String username) throws BrokerUserCreationException {
-        /* grant */
-        final URI grantUrl = URI.create(gatewayConfig.getGatewayEndpoint() + "/api/broker/permissions/%2F/" + username);
-        final GrantVirtualHostPermissionsDto grantDto = userMapper.signupRequestDtoToGrantComponentDto();
-        final ResponseEntity<Void> grantResponse = restTemplate.exchange(grantUrl, HttpMethod.PUT,
-                new HttpEntity<>(grantDto, getHeaders()), Void.class);
-        if (!grantResponse.getStatusCode().equals(HttpStatus.CREATED)) {
-            log.error("Failed to grant permissions at queue service: {}", grantResponse.getStatusCode());
-            throw new BrokerUserCreationException("Failed to grant permissions at queue service");
-        }
-        log.info("Granted user permissions at queue service for username {}", username);
-        log.debug("granted user permissions at queue service {}", grantDto);
-    }
-
     @Override
     public void modifyUserPassword(String username, CreateUserDto data) throws BrokerUserCreationException {
         /* modify at broker service */
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/mapper/UserMapper.java b/fda-authentication-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
index c3cd21fcff86f422275d91cc38c40b95d7dad556..dd5c761b5bd1f49e5807b4b5f29123810260e765 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
@@ -6,6 +6,9 @@ import at.tuwien.api.auth.JwtResponseDto;
 import at.tuwien.api.auth.LoginRequestDto;
 import at.tuwien.api.auth.SignupRequestDto;
 import at.tuwien.api.user.*;
+import at.tuwien.entities.container.Container;
+import at.tuwien.entities.database.Database;
+import at.tuwien.entities.database.table.Table;
 import at.tuwien.entities.user.RoleType;
 import at.tuwien.entities.user.User;
 import at.tuwien.exception.OrcidMalformedException;
@@ -17,6 +20,8 @@ import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.security.Principal;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -116,11 +121,25 @@ public interface UserMapper {
                 .toString();
     }
 
-    default GrantVirtualHostPermissionsDto signupRequestDtoToGrantComponentDto() {
+    default GrantVirtualHostPermissionsDto signupRequestDtoToGrantVirtualHostPermissionsDto() {
         return GrantVirtualHostPermissionsDto.builder()
-                .configure(".*")
-                .write(".*")
-                .read(".*")
+                .configure("")
+                .write("")
+                .read("")
+                .build();
+    }
+
+    default GrantVirtualHostPermissionsDto userToGrantVirtualHostPermissionsDto(User data) {
+        final List<Database> databases = new LinkedList<>();
+        data.getContainers()
+                .forEach(container -> databases.addAll(container.getDatabases()));
+        final String permissions = "^[" + databases.stream()
+                .map(Database::getExchange)
+                .collect(Collectors.joining("|")) + "]";
+        return GrantVirtualHostPermissionsDto.builder()
+                .configure("")
+                .write(permissions)
+                .read(permissions)
                 .build();
     }
 
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/service/QueueService.java b/fda-authentication-service/services/src/main/java/at/tuwien/service/QueueService.java
index cc1332c32be2a5cdcd7a0f997f889bbe00dc336f..4100c95def2fa382ecaa41d63aee6771610c6626 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/service/QueueService.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/service/QueueService.java
@@ -3,10 +3,7 @@ package at.tuwien.service;
 import at.tuwien.api.auth.SignupRequestDto;
 import at.tuwien.api.user.UserPasswordDto;
 import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthenticationInvalidException;
 import at.tuwien.exception.BrokerUserCreationException;
-import at.tuwien.exception.UserEmailNotVerifiedException;
-import at.tuwien.exception.UserNotFoundException;
 import org.springframework.stereotype.Service;
 
 
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java b/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
index 695ff08f25832da78fe5d1e15cd5a5675d647df4..22d767106f081eb983a9df3cd2804b7dce2cce7b 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
@@ -4,9 +4,7 @@ import at.tuwien.api.auth.SignupRequestDto;
 import at.tuwien.api.user.*;
 import at.tuwien.entities.user.User;
 import at.tuwien.exception.*;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.security.Principal;
 import java.util.List;
 
 public interface UserService {
@@ -52,7 +50,7 @@ public interface UserService {
      * @param user The information.
      * @return The created user.
      * @throws UserEmailExistsException The email in the information exists already.
-     * @throws UserNameExistsException  The user name extists already.
+     * @throws UserNameExistsException  The username exists already.
      * @throws RoleNotFoundException    The role specified was not found.
      */
     User create(SignupRequestDto user) throws UserEmailExistsException, UserNameExistsException, RoleNotFoundException;
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/QueueServiceImpl.java b/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/QueueServiceImpl.java
index d4e10dcb8270726ee38e91d7c18c602c6d62c90b..65a223006dfaed149759e47dedda87ad5bd4160e 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/QueueServiceImpl.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/service/impl/QueueServiceImpl.java
@@ -29,7 +29,6 @@ public class QueueServiceImpl implements QueueService {
                 .tags("")
                 .build();
         brokerServiceGateway.createUser(username, userDto);
-        brokerServiceGateway.grantUserHost(username);
     }
 
     @Override
diff --git a/fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerDatabaseEndpoint.java b/fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
similarity index 93%
rename from fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerDatabaseEndpoint.java
rename to fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
index be02b5e9dadf6ab6dc041e56d5415b4422e92212..4837272952f8a485022d44da409a2cfc4142dda8 100644
--- a/fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerDatabaseEndpoint.java
+++ b/fda-database-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
@@ -30,21 +30,19 @@ import java.util.stream.Collectors;
 @RestController
 @CrossOrigin(origins = "*")
 @RequestMapping("/api/container/{id}/database")
-public class ContainerDatabaseEndpoint extends AbstractEndpoint {
+public class DatabaseEndpoint extends AbstractEndpoint {
 
-    private final UserService userService;
     private final DatabaseMapper databaseMapper;
     private final MariaDbServiceImpl databaseService;
     private final QueryStoreService queryStoreService;
     private final MessageQueueService messageQueueService;
 
     @Autowired
-    public ContainerDatabaseEndpoint(DatabaseMapper databaseMapper, ContainerService containerService,
-                                     UserService userService, MariaDbServiceImpl databaseService,
-                                     QueryStoreService queryStoreService, MessageQueueService messageQueueService) {
+    public DatabaseEndpoint(DatabaseMapper databaseMapper, ContainerService containerService,
+                            MariaDbServiceImpl databaseService, QueryStoreService queryStoreService,
+                            MessageQueueService messageQueueService) {
         super(databaseService, containerService);
         this.databaseMapper = databaseMapper;
-        this.userService = userService;
         this.databaseService = databaseService;
         this.queryStoreService = queryStoreService;
         this.messageQueueService = messageQueueService;
@@ -73,7 +71,7 @@ public class ContainerDatabaseEndpoint extends AbstractEndpoint {
             throws ImageNotSupportedException, ContainerNotFoundException, DatabaseMalformedException,
             AmqpException, ContainerConnectionException, UserNotFoundException,
             DatabaseNotFoundException, DatabaseNameExistsException, DatabaseConnectionException,
-            QueryMalformedException, NotAllowedException {
+            QueryMalformedException, NotAllowedException, BrokerVirtualHostCreationException {
         if (!hasContainerPermission(containerId, "CREATE_DATABASE", principal)) {
             log.error("Missing database create permission");
             throw new NotAllowedException("Missing database create permission");
diff --git a/fda-database-service/rest-service/src/test/java/at/tuwien/service/AmqpServiceIntegrationTest.java b/fda-database-service/rest-service/src/test/java/at/tuwien/service/AmqpServiceIntegrationTest.java
index c56e5b1563de8c796094dd1b4b532ae0f8c642d8..3a80f1fae455c44a2f7e5276d2d77cbbd57b040e 100644
--- a/fda-database-service/rest-service/src/test/java/at/tuwien/service/AmqpServiceIntegrationTest.java
+++ b/fda-database-service/rest-service/src/test/java/at/tuwien/service/AmqpServiceIntegrationTest.java
@@ -3,6 +3,7 @@ package at.tuwien.service;
 import at.tuwien.BaseUnitTest;
 import at.tuwien.config.ReadyConfig;
 import at.tuwien.exception.AmqpException;
+import at.tuwien.exception.BrokerVirtualHostCreationException;
 import at.tuwien.repository.jpa.DatabaseRepository;
 import at.tuwien.service.impl.RabbitMqServiceImpl;
 import com.github.dockerjava.api.command.CreateContainerResponse;
@@ -108,7 +109,7 @@ public class AmqpServiceIntegrationTest extends BaseUnitTest {
     }
 
     @Test
-    public void createExchange_succeeds() throws AmqpException, IOException {
+    public void createExchange_succeeds() throws AmqpException, IOException, BrokerVirtualHostCreationException {
         final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
 
         /* mock */
diff --git a/fda-database-service/services/src/main/java/at/tuwien/config/GatewayConfig.java b/fda-database-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
index a6a8a2003ea62692634571d94edd5cc37f177d32..488ac8bffee49e543b8770438e9ce9f2c8866986 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
@@ -1,21 +1,39 @@
 package at.tuwien.config;
 
+import lombok.Getter;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.support.BasicAuthenticationInterceptor;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.DefaultUriBuilderFactory;
 
+@Getter
 @Configuration
 public class GatewayConfig {
 
     @Value("${fda.gateway.endpoint}")
     private String gatewayEndpoint;
 
+    @Value("${spring.rabbitmq.username}")
+    private String brokerUsername;
+
+    @Value("${spring.rabbitmq.password}")
+    private String brokerPassword;
+
+    @Bean
+    public RestTemplate authenticationRestTemplate() {
+        final RestTemplate restTemplate = new RestTemplate();
+        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
+        return restTemplate;
+    }
+
     @Bean
-    public RestTemplate restTemplate() {
-        final RestTemplate restTemplate =  new RestTemplate();
+    public RestTemplate brokerRestTemplate() {
+        final RestTemplate restTemplate = new RestTemplate();
         restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
+        restTemplate.getInterceptors()
+                .add(new BasicAuthenticationInterceptor(brokerUsername, brokerPassword));
         return restTemplate;
     }
 
diff --git a/fda-database-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java b/fda-database-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
index 099dc1839acd2f81cd165de5e391954b2c89d0ad..bdaf5d14d8de942d0f3ad87b010586a903fc4bd0 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
@@ -3,6 +3,7 @@ package at.tuwien.gateway;
 
 import at.tuwien.api.amqp.CreateVirtualHostDto;
 import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
+import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
 import at.tuwien.exception.BrokerVirtualHostCreationException;
 
 public interface BrokerServiceGateway {
@@ -22,6 +23,6 @@ public interface BrokerServiceGateway {
      * @param data     The grant data.
      * @throws BrokerVirtualHostCreationException The queue service did not respond within the 3s timeout.
      */
-    void grantPermission(String username, GrantVirtualHostPermissionsDto data)
+    void grantPermission(String username, ExchangeUpdatePermissionsDto data)
             throws BrokerVirtualHostCreationException;
 }
diff --git a/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java b/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
index 30507c4b6e662a7e772e85c609fdb5fbc563a99f..4fda21f8443e4565ff6f72ce485fc40b6ea24460 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
@@ -4,6 +4,7 @@ import at.tuwien.api.user.UserDto;
 import at.tuwien.gateway.AuthenticationServiceGateway;
 import at.tuwien.mapper.UserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -19,7 +20,8 @@ public class AuthenticationServiceGatewayImpl implements AuthenticationServiceGa
     private final RestTemplate restTemplate;
 
     @Autowired
-    public AuthenticationServiceGatewayImpl(UserMapper userMapper, RestTemplate restTemplate) {
+    public AuthenticationServiceGatewayImpl(UserMapper userMapper,
+                                            @Qualifier("authenticationRestTemplate") RestTemplate restTemplate) {
         this.userMapper = userMapper;
         this.restTemplate = restTemplate;
     }
@@ -29,7 +31,7 @@ public class AuthenticationServiceGatewayImpl implements AuthenticationServiceGa
         final HttpHeaders headers = new HttpHeaders();
         headers.set("Authorization", "Bearer " + token);
         final ResponseEntity<UserDto> response = restTemplate.exchange("/api/auth", HttpMethod.PUT,
-                new HttpEntity<>("", headers), UserDto.class);
+                new HttpEntity<>(null, headers), UserDto.class);
         return userMapper.userDtoToUserDetailsDto(response.getBody());
     }
 
diff --git a/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java b/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
index f8b88ccfb15bc06271f7d22727f3dee4716125ff..e803ac2fd8340a0678ed4ad8ae0570068f5b3f06 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
@@ -1,11 +1,13 @@
 package at.tuwien.gateway.impl;
 
 import at.tuwien.api.amqp.CreateVirtualHostDto;
-import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
+import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
+import at.tuwien.config.GatewayConfig;
 import at.tuwien.exception.BrokerVirtualHostCreationException;
 import at.tuwien.gateway.BrokerServiceGateway;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -13,37 +15,46 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
+import java.net.URI;
+
 @Slf4j
 @Service
 public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
 
     private final RestTemplate restTemplate;
+    private final GatewayConfig gatewayConfig;
 
     @Autowired
-    public BrokerServiceGatewayImpl(RestTemplate restTemplate) {
+    public BrokerServiceGatewayImpl(@Qualifier("brokerRestTemplate") RestTemplate restTemplate,
+                                    GatewayConfig gatewayConfig) {
         this.restTemplate = restTemplate;
+        this.gatewayConfig = gatewayConfig;
     }
 
     @Override
     public void createVirtualHost(CreateVirtualHostDto data) throws BrokerVirtualHostCreationException {
-        log.debug("create virtual host at broker service {}", data);
         final ResponseEntity<Void> response = restTemplate.exchange("/api/broker/vhost", HttpMethod.POST,
                 new HttpEntity<>(data), Void.class);
-        if (!response.getStatusCode().equals(HttpStatus.ACCEPTED)) {
+        if (!response.getStatusCode().equals(HttpStatus.CREATED)) {
             log.error("Failed to create virtual host: {}", response.getStatusCode());
             throw new BrokerVirtualHostCreationException("Failed to create virtual host");
         }
+        log.info("Create virtual host with name {}", data.getName());
+        log.debug("create virtual host {}", data);
     }
 
     @Override
-    public void grantPermission(String username, GrantVirtualHostPermissionsDto data)
+    public void grantPermission(String username, ExchangeUpdatePermissionsDto data)
             throws BrokerVirtualHostCreationException {
-        final ResponseEntity<Void> response = restTemplate.exchange("/api/broker/user/" + username + "/permission",
-                HttpMethod.PUT, new HttpEntity<>(data), Void.class);
-        if (!response.getStatusCode().equals(HttpStatus.ACCEPTED)) {
+        final URI grantUri = URI.create(gatewayConfig.getGatewayEndpoint() + "/api/broker/topic-permissions/%2F/" + username);
+        final ResponseEntity<Void> response = restTemplate.exchange(grantUri, HttpMethod.PUT,
+                new HttpEntity<>(data), Void.class);
+        if (!response.getStatusCode().equals(HttpStatus.CREATED) && !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
             log.error("Failed to grant virtual host: {}", response.getStatusCode());
             throw new BrokerVirtualHostCreationException("Failed to grant virtual host");
         }
+        log.info("Grant permission for user with username {}", username);
+        log.debug("grant permission {}", data);
     }
 
 }
diff --git a/fda-database-service/services/src/main/java/at/tuwien/mapper/AmqpMapper.java b/fda-database-service/services/src/main/java/at/tuwien/mapper/AmqpMapper.java
index f09ec94c329ff4296da26d689860a933ba898cd7..6df6e4d5a3b5b2fccfd1beb57c89a9d6e24bfe1b 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/mapper/AmqpMapper.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/mapper/AmqpMapper.java
@@ -1,5 +1,6 @@
 package at.tuwien.mapper;
 
+import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
 import at.tuwien.entities.database.Database;
 import org.mapstruct.Mapper;
 
@@ -10,4 +11,12 @@ public interface AmqpMapper {
         return database.getInternalName();
     }
 
+    default ExchangeUpdatePermissionsDto exchangeToExchangeUpdatePermissionsDto(String exchange) {
+        return ExchangeUpdatePermissionsDto.builder()
+                .exchange(exchange)
+                .read(".*")
+                .write(".*")
+                .build();
+    }
+
 }
diff --git a/fda-database-service/services/src/main/java/at/tuwien/service/MessageQueueService.java b/fda-database-service/services/src/main/java/at/tuwien/service/MessageQueueService.java
index 473625272719dc43e7d12bdd05a81b5ba282923e..96db86c29216b697d066ae94b8660ce6cd122911 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/service/MessageQueueService.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/service/MessageQueueService.java
@@ -14,7 +14,7 @@ public interface MessageQueueService {
      * @param principal The user.
      * @throws AmqpException Could not create the exchange.
      */
-    void createExchange(Database database, Principal principal) throws AmqpException;
+    void createExchange(Database database, Principal principal) throws AmqpException, BrokerVirtualHostCreationException;
 
     /**
      * Deletes an exchange for a database.
diff --git a/fda-database-service/services/src/main/java/at/tuwien/service/impl/RabbitMqServiceImpl.java b/fda-database-service/services/src/main/java/at/tuwien/service/impl/RabbitMqServiceImpl.java
index 487a04f4ed6f49bf8df5b7bd606ed82c4bea2b0b..4f530f784fac94bb07e8ea93c70e7f348e2aee17 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/service/impl/RabbitMqServiceImpl.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/service/impl/RabbitMqServiceImpl.java
@@ -1,8 +1,12 @@
 package at.tuwien.service.impl;
 
+import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
 import at.tuwien.config.AmqpConfig;
 import at.tuwien.entities.database.Database;
 import at.tuwien.exception.AmqpException;
+import at.tuwien.exception.BrokerVirtualHostCreationException;
+import at.tuwien.gateway.BrokerServiceGateway;
+import at.tuwien.mapper.AmqpMapper;
 import at.tuwien.repository.jpa.DatabaseRepository;
 import at.tuwien.service.MessageQueueService;
 import com.rabbitmq.client.BuiltinExchangeType;
@@ -23,17 +27,22 @@ public class RabbitMqServiceImpl implements MessageQueueService {
 
     private final Channel channel;
     private final AmqpConfig amqpConfig;
+    private final AmqpMapper amqpMapper;
     private final DatabaseRepository databaseRepository;
+    private final BrokerServiceGateway brokerServiceGateway;
 
     @Autowired
-    public RabbitMqServiceImpl(Channel channel, AmqpConfig amqpConfig, DatabaseRepository databaseRepository) {
+    public RabbitMqServiceImpl(Channel channel, AmqpConfig amqpConfig, AmqpMapper amqpMapper,
+                               DatabaseRepository databaseRepository, BrokerServiceGateway brokerServiceGateway) {
         this.channel = channel;
         this.amqpConfig = amqpConfig;
+        this.amqpMapper = amqpMapper;
         this.databaseRepository = databaseRepository;
+        this.brokerServiceGateway = brokerServiceGateway;
     }
 
     @PostConstruct
-    public void init() throws AmqpException {
+    public void init() throws AmqpException, BrokerVirtualHostCreationException {
         final List<Database> databases = databaseRepository.findAll();
         final Principal principal = new BasicUserPrincipal(amqpConfig.getAmpqUsername());
         for (Database database : databases) {
@@ -42,7 +51,8 @@ public class RabbitMqServiceImpl implements MessageQueueService {
     }
 
     @Override
-    public void createExchange(Database database, Principal principal) throws AmqpException {
+    public void createExchange(Database database, Principal principal) throws AmqpException,
+            BrokerVirtualHostCreationException {
         try {
             channel.exchangeDeclare(database.getExchange(), BuiltinExchangeType.FANOUT, true);
             log.info("Declared exchange {}", database.getExchange());
@@ -50,6 +60,9 @@ public class RabbitMqServiceImpl implements MessageQueueService {
             log.error("Failed to declare exchange {}", database.getExchange());
             throw new AmqpException("Failed to declare exchange", e);
         }
+        final ExchangeUpdatePermissionsDto permissions = amqpMapper.exchangeToExchangeUpdatePermissionsDto(
+                database.getExchange());
+        brokerServiceGateway.grantPermission(principal.getName(), permissions);
     }
 
     @Override
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
index 7aac059270ba2142163bf2ed98a89141168c36b4..c04f00ca75fcfd6ba16cffed53927e8f5d3c736d 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -16,34 +17,27 @@ public class ChannelDetailsDto {
 
     @NotNull
     @JsonProperty("connection_name")
-    @Parameter(name = "connection name")
     private String connectionName;
 
     @NotNull
-    @Parameter(name = "channel name")
     private String name;
 
     @NotNull
-    @Parameter(name = "channel node")
     private String node;
 
     @NotNull
     @JsonProperty("number")
-    @Parameter(name = "channel number")
     private Integer number;
 
     @NotNull
     @JsonProperty("peer_host")
-    @Parameter(name = "channel peer host")
     private String peerHost;
 
     @NotNull
     @JsonProperty("peer_port")
-    @Parameter(name = "channel peer port")
     private Integer peerPort;
 
     @NotNull
-    @Parameter(name = "channel user")
     private String user;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
index cdef980445f853b80d58f60159a690fc6d138a48..0b97d003fbae89fb9fc795fa661e882a1e208459 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
@@ -16,39 +16,31 @@ public class ConsumerDto {
 
     @NotNull
     @JsonProperty("ack_required")
-    @Parameter(name = "acknowledge required")
     private Boolean ackRequired;
 
     @NotNull
-    @Parameter(name = "active")
     private Boolean active;
 
     @NotNull
     @JsonProperty("activity_status")
-    @Parameter(name = "activity status")
     private String activityStatus;
 
     @NotNull
     @JsonProperty("channel_details")
-    @Parameter(name = "channel details")
     private ChannelDetailsDto channelDetails;
 
     @NotNull
     @JsonProperty("consumer_tag")
-    @Parameter(name = "consumer tag")
     private String consumerTag;
 
     @NotNull
-    @Parameter(name = "exclusive")
     private Boolean exclusive;
 
     @NotNull
     @JsonProperty("prefetch_count")
-    @Parameter(name = "prefetch count")
     private Integer prefetchCount;
 
     @NotNull
-    @Parameter(name = "queue")
     private QueueBriefDto queue;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
index 5c5e89c07ad4683f6b23dc41b8bef0cdf80f3937..d38ff9464434f3c6b9e606ed6d24bad1b5572454 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
@@ -1,9 +1,8 @@
 package at.tuwien.api.amqp;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import javax.validation.constraints.Email;
 import javax.validation.constraints.NotNull;
 
 @Getter
@@ -16,10 +15,9 @@ public class CreateUserDto {
 
     @NotNull
     @ToString.Exclude
-    @Parameter(name = "user password")
     private String password;
 
-    @Parameter(name = "user tags")
+    @Schema(example = "administrator")
     private String tags;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
index 937f0442ad8180166def8d1389a5fa27ec502190..faa08c26d5e07096634626ac5e2f542468b6a6da 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.amqp;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,13 +14,11 @@ import javax.validation.constraints.NotNull;
 public class CreateVirtualHostDto {
 
     @NotNull
-    @Parameter(name = "virtual host name")
+    @Schema(example = "air")
     private String name;
 
-    @Parameter(name = "virtual host description")
     private String description;
 
-    @Parameter(name = "virtual host tags")
     private String tags;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
index 36befe2a1bd9e89df77272bbdab1fd13e64f2e47..2bd94cdbbc630ffa36e53595da0eb55f753f7f75 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.amqp;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -13,15 +13,15 @@ import javax.validation.constraints.NotNull;
 @NoArgsConstructor
 public class GrantVirtualHostPermissionsDto {
     @NotNull
-    @Parameter(name = "configure permission", example = ".*")
+    @Schema(example = ".*")
     private String configure;
 
     @NotNull
-    @Parameter(name = "write permission", example = ".*")
+    @Schema(example = ".*")
     private String write;
 
     @NotNull
-    @Parameter(name = "read permission", example = ".*")
+    @Schema(example = ".*")
     private String read;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
index 44364c19916e085adec32235a32c6318336de8df..95713bad695ec319ec8e650d167cfa19e846addd 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
@@ -1,6 +1,7 @@
 package at.tuwien.api.amqp;
 
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,11 +15,11 @@ import javax.validation.constraints.NotNull;
 public class QueueBriefDto {
 
     @NotNull
-    @Parameter(name = "queue vhost")
+    @Schema(example = "%2F")
     private String vhost;
 
     @NotNull
-    @Parameter(name = "queue name")
+    @Schema(example = "air")
     private String name;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java
index 9f57f9ef022dbbfea8b5c8feb9f7344f34b9a56f..caf19dbc935ce207f6de2163f118a24cefd67264 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.amqp;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,11 +14,11 @@ import javax.validation.constraints.NotNull;
 public class TupleDto {
 
     @NotNull
-    @Parameter(name = "key", example = "name")
+    @Schema(example = "name")
     private String k;
 
     @NotNull
-    @Parameter(name = "value", example = "Max Mustermann")
+    @Schema(example = "Max Mustermann")
     private String v;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
index d561528856b662f9d6fac83e245c58dec965e870..c92b4913c8d02e5f44677bd7d18cfdb0362081be 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.auth;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -16,22 +16,18 @@ public class JwtResponseDto {
 
     @NotNull
     @ToString.Exclude
-    @Parameter(name = "jwt")
     private String token;
 
-    @Parameter(name = "user type")
     private String type;
 
-    @Parameter(name = "id")
     private Long id;
 
-    @Parameter(name = "user name")
+    @Schema(example = "user")
     private String username;
 
-    @Parameter(name = "user email")
+    @Schema(example = "user@example.com")
     private String email;
 
-    @Parameter(name = "user roles")
     private List<String> roles;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
index 2701beedd66e1ffa15c1a6404fb953a258dd390b..87d34649f9242bc092f3fb1d3d3493539b7ee1dd 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.auth;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,12 +14,11 @@ import javax.validation.constraints.NotNull;
 public class LoginRequestDto {
 
     @NotNull
-    @Parameter(name = "user name")
+    @Schema(example = "user")
     private String username;
 
     @NotNull
     @ToString.Exclude
-    @Parameter(name = "password hash")
     private String password;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
index bebaba12dddb250951121e119f45b4b27a065e0d..7f6f3937bcb251604d9ec979ae8649bceb685d42 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.auth;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.Email;
@@ -17,17 +17,16 @@ public class SignupRequestDto {
 
     @NotNull
     @Pattern(regexp = "^[a-z0-9]{3,}$")
-    @Parameter(name = "user name")
+    @Schema(example = "user")
     private String username;
 
     @NotNull
     @Email
-    @Parameter(name = "user email")
+    @Schema(example = "user@example.com")
     private String email;
 
     @NotNull
     @ToString.Exclude
-    @Parameter(name = "password hash")
     private String password;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java
index e49a313e248fb6a7cae5d3db017dbc8b38e74a22..9d641d510db834390a078d1b1947a52141d5a0b0 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java
@@ -2,7 +2,6 @@ package at.tuwien.api.container;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
-import lombok.ToString;
 
 @Getter
 public enum ContainerActionTypeDto {
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
index b0f03a60a6ed5f8c151452031f8d7af84669deee..c8a6ff55aa0d1bd132e4980faf983eed383fa230 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
@@ -1,17 +1,14 @@
 package at.tuwien.api.container;
 
 import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.time.Instant;
-import java.time.LocalDateTime;
 
 @Getter
 @Setter
@@ -22,26 +19,23 @@ import java.time.LocalDateTime;
 public class ContainerBriefDto {
 
     @NotNull
-    @Parameter(name = "id", example = "1")
     private Long id;
 
     @NotNull
-    @Parameter(name = "container hash", example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50")
+    @Schema(example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50")
     private String hash;
 
     @NotBlank
-    @Parameter(name = "container name", example = "Weather World")
+    @Schema(example = "Air Quality")
     private String name;
 
-    @Parameter(name = "container creator")
     private UserBriefDto creator;
 
     @NotBlank
     @JsonProperty("internal_name")
-    @Parameter(name = "container internal name", example = "weather-world")
+    @Schema(example = "air-quality")
     private String internalName;
 
-    @Parameter(name = "container created")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java
index e859f85b1b08a6aa59d771f752d9bf83d312703c..50b82adab8372d4c3635e1c1a4dacdeb9e3eaee8 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.container;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -14,15 +14,15 @@ import javax.validation.constraints.NotBlank;
 public class ContainerCreateRequestDto {
 
     @NotBlank
-    @Parameter(name = "name", example = "Weather World")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
-    @Parameter(name = "repository", example = "postgres")
+    @Schema(example = "mariadb")
     private String repository;
 
     @NotBlank
-    @Parameter(name = "tag", example = "latest")
-    private String tag = "latest";
+    @Schema(example = "10.5")
+    private String tag;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
index cacac095d0f90dbd89103f8ff2599a5c2fb18dd8..fef1d04e42ff8ef4fd5b3c765e1b66268370ddad 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
@@ -7,6 +7,7 @@ import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -23,40 +24,37 @@ import java.util.List;
 public class ContainerDto {
 
     @NotNull
-    @Parameter(name = "id", example = "1")
     private Long id;
 
     @NotNull
-    @Parameter(name = "container hash", example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50")
+    @Schema(example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50")
     private String hash;
 
     @NotBlank
-    @Parameter(name = "container name", example = "Weather World")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
     @JsonProperty("internal_name")
-    @Parameter(name = "container internal name", example = "weather-world")
+    @Schema(example = "air-quality")
     private String internalName;
 
-    @Parameter(name = "state", example = "RUNNING")
+    @Schema(example = "running")
     private ContainerStateDto state;
 
     @ToString.Exclude
-    @Parameter(name = "databases")
+    @Schema
     private List<DatabaseDto> databases;
 
     @JsonProperty("ip_address")
     private String ipAddress;
 
-    @Parameter(name = "container image")
     private ImageBriefDto image;
 
-    @Parameter(name = "container port")
     private Integer port;
 
     @NotNull
-    @Parameter(name = "start time", example = "2021-03-12T15:26:21.678396092Z")
+    @Schema(example = "2021-03-12T15:26:21.678396092Z")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java
index de8a968c9140af534db711b37ba300c2fbc3f0f6..faf2c5bcf1e9efc58cdcfb2cb76fbf89a6bb31fa 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java
@@ -1,10 +1,38 @@
 package at.tuwien.api.container;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
 import lombok.ToString;
 
 @Getter
-@ToString
 public enum ContainerStateDto {
-    CREATED, RESTARTING, RUNNING, PAUSED, EXITED, DEAD
+
+    @JsonProperty("created")
+    CREATED("created"),
+
+    @JsonProperty("restarting")
+    RESTARTING("restarting"),
+
+    @JsonProperty("running")
+    RUNNING("running"),
+
+    @JsonProperty("paused")
+    PAUSED("paused"),
+
+    @JsonProperty("exited")
+    EXITED("exited"),
+
+    @JsonProperty("dead")
+    DEAD("dead");
+
+    private String name;
+
+    ContainerStateDto(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return this.name;
+    }
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
index 0624a29e775d4f9d6a44d2fab1c832dc21a929e3..036a25460530d8601b5bab293339e93ed2e0f97c 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.container.image;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -15,15 +15,14 @@ import javax.validation.constraints.NotNull;
 public class ImageBriefDto {
 
     @NotNull
-    @Parameter(required = true, example = "1")
     private Long id;
 
     @NotBlank
-    @Parameter(required = true, example = "mariadb")
+    @Schema(example = "mariadb")
     private String repository;
 
     @NotBlank
-    @Parameter(required = true, example = "10.5")
+    @Schema(example = "10.5")
     private String tag;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java
index c4a4e51bd3e55ced69bf792fa2913029663b1c87..427627006b26b17e23f53239dd31e26527a63813 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java
@@ -1,7 +1,7 @@
 package at.tuwien.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.Max;
@@ -18,27 +18,23 @@ public class ImageChangeDto {
 
     @Min(value = 1024, message = "only user ports are allowed 1024-65535")
     @Max(value = 65535, message = "only user ports are allowed 1024-65535")
-    @Parameter(example = "5432")
+    @Schema(example = "5432")
     private Integer defaultPort;
 
     private ImageEnvItemDto[] environment;
 
     @NotBlank
     @JsonProperty("driver_class")
-    @Parameter(required = true, example = "org.postgresql.Driver")
+    @Schema(example = "org.postgresql.Driver")
     private String driverClass;
 
     @NotBlank
-    @Parameter(required = true, example = "base64:aaaa")
-    private String logo;
-
-    @NotBlank
-    @Parameter(required = true, example = "Postgres")
+    @Schema(example = "Postgres")
     private String dialect;
 
     @NotBlank
     @JsonProperty("jdbc_method")
-    @Parameter(required = true, example = "postgresql")
+    @Schema(example = "postgresql")
     private String jdbcMethod;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java
index 19198bae1c602da56b08e87bf137ea1b91d5b7b2..78a4c5f3dc5e218f27282a01f99763bacb71b903 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java
@@ -2,11 +2,12 @@ package at.tuwien.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import javax.persistence.Column;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 @Getter
 @Setter
@@ -17,41 +18,32 @@ import javax.validation.constraints.NotNull;
 public class ImageCreateDto {
 
     @NotBlank
-    @Parameter(required = true, example = "postgres")
+    @Schema(example = "mariadb")
     private String repository;
 
     @NotBlank
-    @Parameter(required = true, example = "latest")
+    @Parameter(example = "10.5")
     private String tag;
 
     @NotBlank
     @JsonProperty("driver_class")
-    @Parameter(required = true, example = "org.postgresql.Driver")
+    @Parameter(example = "'org.mariadb.jdbc.Driver")
     private String driverClass;
 
     @NotBlank
-    @Parameter(required = true, example = "POSTGRES")
+    @Parameter(required = true, example = "org.hibernate.dialect.MariaDBDialect")
     private String dialect;
 
-    @NotBlank
-    @Parameter(required = true, example = "base64:aaaa")
-    private String logo;
-
     @NotBlank
     @JsonProperty("jdbc_method")
-    @Parameter(required = true, example = "postgresql")
+    @Parameter(required = true, example = "mariadb")
     private String jdbcMethod;
 
-    @NotNull
-    @Parameter(required = true, example = "false")
-    private Boolean local;
-
     @NotNull
     @JsonProperty("default_port")
-    @Parameter(required = true, example = "5432")
+    @Parameter(required = true, example = "3006")
     private Integer defaultPort;
 
-    @Parameter(required = true, example = "[{\"key\":\"POSTGRES_USER\",\"value\":\"postgres\",\"type\":USERNAME},{\"key\":\"POSTGRES_PASSWORD\",\"value\":\"postgres\",\"type\":PASSWORD}]")
-    private ImageEnvItemDto[] environment;
+    private List<ImageEnvItemDto> environment;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java
index 77769f05dd098d0fc210f22ff9895a8e973bc10c..4db420f6f73c8af969c2404b5f6e4c6b9089d93d 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java
@@ -2,7 +2,7 @@ package at.tuwien.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -18,26 +18,25 @@ import java.time.Instant;
 public class ImageDateDto {
 
     @NotNull
-    @Parameter(required = true, example = "1")
     private Long id;
 
     @NotBlank
-    @Parameter(required = true, example = "30.01.2022")
+    @Schema(example = "30.01.2022")
     private String example;
 
     @NotBlank
     @JsonProperty("database_format")
-    @Parameter(required = true, example = "%d.%c.%Y")
+    @Schema(example = "%d.%c.%Y")
     private String databaseFormat;
 
     @NotBlank
     @JsonProperty("unix_format")
-    @Parameter(required = true, example = "dd.MM.YYYY")
+    @Schema(example = "dd.MM.YYYY")
     private String unixFormat;
 
     @NotNull
     @JsonProperty("has_time")
-    @Parameter(required = true)
+    @Schema(example = "false")
     private Boolean hasTime;
 
     @JsonProperty("created_at")
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
index 832d2e586cf19696af7f77ee01fe19ffd3bb274b..7c76a0c1818a580e9548fc353e3e880f1afd5e2f 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
@@ -2,7 +2,7 @@ package at.tuwien.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -20,51 +20,49 @@ import java.util.List;
 public class ImageDto {
 
     @NotNull
-    @Parameter(required = true, example = "1")
     private Long id;
 
     @NotBlank
-    @Parameter(required = true, example = "mariadb")
+    @Schema(example = "mariadb")
     private String repository;
 
     @NotBlank
-    @Parameter(required = true, example = "10.5")
+    @Schema(example = "10.5")
     private String tag;
 
     @NotBlank
     @JsonProperty("driver_class")
-    @Parameter(required = true, example = "org.postgresql.Driver")
+    @Schema(example = "org.mariadb.jdbc.Driver")
     private String driverClass;
 
     @JsonProperty("date_formats")
     private List<ImageDateDto> dateFormats;
 
     @NotBlank
-    @Parameter(required = true, example = "Postgres")
+    @Schema(example = "org.hibernate.dialect.MariaDBDialect")
     private String dialect;
 
     @NotBlank
     @JsonProperty("jdbc_method")
-    @Parameter(required = true, example = "postgres")
+    @Schema(example = "mariadb")
     private String jdbcMethod;
 
-    @Parameter(required = true, example = "sha256:c5ec7353d87dfc35067e7bffeb25d6a0d52dad41e8b7357213e3b12d6e7ff78e")
+    @Schema(example = "sha256:c5ec7353d87dfc35067e7bffeb25d6a0d52dad41e8b7357213e3b12d6e7ff78e")
     private String hash;
 
-    @Parameter(required = true, example = "2021-03-12T15:26:21.678396092Z")
+    @Schema(example = "2021-03-12T15:26:21.678396092Z")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant compiled;
 
-    @Parameter(required = true, example = "314295447")
+    @Schema(example = "314295447")
     private BigInteger size;
 
     @NotNull
     @JsonProperty("default_port")
-    @Parameter(required = true, example = "5432")
+    @Schema(example = "3306")
     private Integer defaultPort;
 
     @NotNull
-    @Parameter(required = true)
-    private ImageEnvItemDto[] environment;
+    private List<ImageEnvItemDto> environment;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java
index c70af43f0e233432d234b16efb60f46f554fb31a..934d6479a9df449b7c53626f334d2f5206be9ab3 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.container.image;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -15,19 +15,18 @@ import javax.validation.constraints.NotNull;
 public class ImageEnvItemDto {
 
     @NotNull
-    @Parameter(required = true, example = "1")
     private Long iid;
 
     @NotBlank
-    @Parameter(required = true, example = "POSTGRES_USER")
+    @Schema(example = "MARIADB_ROOT_PASSWORD")
     private String key;
 
     @NotBlank
-    @Parameter(required = true, example = "postgres")
+    @Schema(example = "mariadb")
     private String value;
 
-    @NonNull
-    @Parameter(required = true, example = "USERNAME")
+    @NotNull
+    @Schema(example = "PRIVILEGED_PASSWORD")
     private ImageEnvItemTypeDto type;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java
index a447593468f411174c3032ee445ff1fa4bae6185..4141175ee6b3bf35b224fd9490c60577c13fb980 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java
@@ -1,5 +1,29 @@
 package at.tuwien.api.container.image;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
+
 public enum ImageEnvItemTypeDto {
-    USERNAME, PASSWORD, PRIVILEGED_USERNAME, PRIVILEGED_PASSWORD;
+
+    @JsonProperty("username")
+    USERNAME("username"),
+
+    @JsonProperty("password")
+    PASSWORD("password"),
+
+    @JsonProperty("privileged_username")
+    PRIVILEGED_USERNAME("privileged_username"),
+
+    @JsonProperty("privileged_password")
+    PRIVILEGED_PASSWORD("privileged_password");
+
+    private String name;
+
+    ImageEnvItemTypeDto(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return this.name;
+    }
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
index 813f9af3c0183431f37fdc08220cd57ccc6d24e5..4a2e5974efdff9ee3a6a1c9317052585eab3356c 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
@@ -1,12 +1,11 @@
 package at.tuwien.api.database;
 
 import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
 import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -22,30 +21,27 @@ import java.time.Instant;
 public class DatabaseBriefDto {
 
     @NotNull(message = "database id is required")
-    @Parameter(name = "database id", example = "1")
     private Long id;
 
     @NotBlank(message = "name is required")
-    @Parameter(name = "database name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
-    @Parameter(name = "database description", example = "Weather in Australia")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
     @JsonProperty("is_public")
-    @Parameter(name = "database visibility")
+    @Schema(example = "true")
     private Boolean isPublic;
 
-    @Parameter(name = "database engine", example = "mariadb:latest")
+    @Schema(example = "mariadb:10.5")
     private String engine;
 
-    @Parameter(name = "container")
     private ContainerBriefDto container;
 
-    @Parameter(name = "database creator")
     private UserBriefDto creator;
 
-    @Parameter(name = "database creation time", example = "2020-08-04 11:12:00")
+    @Schema(example = "2020-08-04 11:12:00")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
index cd78401fc69f1e5cee35e6c67d6aab573b9b76bc..766e2a97e2bf5f1fe0a94d210f7eaa5f43fa347b 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
@@ -1,7 +1,7 @@
 package at.tuwien.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -16,12 +16,12 @@ import javax.validation.constraints.NotNull;
 public class DatabaseCreateDto {
 
     @NotBlank(message = "database name is required")
-    @Parameter(name = "database name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotNull(message = "public attribute is required")
     @JsonProperty("is_public")
-    @Parameter(name = "database publicity", example = "true")
+    @Schema(example = "true")
     private Boolean isPublic;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
index 7bf7d1dfb95a69b97e33ac21ae107987038ed1bf..9378f162729b3021ac834baaf8f14a5410cd83c7 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
@@ -7,7 +7,6 @@ import at.tuwien.api.user.UserBriefDto;
 import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -25,75 +24,68 @@ import java.util.List;
 public class DatabaseDto {
 
     @NotNull
-    @Schema(name = "database id", example = "1")
     private Long id;
 
     @NotBlank
-    @Schema(name = "database name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
-    @Schema(name = "database exchange")
+    @Schema(example = "air_quality")
     private String exchange;
 
     @NotNull
-    @Schema(name = "database creator")
     private UserBriefDto creator;
 
     @NotBlank
     @JsonProperty("internal_name")
-    @Schema(name = "database internal name", example = "weather_australia")
+    @Schema(example = "air_quality")
     private String internalName;
 
-    @Schema(name = "database subjects")
+    @Schema(description = "database subjects")
     private List<String> subjects;
 
-    @Schema(name = "database language", example = "EN")
+    @Schema(example = "en")
     private LanguageTypeDto language;
 
-    @Schema(name = "database license", example = "MIT2")
     private LicenseDto license;
 
     @NotBlank
-    @Schema(name = "database description", example = "Weather Australia 2009-2021")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
-    @Schema(name = "database publisher", example = "TU Wien")
+    @Schema(example = "TU Wien")
     private String publisher;
 
-    @Schema(name = "database contact person")
     private UserDto contact;
 
     @JsonProperty("publication_year")
-    @Schema(name = "database publication year")
+    @Schema(description = "database publication year", example = "2022")
     private Integer publicationYear;
 
     @JsonProperty("publication_month")
-    @Schema(name = "database publication month")
+    @Schema(description = "database publication month", example = "12")
     private Integer publicationMonth;
 
     @JsonProperty("publication_day")
-    @Schema(name = "database publication day")
+    @Schema(description = "database publication day", example = "15")
     private Integer publicationDay;
 
-    @Schema(name = "tables")
     private List<TableBriefDto> tables;
 
     @JsonProperty("is_public")
-    @Schema(name = "database public")
+    @Schema(description = "database publicity", example = "true")
     private Boolean isPublic;
 
-    @Schema(name = "database container image")
     private ImageDto image;
 
-    @Schema(name = "container")
     private ContainerDto container;
 
-    @Schema(name = "database creation time", example = "2020-08-04 11:12:00")
+    @Schema(example = "2020-08-04 11:12:00")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
-    @Parameter(name = "database deletion time", example = "2020-08-04 11:13:00")
+    @Schema(example = "2020-08-04 11:13:00")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant deleted;
 
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyDto.java
index 9b834f6f3aebd121b649d1b69ed97d5c2517b5b9..d3b4d2f1d7c913d05522b010b7040ef0421256f0 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyDto.java
@@ -20,41 +20,38 @@ import java.util.List;
 @NoArgsConstructor
 public class DatabaseModifyDto {
 
-    @Parameter(name = "database subjects", example = "[\"test\"]")
     private List<String> subjects;
 
     @NotBlank
-    @Parameter(name = "database description", example = "Sample")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
-    @Parameter(name = "database publisher", example = "TU Wien")
+    @Schema(example = "TU Wien")
     private String publisher;
 
     @NotNull
     @JsonProperty("publication_year")
-    @Schema(name = "database publication year")
+    @Schema(description = "database publication year", example = "2022")
     private Integer publicationYear;
 
     @Min(1)
     @Max(12)
     @JsonProperty("publication_month")
-    @Parameter(name = "database publication month")
+    @Schema(description = "database publication month", example = "12")
     private Integer publicationMonth;
 
     @Min(1)
     @Max(31)
     @JsonProperty("publication_day")
-    @Parameter(name = "database publication day")
+    @Schema(description = "database publication day", example = "15")
     private Integer publicationDay;
 
-    @Parameter(name = "database license")
     private LicenseDto license;
 
-    @Parameter(name = "database language", example = "EN")
+    @Schema(example = "en")
     private LanguageTypeDto language;
 
     @JsonProperty("contact_person")
-    @Parameter(name = "database contact person")
     private String contactPerson;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
index 3150b3e6f2931fb2ffe8f23ac9b195b6b7aae3cd..d9257f4bd0b3febbf8f6fdc0260063d8441738a2 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
@@ -1,7 +1,7 @@
 package at.tuwien.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -16,7 +16,7 @@ public class DatabaseTransferDto {
 
     @NotNull
     @JsonProperty("is_public")
-    @Parameter(name = "database publicity", example = "true")
+    @Schema(example = "true")
     private Boolean isPublic;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java
index 5906f76b4c8610d8733f198d021504baac3aafb2..b95215f060aa8dba2d741a6f37ae71a557cb4ac9 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -15,11 +15,11 @@ import javax.validation.constraints.NotNull;
 public class LicenseDto {
 
     @NotNull
-    @Parameter(name = "license identifier")
+    @Schema(example = "MIT")
     private String identifier;
 
     @NotBlank
-    @Parameter(name = "license uri")
+    @Schema(name = "https://opensource.org/licenses/MIT")
     private String uri;
 
 }
\ No newline at end of file
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
index e15b49f5fb6c7058e905aebda97c631820ae3897..c66c8690913f360a64a835dde823e38c55123baf 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -13,11 +13,10 @@ import javax.validation.constraints.NotNull;
 @NoArgsConstructor
 public class SubjectModifyDto {
 
-    @Parameter(name = "subject id")
     private Long id;
 
     @NotNull
-    @Parameter(name = "subject name")
+    @Schema(example = "air")
     private String name;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java
index 0922183be2100b7979371cd8c035fd63f2e0e2b9..c6434cfbf80684e2195f555138d296ccc8cab6e7 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java
@@ -12,10 +12,9 @@ import lombok.*;
 @ToString
 public class ExecuteInternalQueryDto {
 
-    @JsonProperty("ContainerID")
+    @JsonProperty("container_id")
     private String containerId;
 
-    @JsonProperty("Query")
     private String query;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java
index 50588942bdcdce97f60ed6e08c32f13467eab2e7..5b5afb5272d7d4f3a87bd7ef891f64c70581a0d9 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database.query;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -15,6 +15,6 @@ import javax.validation.constraints.NotBlank;
 public class ExecuteStatementDto {
 
     @NotBlank(message = "statement is required")
-    @Parameter(name = "sql query")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String statement;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
index bd2a4c8700b13518501da20385f1e584142d7cf3..77bad91c8b0afe4cf6c32f319e0a84e8e929ead4 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.Min;
@@ -18,30 +19,27 @@ import javax.validation.constraints.NotNull;
 public class ImportDto {
 
     @NotBlank(message = "location is required")
-    @Parameter(name = "csv location")
+    @Schema(example = "/tmp/file.csv")
     private String location;
 
     @Min(value = 0L)
     @JsonProperty("skip_lines")
-    @Parameter(name = "number of lines to skip when importing", example = "0")
     private Long skipLines;
 
     @JsonProperty("false_element")
-    @Parameter(name = "element denoting boolean false when importing", example = "0")
     private String falseElement;
 
     @JsonProperty("true_element")
-    @Parameter(name = "element denoting boolean true when importing", example = "1")
     private String trueElement;
 
     @JsonProperty("null_element")
-    @Parameter(name = "element denoting boolean null when importing", example = "NA")
+    @Schema(example = "NA")
     private String nullElement;
 
     @NotNull
-    @Parameter(name = "csv separator when importing", required = true, example = ",")
+    @Schema(example = ",")
     private Character separator;
 
-    @Parameter(name = "csv quote character when importing", example = "\"")
+    @Schema(example = "\"")
     private Character quote;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
index 421e23ff38249da9a406c3650ad4202b7504aee5..60d4ba0f593ef9a598dbeeb5a121a0b042609b42 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -22,48 +23,43 @@ import java.time.Instant;
 public class QueryBriefDto {
 
     @NotNull(message = "id is required")
-    @Parameter(name = "query id", example = "1")
     private Long id;
 
     @NotNull(message = "container id is required")
-    @Parameter(name = "container id", example = "1")
     private Long cid;
 
     @NotNull(message = "database id is required")
-    @Parameter(name = "database id", example = "1")
     private Long dbid;
 
     @JsonIgnore
     @NotNull(message = "created by is required")
-    @Parameter(name = "creator id", example = "1")
     private Long createdBy;
 
     @NotNull(message = "creator is required")
-    @Parameter(name = "creator")
     private UserDto creator;
 
-    @Parameter(name = "execution time", example = "2022-01-01 08:00:00.000")
+    @Schema(example = "2022-01-01 08:00:00.000")
     private Instant execution;
 
     @NotBlank(message = "statement is required")
-    @Parameter(name = "query raw", example = "select * from table")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String query;
 
     @JsonProperty("query_normalized")
-    @Parameter(name = "query normalized", example = "select id, name from table")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String queryNormalized;
 
     @NotBlank(message = "query hash is required")
     @JsonProperty("query_hash")
-    @Parameter(name = "query hash sha256", example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
+    @Schema(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
     private String queryHash;
 
     @JsonProperty("result_hash")
-    @Parameter(name = "result hash sha256", example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
+    @Schema(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
     private String resultHash;
 
     @JsonProperty("result_number")
-    @Parameter(name = "result number of records", example = "1")
+    @Schema(example = "1")
     private Long resultNumber;
 
     @NotNull(message = "created timestamp is required")
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
index b13507e723383ccfa6098c30f61ecb6b73b8b579..b1b267d6e6b048186e33d5a80def2a6a68449f8b 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -22,48 +23,43 @@ import java.time.Instant;
 public class QueryDto {
 
     @NotNull(message = "id is required")
-    @Parameter(name = "query id", example = "1")
     private Long id;
 
     @NotNull(message = "container id is required")
-    @Parameter(name = "container id", example = "1")
     private Long cid;
 
     @NotNull(message = "database id is required")
-    @Parameter(name = "database id", example = "1")
     private Long dbid;
 
     @JsonIgnore
     @NotNull(message = "created by is required")
-    @Parameter(name = "creator id", example = "1")
     private Long createdBy;
 
     @NotNull(message = "creator is required")
-    @Parameter(name = "creator")
     private UserDto creator;
 
-    @Parameter(name = "execution time", example = "2022-01-01 08:00:00.000")
+    @Schema(example = "2022-01-01 08:00:00.000")
     private Instant execution;
 
     @NotBlank(message = "statement is required")
-    @Parameter(name = "query raw", example = "select * from table")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String query;
 
     @JsonProperty("query_normalized")
-    @Parameter(name = "query normalized", example = "select id, name from table")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String queryNormalized;
 
     @NotBlank(message = "query hash is required")
     @JsonProperty("query_hash")
-    @Parameter(name = "query hash sha256", example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
+    @Parameter(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
     private String queryHash;
 
     @JsonProperty("result_hash")
-    @Parameter(name = "result hash sha256", example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
+    @Parameter(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76")
     private String resultHash;
 
     @JsonProperty("result_number")
-    @Parameter(name = "result number of records", example = "1")
+    @Schema(example = "1")
     private Long resultNumber;
 
     @NotNull(message = "created timestamp is required")
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java
index 0f1f5d6292471d7a0e9dd7877087c1182d677238..02dcd5ffb62274e1b863713b2937ac9349097bea 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database.query;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -17,14 +17,12 @@ import java.util.Map;
 public class QueryResultDto {
 
     @NotNull(message = "result set is required")
-    @Parameter(name = "query result")
     private List<Map<String, Object>> result;
 
     @NotNull(message = "query id is required")
-    @Parameter(name = "query id")
     private Long id;
 
-    @Parameter(name = "result number")
+    @Schema(example = "1")
     private Long resultNumber;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
index 6be1c026d364bb26f2d1064c5c11453b030cf17d..eaf459ba16919e8add187b3d8ee97af0964fdae2 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database.query;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -15,6 +15,6 @@ import javax.validation.constraints.NotBlank;
 public class SaveStatementDto {
 
     @NotBlank(message = "statement is required")
-    @Parameter(name = "sql query")
+    @Schema(example = "SELECT `id` FROM `air_quality`")
     private String statement;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
index dcbc043ca21212c4c8d558c698c2769da89db825..13b7bf9538027f4b72f2268dbe5e066c384f70bc 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
@@ -2,7 +2,7 @@ package at.tuwien.api.database.table;
 
 import at.tuwien.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -17,20 +17,18 @@ import javax.validation.constraints.NotNull;
 public class TableBriefDto {
 
     @NotNull(message = "id is required")
-    @Parameter(name = "table id", example = "1")
     private Long id;
 
     @NotBlank(message = "name is required")
-    @Parameter(name = "table name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank(message = "internal name is required")
     @JsonProperty("internal_name")
-    @Parameter(name = "table internal name", example = "weather_australia")
+    @Schema(example = "air_quality")
     private String internalName;
 
     @NotNull(message = "creator is required")
-    @Parameter(name = "table creator")
     private UserBriefDto creator;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
index 8d57bc8c5b9c73f1e766451f8f1306b4340a222c..aa232704f4067871a39d59e4e8c17af6b2e2de07 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
@@ -1,7 +1,7 @@
 package at.tuwien.api.database.table;
 
 import at.tuwien.api.database.table.columns.ColumnCreateDto;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -17,15 +17,14 @@ import java.util.List;
 public class TableCreateDto {
 
     @NotBlank
-    @Parameter(name = "name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
-    @Parameter(name = "table description", required = true, example = "Predict next-day rain in Australia")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
     @NotNull
-    @Parameter(name = "table columns", required = true)
     private List<ColumnCreateDto> columns;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java
index 968574ae9719688d9d6fe07de599bd6b231f0512..77350153d841b998f34b175398f8aed1fc2ced42 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java
@@ -1,6 +1,5 @@
 package at.tuwien.api.database.table;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -15,7 +14,6 @@ import java.util.Map;
 public class TableCsvDeleteDto {
 
     @NotNull(message = "primary key columns are required")
-    @Parameter(name = "keys")
     private Map<String, Object> keys;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java
index 20293efd21af5056df647ea6afc7ee9f85883d04..cec90849d4f505cf13eae307a09547d9e951fd80 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java
@@ -1,10 +1,8 @@
 package at.tuwien.api.database.table;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
-import java.util.List;
 import java.util.Map;
 
 @Getter
@@ -16,7 +14,6 @@ import java.util.Map;
 public class TableCsvDto {
 
     @NotNull(message = "data is required")
-    @Parameter(name = "data")
     private Map<String, Object> data;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java
index f48e43d5cb2b325f381c5298d56e922d65ca8726..6857fb96ba876023035f2fa991adeba013c30ccd 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java
@@ -2,7 +2,7 @@ package at.tuwien.api.database.table;
 
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -17,11 +17,11 @@ import java.util.List;
 public class TableCsvInformationDto {
 
     @NotBlank
-    @Parameter(name = "name", example = "Fundamentals")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
-    @Parameter(name = "table description", required = true, example = "SEC 10K annual fillings (2016-2012) ")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
     @NotNull
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java
index f6c6707ce51f45f0bdecfb14f6ed8c6f022da1ff..43c74af87fd55c1ea775dfacf3aabd88f9d4e7f5 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java
@@ -1,6 +1,5 @@
 package at.tuwien.api.database.table;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -15,11 +14,9 @@ import java.util.Map;
 public class TableCsvUpdateDto {
 
     @NotNull(message = "data is required")
-    @Parameter(name = "data")
     private Map<String, Object> data;
 
     @NotNull(message = "primary key columns are required")
-    @Parameter(name = "keys")
     private Map<String, Object> keys;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java
index 07c3205f3c71d111d08957ec4289eefb22e37591..72d1379b374f745871ca55598c59f8c3e38b63d3 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java
@@ -6,6 +6,7 @@ import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -22,36 +23,32 @@ import java.util.List;
 public class TableDto {
 
     @NotNull
-    @Parameter(name = "table id", example = "1")
     private Long id;
 
     @NotBlank
-    @Parameter(name = "table name", example = "Weather Australia")
+    @Schema(example = "Air Quality")
     private String name;
 
     @NotBlank
     @JsonProperty("internal_name")
-    @Parameter(name = "table internal name", example = "weather_australia")
+    @Schema(example = "air_quality")
     private String internalName;
 
     @NotNull
-    @Parameter(name = "database creator")
     private UserBriefDto creator;
 
     @NotBlank
-    @Parameter(name = "topic name", example = "fda.c1.d1.t1")
+    @Schema(example = "air_quality")
     private String topic;
 
     @NotBlank
-    @Parameter(name = "table description", example = "Predict next-day rain in Australia")
+    @Schema(example = "Air Quality in Austria")
     private String description;
 
-    @Parameter(name = "table creation time")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
     @NotNull
-    @Parameter(name = "table columns")
     private List<ColumnDto> columns;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
index 92278bebd2821d466b5f7e6b39bf64ad35cee231..f0cacdcfa0e887a0b500d6c918f7d70e5183fa46 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
@@ -1,6 +1,7 @@
 package at.tuwien.api.database.table;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -15,15 +16,14 @@ import java.time.Instant;
 public class TableHistoryDto {
 
     @NotNull(message = "event timestamp is required")
-    @Parameter(name = "event timestamp")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant timestamp;
 
     @NotNull(message = "event name is required")
-    @Parameter(name = "event name")
     private String event;
 
     @NotNull(message = "total number is required")
-    @Parameter(name = "total number")
+    @Schema(example = "1")
     private Long total;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
index 7a09636bab38f9d00b8326d7f3df3e3e7fb72b81..cc8672d5f94e7f15bee3e50fccc61dce26476d92 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -16,21 +17,20 @@ import javax.validation.constraints.NotNull;
 public class ColumnBriefDto {
 
     @NotNull(message = "id is required")
-    @Parameter(name = "id", example = "1", required = true)
     private Long id;
 
     @NotBlank(message = "name is required")
-    @Parameter(name = "name", example = "Date", required = true)
+    @Schema(example = "date")
     private String name;
 
     @NotBlank(message = "internal name is required")
     @JsonProperty("internal_name")
-    @Parameter(name = "internal name", example = "mdb_date", required = true)
+    @Schema(example = "mdb_date")
     private String internalName;
 
     @NotNull
     @JsonProperty("column_type")
-    @Parameter(name = "type", required = true)
+    @Schema(example = "date")
     private ColumnTypeDto columnType;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
index a7f852c7748a75d6f4cd3f35aa4b447a8cf9e8e6..0ad794410e7ced31c1ff1210643134f709ec38f6 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.persistence.Column;
@@ -17,43 +18,41 @@ import javax.validation.constraints.NotNull;
 public class ColumnCreateDto {
 
     @NotBlank
-    @Parameter(name = "name", example = "Date")
+    @Schema(example = "Date")
     private String name;
 
     @NotNull
     @JsonProperty("primary_key")
-    @Parameter(name = "primary key", example = "true")
-    private Boolean primaryKey = false;
+    @Schema(example = "false")
+    private Boolean primaryKey;
 
     @NotNull
-    @Parameter(name = "column type", example = "STRING")
+    @Schema(example = "string")
     private ColumnTypeDto type;
 
     @NotNull
     @JsonProperty("null_allowed")
-    @Parameter(name = "null value", example = "false")
-    private Boolean nullAllowed = true;
+    @Schema(example = "true")
+    private Boolean nullAllowed;
 
-    @Parameter(name = "date format id", example = "1")
+    @Schema(description = "date format id")
     private Long dfid;
 
     @NotNull
-    @Parameter(name = "unique", example = "true")
-    private Boolean unique = false;
+    @Schema(example = "false")
+    private Boolean unique;
 
     @JsonProperty("check_expression")
-    @Parameter(name = "check expression", example = "null")
-    private String checkExpression = null;
+    private String checkExpression;
 
     @JsonProperty("foreign_key")
-    @Parameter(name = "foreign key", example = "null")
     private String foreignKey = null;
 
-    @Parameter(name = "foreign key reference, only considered when foreignKey != null", example = "null")
+    @Parameter(description = "foreign key reference, only considered when foreignKey != null")
     private String references = null;
 
     @JsonProperty("enum_values")
-    @Parameter(name = "enum values, only considered when type = ENUM", example = "[\"male\",\"female\",\"other\"]")
+    @Parameter(description = "enum values, only considered when type = ENUM")
     private String[] enumValues = null;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
index 9c69230acd2a663a062c5cba6fd0edc2efacee21..2d2fde68f6443446333a41a2d0ebcb8dc7947e64 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
@@ -4,6 +4,7 @@ import at.tuwien.api.container.image.ImageDateDto;
 import at.tuwien.api.database.table.columns.concepts.ConceptDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -19,71 +20,58 @@ import java.util.List;
 public class ColumnDto {
 
     @NotNull
-    @Parameter(name = "id", example = "1", required = true)
     private Long id;
 
     @NotBlank
-    @Parameter(name = "name", example = "Date", required = true)
+    @Schema(example = "Date")
     private String name;
 
     @NotBlank
     @JsonProperty("internal_name")
-    @Parameter(name = "internal name", example = "mdb_date", required = true)
+    @Schema(example = "mdb_date")
     private String internalName;
 
     @JsonProperty("date_format")
-    @Parameter(name = "date format", example = "1")
     private ImageDateDto dateFormat;
 
     @NotNull
     @JsonProperty("auto_generated")
-    @Parameter(name = "column autogenerated", example = "false")
+    @Schema(example = "false")
     private Boolean autoGenerated;
 
     @NotNull
     @JsonProperty("is_primary_key")
-    @Parameter(name = "primary key", example = "true", required = true)
+    @Schema(example = "true")
     private Boolean isPrimaryKey;
 
     @NotNull
     @JsonProperty("column_type")
-    @Parameter(name = "type", example = "STRING", required = true)
+    @Schema(example = "string")
     private ColumnTypeDto columnType;
 
-    @Parameter(name = "unique", example = "true", required = true)
     @JsonProperty("column_concept")
     private ConceptDto concept;
 
     @NotNull
-    @Parameter(name = "unique", example = "true", required = true)
+    @Schema(example = "true")
     private Boolean unique;
 
-    @JsonProperty("decimal_digits_before")
-    @Parameter(name = "decimal digits before point", example = "3")
-    private Long decimalDigitsBefore;
-
-    @JsonProperty("decimal_digits_after")
-    @Parameter(name = "decimal digits after point", example = "0")
-    private Long decimalDigitsAfter;
-
     @NotNull
     @JsonProperty("is_null_allowed")
-    @Parameter(name = "null allowed", example = "true", required = true)
+    @Schema(example = "false")
     private Boolean isNullAllowed;
 
     @JsonProperty("check_expression")
-    @Parameter(name = "check constraint", example = "Price Limit > 0", hidden = true)
     private String checkExpression;
 
     @JsonProperty("foreign_key")
-    @Parameter(name = "foreign key", hidden = true)
     private String foreignKey;
 
-    @Parameter(name = "foreign key reference, only considered when foreignKey != null", example = "null")
+    @Parameter(description = "foreign key reference, only considered when foreignKey != null")
     private String references;
 
     @JsonProperty("enum_values")
-    @Parameter(name = "enum values, only considered when type = ENUM", example = "[\"male\",\"female\",\"other\"]")
+    @Parameter(description = "enum values, only considered when type = ENUM")
     private String[] enumValues;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java
index 679755b15b9b59e92897e2a07a4bab894020ce97..70da894411e664c92db6ac47c5e1bbc2d5e1cdd6 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java
@@ -1,10 +1,40 @@
 package at.tuwien.api.database.table.columns;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
-import lombok.ToString;
 
 @Getter
-@ToString
 public enum SiUnitDto {
-    SECOND, METER, KILOGRAM, AMPERE, KELVIN, MOLE, CANDELA
+
+    @JsonProperty("second")
+    SECOND("second"),
+
+    @JsonProperty("meter")
+    METER("meter"),
+
+    @JsonProperty("kilogram")
+    KILOGRAM("kilogram"),
+
+    @JsonProperty("ampere")
+    AMPERE("ampere"),
+
+    @JsonProperty("kelvin")
+    KELVIN("kelvin"),
+
+    @JsonProperty("mole")
+    MOLE("mole"),
+
+    @JsonProperty("candela")
+    CANDELA("candela");
+
+    private String name;
+
+    SiUnitDto(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return this.name;
+    }
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
index e71c51b9c1d67731c7fdc6a7fa6218fb878999cc..a229dd2f1f6b6f15b87b2068f86804f149857128 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.table.columns.concepts;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -16,15 +17,13 @@ import java.time.Instant;
 public class ConceptDto {
 
     @NotNull
-    @Parameter(name = "uri", required = true)
     private String uri;
 
     @NotNull
-    @Parameter(name = "name", required = true)
     private String name;
 
     @NotNull
-    @Parameter(name = "created", required = true)
+    @Schema(required = true)
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/EntryDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/EntryDto.java
deleted file mode 100644
index 60e5efa6899921b8d4fdc4a1b7730d5267f50bb6..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/EntryDto.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package at.tuwien.api.document.file;
-
-import at.tuwien.api.document.links.LinksDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import java.time.Instant;
-
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class EntryDto {
-
-    @Parameter(name = "key", description = "Filename")
-    private String key;
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSSSSS", timezone = "UTC")
-    @Parameter(name = "updated")
-    private Instant updated;
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSSSSS", timezone = "UTC")
-    @Parameter(name = "created")
-    private Instant created;
-
-    @Parameter(name = "metadata")
-    private String metadata;
-
-    @Parameter(name = "status", description = "Upload status")
-    private String status;
-
-    @Parameter(name = "links")
-    private LinksDto links;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileAnnounceDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileAnnounceDto.java
deleted file mode 100644
index c2941ccdeca9d5556ca203eecf5b99a2b5210733..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileAnnounceDto.java
+++ /dev/null
@@ -1,37 +0,0 @@
-
-package at.tuwien.api.document.file;
-
-import at.tuwien.api.document.links.LinksDto;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FileAnnounceDto {
-
-    @JsonProperty("default_preview")
-    @Parameter(name = "file name")
-    private String defaultPreview;
-
-    @NotNull
-    @Parameter(name = "file enabled")
-    private Boolean enabled;
-
-    @NotNull
-    @Parameter(name = "file entries")
-    private List<FileEntryDto> entries;
-
-    @Parameter(name = "file links")
-    private LinksDto links;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileDto.java
deleted file mode 100644
index fc7c9867e914663ccd6cceee5e2b4d22e8a23319..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileDto.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package at.tuwien.api.document.file;
-
-import at.tuwien.api.document.links.LinksDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.time.Instant;
-
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FileDto {
-
-    @NotBlank
-    @JsonProperty("bucket_id")
-    @Parameter(name = "bucket id", description = "Bucket id.")
-    private String bucketId;
-
-    @NotBlank
-    @Parameter(name = "file checksum", description = "File checksum.", example = "md5:ef8fcf1f046bb24f1db1f1a376ddbfbb")
-    private String checksum;
-
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    @Parameter(name = "file creation timestamp")
-    private Instant created;
-
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    @Parameter(name = "file updated timestamp")
-    private Instant updated;
-
-    @NotBlank
-    @JsonProperty("file_id")
-    @Parameter(name = "file id")
-    private String fileId;
-
-    @NotBlank
-    @Parameter(name = "file key", example = "mock.png")
-    private String key;
-
-    @NotNull
-    @Parameter(name = "file links")
-    private LinksDto links;
-
-    @Parameter(name = "file mimetype")
-    private String mimetype;
-
-    @Parameter(name = "file size")
-    private Long size;
-
-    @Parameter(name = "file status")
-    private String status;
-
-    @JsonProperty("storage_class")
-    @Parameter(name = "file storage class", example = "S")
-    private String storageClass;
-
-    @JsonProperty("version_id")
-    @Parameter(name = "file version id")
-    private String versionId;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileEntryDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileEntryDto.java
deleted file mode 100644
index e6692fdce84ae4468b25b67240c2ed5d44e92453..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileEntryDto.java
+++ /dev/null
@@ -1,43 +0,0 @@
-
-package at.tuwien.api.document.file;
-
-import at.tuwien.api.document.links.LinksDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.time.Instant;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FileEntryDto {
-
-    @NotBlank
-    @Parameter(name = "file name", description = "Name of the file.")
-    private String key;
-
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    @Parameter(name = "file updated")
-    private Instant updated;
-
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    @Parameter(name = "file created")
-    private Instant created;
-
-    @Parameter(name = "file status")
-    private String status;
-
-    @Parameter(name = "file links")
-    private LinksDto links;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileKeyDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileKeyDto.java
deleted file mode 100644
index 79c7f3d7b7d1a6d620edd505543f27fd3c1dc9c0..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileKeyDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-
-package at.tuwien.api.document.file;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FileKeyDto {
-
-    @NotBlank
-    @Parameter(name = "file name", description = "Name of the file.", example = "mock.png")
-    private String key;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileStartDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileStartDto.java
deleted file mode 100644
index 27451242b5283bec4c898369d258d73f7edd779c..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/file/FileStartDto.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package at.tuwien.api.document.file;
-
-import at.tuwien.api.document.links.LinksDto;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FileStartDto {
-
-    @JsonProperty("default_preview")
-    @Parameter(name = "default preview", description = "Filename of file to be previewed by default.")
-    private String defaultPreview;
-
-    @NotNull(message = "enabled is required")
-    @Parameter(name = "enabled", description = "Should (and can) files be attached to this record or not.")
-    private Boolean enabled;
-
-    @NotNull(message = "entries is required")
-    @Parameter(name = "entries")
-    private List<EntryDto> entries;
-
-    @NotNull(message = "links is required")
-    @Parameter(name = "links")
-    private LinksDto links;
-
-    @Parameter(name = "order", description = "Array of filename strings in display order.")
-    private List<String> order;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/DoiDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/DoiDto.java
deleted file mode 100644
index 6fe993813def5001b3bb876504f493ec6f222352..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/DoiDto.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package at.tuwien.api.document.links;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class DoiDto {
-
-    @Parameter(name = "client")
-    private String client;
-
-    @NotBlank(message = "identifier is required")
-    @Parameter(name = "identifier")
-    private String identifier;
-
-    @Parameter(name = "provider")
-    private String provider;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/LinksDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/LinksDto.java
deleted file mode 100644
index aac5dfc48b27bac0a9a6910985a49b8c31a0087a..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/LinksDto.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package at.tuwien.api.document.links;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class LinksDto {
-
-    @Parameter(name = "latest")
-    private String latest;
-
-    @Parameter(name = "versions")
-    private String versions;
-
-    @JsonProperty("self_html")
-    @Parameter(name = "self html")
-    private String selfHtml;
-
-    @Parameter(name = "publish")
-    private String publish;
-
-    @JsonProperty("latest_html")
-    @Parameter(name = "latest html")
-    private String latestHtml;
-
-    @Parameter(name = "self")
-    private String self;
-
-    @Parameter(name = "files")
-    private String files;
-
-    @Parameter(name = "commit")
-    private String commit;
-
-    @JsonProperty("access_links")
-    @Parameter(name = "access links")
-    private String accessLinks;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/PersistentIdentifiersDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/PersistentIdentifiersDto.java
deleted file mode 100644
index c7626b8c85c7a7a604140b1d9ae174f34ecf1959..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/links/PersistentIdentifiersDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package at.tuwien.api.document.links;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PersistentIdentifiersDto {
-
-    @Parameter(name = "doi")
-    private DoiDto doi;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/AffiliationDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/AffiliationDto.java
deleted file mode 100644
index b150e6138725a7ef84c350b598d6c81a3c677e9a..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/AffiliationDto.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class AffiliationDto {
-
-    @Parameter(name = "id", description = "The organizational or institutional id from the controlled vocabulary.")
-    private String id;
-
-    @Parameter(name = "name", description = "The name of the organisation or institution.")
-    private String name;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/CreatorDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/CreatorDto.java
deleted file mode 100644
index 5ead5d487c477829b90bc3cbc353395f33d827c5..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/CreatorDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class CreatorDto {
-
-    @JsonProperty("person_or_org")
-    @NotNull(message = "person or organization is required")
-    @Parameter(name = "person or organization", description = "The person or organization.")
-    private PersonOrOrganizationDto personOrOrganization;
-
-    @Parameter(name = "role", description = "The role of the person or organisation selected from a customizable " +
-            "controlled vocabulary.")
-    private String role;
-
-    @Parameter(name = "affiliations", description = "Affilations if person_or_org.type is personal.")
-    private List<AffiliationDto> affiliations;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierDto.java
deleted file mode 100644
index 7ef178644d5abf23b3d7c58a5f488a571a026b7c..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class IdentifierDto {
-
-    @NotNull(message = "scheme is required")
-    @Parameter(name = "scheme", description = "The identifier scheme.")
-    private IdentifierTypeDto scheme;
-
-    @NotNull(message = "identifier is required")
-    @Parameter(name = "identifier", description = "Actual value of the identifier.")
-    private String identifier;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierTypeDto.java
deleted file mode 100644
index 282aa63be67ca5a38e6273335a5b41f219317d82..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/IdentifierTypeDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public enum IdentifierTypeDto {
-
-    @JsonProperty("orcid")
-    ORCID("orcid"),
-
-    @JsonProperty("gnd")
-    GND("gnd"),
-
-    @JsonProperty("isni")
-    ISNI("isni"),
-
-    @JsonProperty("ror")
-    ROR("ror");
-
-    private final String type;
-
-    IdentifierTypeDto(String type) {
-        this.type = type;
-    }
-
-    @Override
-    public String toString() {
-        return type;
-    }
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/MetadataDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/MetadataDto.java
deleted file mode 100644
index 5ad3d586e5b11da356d38cb0713ac64219e803bd..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/MetadataDto.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.util.Date;
-import java.util.List;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class MetadataDto {
-
-    @JsonProperty("resource_type")
-    @NotNull(message = "enabled is required")
-    @Parameter(name = "files enabled", description = "Should (and can) files be attached to this record or not.")
-    private ResourceTypeDto resourceType;
-
-    /**
-     * The field is compatible with 2. Creator in DataCite. In addition we are adding the possiblity of associating a
-     * role (like for contributors). This is specifically for cases where e.g. an editor needs to be credited for the
-     * work, while authors of individual articles will be listed under contributors.
-     */
-    @NotNull(message = "creators is required")
-    @Parameter(name = "creators")
-    private List<CreatorDto> creators;
-
-    /**
-     * The fields is compatible with 3. Title in DataCite. Compared to DataCite, the field does not support specifying
-     * the language of the title.
-     */
-    @NotBlank(message = "title is required")
-    @Parameter(name = "title")
-    private String title;
-
-    /**
-     * The field is compatible 5. PublicationYear in DataCite. In case of time intervals, the earliest date is used
-     * for DataCite.
-     */
-    @JsonProperty("publication_date")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @NotNull(message = "publication date is required")
-    @Parameter(name = "publication date")
-    private Date publicationDate;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrgTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrgTypeDto.java
deleted file mode 100644
index 6eb4b9c2f3c9bc3e6420dedc1321e30f0e2dce8c..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrgTypeDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public enum PersonOrOrgTypeDto {
-
-    @JsonProperty("personal")
-    PERSONAL("personal"),
-
-    @JsonProperty("organizational")
-    ORGANIZATIONAL("organizational");
-
-    private final String type;
-
-    PersonOrOrgTypeDto(String type) {
-        this.type = type;
-    }
-
-    @Override
-    public String toString() {
-        return type;
-    }
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrganizationDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrganizationDto.java
deleted file mode 100644
index 67a5514de17cda902ba5544d7c62029aeddf987a..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/PersonOrOrganizationDto.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class PersonOrOrganizationDto {
-    
-    @NotNull(message = "type is required")
-    @Parameter(name = "type", description = "The type of name. Either personal or organizational.")
-    private PersonOrOrgTypeDto type;
-
-    @JsonProperty("given_name")
-    @Parameter(name = "given name", description = "Given name(s).")
-    private String givenName;
-
-    @JsonProperty("family_name")
-    @Parameter(name = "family name", description = "Family name.")
-    private String familyName;
-
-    @Parameter(name = "name", description = "The full name of the organisation. For a person, this field is generated from given_name and family_name")
-    private String name;
-
-    @Parameter(name = "identifers", description = "Person or organisation identifiers.")
-    private List<IdentifierDto> identifiers;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/ResourceTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/ResourceTypeDto.java
deleted file mode 100644
index 7b6edacf87f54eb54d4e02dc897cf41bbdc5026a..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/metadata/ResourceTypeDto.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package at.tuwien.api.document.metadata;
-
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class ResourceTypeDto {
-
-    /**
-     * When interfacing with Datacite, this field is converted to a format compatible with 10. Resource Type (i.e.
-     * type and subtype). DataCite allows free text for the subtype, however InvenioRDM requires this to come from a
-     * customizable controlled vocabulary.
-     */
-    @NotNull(message = "id is required")
-    @Parameter(name = "id", description = "The resource type id from the controlled vocabulary.")
-    private String id;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessOptionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessOptionsDto.java
deleted file mode 100644
index fbb501c9d31c08f1006d524b294231ccbc3378bb..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessOptionsDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class AccessOptionsDto {
-
-    @NotNull(message = "record access type is required")
-    @Parameter(name = "record access type")
-    private AccessTypeDto record;
-
-    @NotNull(message = "files is required")
-    @Parameter(name = "files")
-    private FileTypeDto files;
-
-    @Parameter(name = "embargo options")
-    private EmbargoDto embargo;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessTypeDto.java
deleted file mode 100644
index 9816ba4f9f5967f9551c8d788ac6c27dc21c9210..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/AccessTypeDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public enum AccessTypeDto {
-
-    @JsonProperty("public")
-    PUBLIC("public"),
-
-    @JsonProperty("restricted")
-    RESTRICTED("restricted");
-
-    private final String type;
-
-    AccessTypeDto(String type) {
-        this.type = type;
-    }
-
-    @Override
-    public String toString() {
-        return type;
-    }
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/CreateDraftDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/CreateDraftDto.java
deleted file mode 100644
index 623286d9a2e15c633ba7995712acf696295212b8..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/CreateDraftDto.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package at.tuwien.api.document.record;
-
-import at.tuwien.api.document.metadata.MetadataDto;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class CreateDraftDto {
-
-    @NotNull(message = "access is required")
-    @Parameter(name = "access")
-    private AccessOptionsDto access;
-
-    @NotNull(message = "files options is required")
-    @Parameter(name = "files options")
-    private FilesOptionsDto files;
-
-    @NotNull(message = "metadata is required")
-    @Parameter(name = "metadata")
-    private MetadataDto metadata;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/DraftVersionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/DraftVersionsDto.java
deleted file mode 100644
index ae3109911b5bc2123757519e05ad2427aa56bacd..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/DraftVersionsDto.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class DraftVersionsDto {
-
-    @Parameter(name = "index")
-    private Long index;
-
-    @JsonProperty("is_latest")
-    @Parameter(name = "is latest version")
-    private Boolean isLatest;
-
-    @JsonProperty("is_latest_draft")
-    @Parameter(name = "is latest draft")
-    private Boolean isLatestDraft;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/EmbargoDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/EmbargoDto.java
deleted file mode 100644
index 82e417393a43cab4046b82251c97955e1436aa18..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/EmbargoDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-import java.util.Date;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class EmbargoDto {
-
-    @NotNull(message = "embargo active is required")
-    @Parameter(name = "embargo active")
-    private Boolean active;
-
-    @Parameter(name = "embargo until date")
-    private Date until;
-
-    @Parameter(name = "embargo explanation")
-    private String reason;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FileTypeDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FileTypeDto.java
deleted file mode 100644
index 97536d9081beea03428adb89b02a97d5169f063f..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FileTypeDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public enum FileTypeDto {
-
-    @JsonProperty("public")
-    PUBLIC("public"),
-
-    @JsonProperty("restricted")
-    RESTRICTED("restricted");
-
-    private final String type;
-
-    FileTypeDto(String type) {
-        this.type = type;
-    }
-
-    @Override
-    public String toString() {
-        return type;
-    }
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FilesOptionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FilesOptionsDto.java
deleted file mode 100644
index 7ccebb72a644a29c53bcd463574fe8053c3919e4..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/FilesOptionsDto.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class FilesOptionsDto {
-
-    @NotNull(message = "enabled is required")
-    @Parameter(name = "files enabled", description = "Should (and can) files be attached to this record or not.")
-    private Boolean enabled;
-
-    @Parameter(name = "files preview", description = "Filename of file to be previewed by default.")
-    private String default_preview;
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/ModifyDraftDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/ModifyDraftDto.java
deleted file mode 100644
index 6e1a8af30e4c04c1e69bee201a1ef2b790f1c793..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/ModifyDraftDto.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package at.tuwien.api.document.record;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class ModifyDraftDto {
-
-    @NotNull(message = "identifier is required")
-    @Parameter(name = "identifier", description = "Identifier of the record, e.g. 4d0ns-ntd89")
-    private String id;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/RecordDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/RecordDto.java
deleted file mode 100644
index 993a069079825fe80258544409eb394ebd6bb51a..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/RecordDto.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package at.tuwien.api.document.record;
-
-import at.tuwien.api.document.links.PersistentIdentifiersDto;
-import at.tuwien.api.document.metadata.MetadataDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-import java.time.Instant;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class RecordDto {
-
-    @NotNull(message = "access is required")
-    @Parameter(name = "access")
-    private AccessOptionsDto access;
-
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    private Instant created;
-
-    @NotNull(message = "files options is required")
-    @Parameter(name = "files options")
-    private FilesOptionsDto files;
-
-    @NotNull(message = "id is required")
-    @Parameter(name = "id")
-    private String id;
-
-    @JsonProperty("is_published")
-    @NotNull(message = "is published is required")
-    @Parameter(name = "is published")
-    private Boolean isPublished;
-
-    @NotNull(message = "metadata is required")
-    @Parameter(name = "metadata")
-    private MetadataDto metadata;
-
-    @JsonProperty("revision_id")
-    @NotNull(message = "revision id is required")
-    @Parameter(name = "revision id")
-    private Long revisionId;
-
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX", timezone = "UTC")
-    @Parameter(name = "updated date")
-    private Instant updated;
-
-    @NotNull(message = "versions is required")
-    @Parameter(name = "revisions")
-    private DraftVersionsDto versions;
-
-    @NotNull(message = "pids is required")
-    @Parameter(name = "pids")
-    private PersistentIdentifiersDto pids;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/UpdateDraftDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/UpdateDraftDto.java
deleted file mode 100644
index cce7e853f013fa2b7a069b42fcd8c82f79803437..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/document/record/UpdateDraftDto.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package at.tuwien.api.document.record;
-
-import at.tuwien.api.document.metadata.MetadataDto;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotNull;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class UpdateDraftDto {
-
-    @NotNull(message = "identifier is required")
-    @Parameter(name = "identifier", description = "Identifier of the record, e.g. 4d0ns-ntd89")
-    private String id;
-    
-    @NotNull(message = "access is required")
-    @Parameter(name = "access")
-    private AccessOptionsDto access;
-
-    @NotNull(message = "files options is required")
-    @Parameter(name = "files options")
-    private FilesOptionsDto files;
-
-    @NotNull(message = "metadata is required")
-    @Parameter(name = "metadata")
-    private MetadataDto metadata;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
index bd089e31282e07679bc92ea27ea3e892e0adfbde..d8f0aa27954d027466a101861007dca1faea48eb 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.error;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import org.springframework.http.HttpStatus;
 
@@ -15,15 +15,15 @@ import javax.validation.constraints.NotNull;
 public class ApiErrorDto {
 
     @NotNull(message = "http status is required")
-    @Parameter(name = "http status", example = "NOT_FOUND")
+    @Schema(example = "NOT_FOUND")
     private HttpStatus status;
 
     @NotNull(message = "message is required")
-    @Parameter(name = "message", example = "Could not find container")
+    @Schema(example = "Could not find container")
     private String message;
 
     @NotNull(message = "code is required")
-    @Parameter(name = "code", example = "error.container.notfound")
+    @Schema(example = "error.container.notfound")
     private String code;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java
index 40ea15199ef4e13071c94341a4cf64415e8043c9..db94f11a600c77f14be638b99d2417b9539a9cb4 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.identifier;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Builder;
 import lombok.Data;
 import lombok.Getter;
@@ -17,13 +17,13 @@ import javax.validation.constraints.NotBlank;
 public class CreatorCreateDto {
 
     @NotBlank
-    @Parameter(name = "name", example = "Mustermann, Maximilian")
+    @Schema(example = "Carberry, Josiah")
     private String name;
 
-    @Parameter(name = "affiliation", example = "TU Wien")
+    @Schema(example = "Wesleyan University")
     private String affiliation;
 
-    @Parameter(name = "orcid", example = "ORCID")
+    @Schema(example = "0000-0002-1825-0097")
     private String orcid;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
index 0410849a33a2811b0acd43c702581bcc1fd224b8..8bf0149b8b01c12088efbd4e7bc03408ee5e29fe 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
@@ -3,6 +3,7 @@ package at.tuwien.api.identifier;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotBlank;
@@ -19,13 +20,13 @@ public class CreatorDto {
     private Long id;
 
     @NotBlank
-    @Parameter(name = "name", example = "Mustermann, Maximilian")
+    @Schema(example = "Carberry, Josiah")
     private String name;
 
-    @Parameter(name = "affiliation", example = "TU Wien")
+    @Schema(example = "Wesleyan University")
     private String affiliation;
 
-    @Parameter(name = "orcid", example = "ORCID")
+    @Schema(example = "0000-0002-1825-0097")
     private String orcid;
 
     @NotNull
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java
index a35fc8b47abbe504c0806179541afacdacd18149..ab58a4f560e45c11bc16688c1b6b5ce125608bd3 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java
@@ -1,7 +1,7 @@
 package at.tuwien.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Builder;
 import lombok.Data;
 import lombok.Getter;
@@ -10,54 +10,49 @@ import lombok.extern.jackson.Jacksonized;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
-import java.time.Instant;
 import java.util.List;
 
 @Data
 @Getter
 @Setter
 @Builder
-@Jacksonized
 public class IdentifierCreateDto {
 
     @NotNull
-    @Parameter(name = "query id", example = "1")
     private Long qid;
 
     @NotBlank
-    @Parameter(name = "query title", example = "Select all weather events for 2012")
+    @Schema(example = "Airquality Stephansplatz, Vienna, Austria")
     private String title;
 
     @NotBlank
-    @Parameter(name = "query description", example = "Returns a list of measurements for the year 2012")
+    @Schema(example = "Air quality reports at Stephansplatz, Vienna")
     private String description;
 
     @NotNull
-    @Parameter(name = "query result visibility")
+    @Schema(example = "everyone")
     private VisibilityTypeDto visibility;
 
-    @Parameter(name = "doi", example = "Digital Object Identifier")
+    @Schema(example = "10.1038/nphys1170")
     private String doi;
 
     @JsonProperty("publication_day")
-    @Parameter(name = "publication day")
+    @Schema(example = "15")
     private Integer publicationDay;
 
     @JsonProperty("publication_month")
-    @Parameter(name = "publication month")
+    @Schema(example = "12")
     private Integer publicationMonth;
 
     @NotNull
     @JsonProperty("publication_year")
-    @Parameter(name = "publication year")
+    @Schema(example = "2022")
     private Integer publicationYear;
 
     @NotNull
-    @Parameter(name = "creators")
     private List<CreatorCreateDto> creators;
 
     @JsonProperty("related_identifiers")
-    @Parameter(name = "related identifiers")
     private List<RelatedIdentifierCreateDto> relatedIdentifiers;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
index 42763f8c31387a81466b732792a3c1ef30a6f269..bffecf49c35691343ceb2b96624850b4effb5add 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
@@ -4,6 +4,7 @@ import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Builder;
 import lombok.Data;
 import lombok.Getter;
@@ -23,45 +24,40 @@ public class IdentifierDto {
     private Long id;
 
     @NotNull
-    @Parameter(name = "container id", example = "1")
     private Long cid;
 
     @NotNull
-    @Parameter(name = "database id", example = "1")
     private Long dbid;
 
     @NotNull
-    @Parameter(name = "query id", example = "1")
     private Long qid;
 
     @NotBlank
-    @Parameter(name = "query title", example = "Select all weather events for 2012")
+    @Schema(example = "Airquality Stephansplatz, Vienna, Austria")
     private String title;
 
     @NotBlank
-    @Parameter(name = "query description", example = "Returns a list of measurements for the year 2012")
+    @Schema(example = "Air quality reports at Stephansplatz, Vienna")
     private String description;
 
     @NotBlank
-    @Parameter(name = "query")
+    @Schema(example = "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` = \"09:STEF\"")
     private String query;
 
     @NotBlank
     @JsonProperty("query_normalized")
-    @Parameter(name = "query normalized")
+    @Schema(example = "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` = \"09:STEF\"")
     private String queryNormalized;
 
     @JsonProperty("related")
-    @Parameter(name = "related identifiers")
     private List<RelatedIdentifierDto> related;
 
     @NotBlank
     @JsonProperty("query_hash")
-    @Parameter(name = "query hash in sha512")
+    @Parameter(description = "query hash in sha512")
     private String queryHash;
 
     @NotNull
-    @Parameter(name = "query execution time")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant execution;
 
@@ -72,35 +68,33 @@ public class IdentifierDto {
 
     @NotNull
     @JsonProperty("result_number")
-    @Parameter(name = "query result number")
+    @Schema(example = "1")
     private Long resultNumber;
 
     @NotNull
-    @Parameter(name = "query result visibility")
+    @Schema(example = "everyone")
     private VisibilityTypeDto visibility;
 
-    @Parameter(name = "doi", example = "Digital Object Identifier")
+    @Schema(example = "10.1038/nphys1170")
     private String doi;
 
     @NotNull
-    @Parameter(name = "database creator")
     private UserDto creator;
 
     @JsonProperty("publication_day")
-    @Parameter(name = "publication day")
+    @Schema(example = "15")
     private Integer publicationDay;
 
     @JsonProperty("publication_month")
-    @Parameter(name = "publication month")
+    @Schema(example = "12")
     private Integer publicationMonth;
 
     @NotNull
     @JsonProperty("publication_year")
-    @Parameter(name = "publication year")
+    @Schema(example = "2022")
     private Integer publicationYear;
 
     @NotNull
-    @Parameter(name = "creators")
     private List<CreatorDto> creators;
 
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java
index 2b31e9a3a22511bdd8b1e887c6f034b2b662f6b6..f6e9e1c312954b1d29553df285232d9db83375de 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.identifier;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
@@ -14,13 +14,13 @@ import javax.validation.constraints.NotNull;
 public class RelatedIdentifierCreateDto {
 
     @NotNull
-    @Parameter(name = "identifier", example = "10.70124/dc4zh-9ce78")
+    @Schema(example = "10.70124/dc4zh-9ce78")
     private String value;
 
-    @Parameter(name = "type", example = "DOI")
+    @Schema(example = "DOI")
     private RelatedTypeDto type;
 
-    @Parameter(name = "relation", example = "Cites")
+    @Schema(example = "Cites")
     private RelationTypeDto relation;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
index caf2bd5fde28193f63ccd66058203817b58886b1..c6d5c13bf1689975c1528814c418e2bcce273818 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -24,13 +25,13 @@ public class RelatedIdentifierDto {
     private Long iid;
 
     @NotNull
-    @Parameter(name = "identifier", example = "10.70124/dc4zh-9ce78")
+    @Schema(example = "10.70124/dc4zh-9ce78")
     private String value;
 
-    @Parameter(name = "type", example = "DOI")
+    @Schema(example = "DOI")
     private RelatedTypeDto type;
 
-    @Parameter(name = "relation", example = "Cites")
+    @Schema(example = "Cites")
     private RelationTypeDto relation;
 
     @ToString.Exclude
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..57d639f9165ddbefa08a8132dd9e473039526049
--- /dev/null
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
@@ -0,0 +1,28 @@
+package at.tuwien.api.user;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+@ToString
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class ExchangeUpdatePermissionsDto {
+
+    @NotBlank
+    @Schema(example = "airquality")
+    private String exchange;
+
+    @NotBlank
+    @Schema(example = ".*")
+    private String write;
+
+    @NotBlank
+    @Schema(example = ".*")
+    private String read;
+
+}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
index 2003d721fbdbaa377fc04cbe857aa73d03da50c1..ec6dc13ee2e386e1ca397fd3ecaa440f94f73cff 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 @Getter
@@ -11,7 +11,7 @@ import lombok.*;
 @NoArgsConstructor
 public class GrantedAuthorityDto {
 
-    @Parameter(name = "authority name")
+    @Schema(example = "ROLE_RESEARCHER")
     private String authority;
 
 
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
index 72f9bfd29ec72b3c7e25d78e8b74a8e0ae82a6e8..8bd0bab047a7cde4923c4cdbfe1f4a6e67df638a 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -15,41 +16,39 @@ import javax.validation.constraints.NotNull;
 public class UserBriefDto {
 
     @NotNull
-    @Parameter(name = "id")
     private Long id;
 
     @NotNull
-    @Parameter(name = "user name")
+    @Schema(example = "user", description = "Only contains lowercase characters")
     private String username;
 
     @JsonProperty("titles_before")
-    @Parameter(name = "titles before the first name")
+    @Schema(example = "Prof.")
     private String titlesBefore;
 
     @JsonProperty("titles_after")
-    @Parameter(name = "titles after the last name")
     private String titlesAfter;
 
-    @Parameter(name = "first name")
+    @Schema(example = "Josiah")
     private String firstname;
 
-    @Parameter(name = "last name")
+    @Schema(example = "Carberry")
     private String lastname;
 
-    @Parameter(name = "affiliation")
+    @Schema(example = "Brown University")
     private String affiliation;
 
-    @Parameter(name = "orcid")
+    @Schema(example = "0000-0002-1825-0097")
     private String orcid;
 
     @NotNull
     @JsonProperty("theme_dark")
-    @Parameter(name = "theme dark")
+    @Schema(example = "true")
     private Boolean themeDark;
 
     @NotNull
     @JsonProperty("email_verified")
-    @Parameter(name = "mail address verified")
+    @Schema(example = "true")
     private Boolean emailVerified;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
index 0d6053c3cd872e006f1ffc8e183aa160ceb4cda1..e99cff9a90d8eda5cf4d3f2ac901df49ca3de1dd 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
@@ -1,10 +1,10 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 
+import javax.validation.constraints.Email;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -16,23 +16,19 @@ import java.util.List;
 @NoArgsConstructor
 public class UserDetailsDto implements UserDetails {
 
-    @Parameter(name = "id")
     private Long id;
 
-    @Parameter(name = "user authorities")
     private List<? extends GrantedAuthority> authorities;
 
     @NotNull
-    @Parameter(name = "user name")
     private String username;
 
     @NotNull
     @ToString.Exclude
-    @Parameter(name = "password hash")
     private String password;
 
     @NotNull
-    @Parameter(name = "mail address")
+    @Email
     private String email;
 
     @Override
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java
index 490af62b4e3936a58df98602189e5eb43628a1da..87e543d7696e802dc59032111ac290396447a43e 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java
@@ -3,7 +3,7 @@ package at.tuwien.api.user;
 import at.tuwien.api.container.ContainerDto;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -18,63 +18,56 @@ import java.util.List;
 public class UserDto {
 
     @NotNull
-    @Parameter(name = "id")
     private Long id;
 
     @ToString.Exclude
-    @Parameter(name = "user authorities")
     private List<GrantedAuthorityDto> authorities;
 
     @NotNull
-    @Parameter(name = "user name")
+    @Schema(example = "jcarberry", description = "Only contains lowercase characters")
     private String username;
 
     @JsonProperty("titles_before")
-    @Parameter(name = "titles before the first name")
+    @Schema(example = "Prof.")
     private String titlesBefore;
 
     @JsonProperty("titles_after")
-    @Parameter(name = "titles after the last name")
     private String titlesAfter;
 
-    @Parameter(name = "first name")
+    @Schema(example = "Josiah")
     private String firstname;
 
-    @Parameter(name = "last name")
+    @Schema(example = "Carberry")
     private String lastname;
 
-    @Parameter(name = "affiliation")
+    @Schema(example = "Brown University")
     private String affiliation;
 
-    @Parameter(name = "orcid")
+    @Schema(example = "0000-0002-1825-0097")
     private String orcid;
 
     @NotNull
     @JsonProperty("theme_dark")
-    @Parameter(name = "theme dark")
+    @Schema(example = "true")
     private Boolean themeDark;
 
-    @Parameter(name = "list of containers")
     private List<ContainerDto> containers;
 
-    @Parameter(name = "list of databases")
     private List<ContainerDto> databases;
 
-    @Parameter(name = "list of identifiers")
     private List<ContainerDto> identifiers;
 
     @ToString.Exclude
     @JsonIgnore
-    @Parameter(name = "password hash")
     private String password;
 
     @NotNull
-    @Parameter(name = "mail address")
+    @Schema(example = "jcarberry@brown.edu")
     private String email;
 
     @NotNull
     @JsonProperty("email_verified")
-    @Parameter(name = "mail address verified")
+    @Schema(example = "true")
     private Boolean emailVerified;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
index e343de450cab9bdc985d779e83d2a18f162d592c..b0bda4ebfe63cf1f7f83eb2bc393a0f61aa96bb2 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.Email;
@@ -16,7 +16,7 @@ public class UserEmailDto {
 
     @NotNull
     @Email
-    @Parameter(name = "user email")
+    @Schema(example = "jcarberry@brown.edu")
     private String email;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
index 177b86beb1dd047861971dca64ec06409773c121..2a6bf21283bb51a0bff614990c5fadbc69d49711 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.Email;
@@ -13,11 +13,11 @@ import javax.validation.constraints.Email;
 @NoArgsConstructor
 public class UserForgotDto {
 
-    @Parameter(name = "user username")
+    @Schema(example = "jcarberry")
     private String username;
 
     @Email
-    @Parameter(name = "user email")
+    @Schema(example = "jcarberry@brown.edu")
     private String email;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
index 83a5c95f4c0d86aa6bac8b8f1e8943c677fb3c76..78d9c32846f9ee4c4c89a93871e9ea57c31a58e1 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,11 +14,10 @@ import javax.validation.constraints.NotNull;
 public class UserModifyPasswordDto {
 
     @NotNull
-    @Parameter(name = "user name")
+    @Schema(example = "jcarberry")
     private String username;
 
     @NotNull
-    @Parameter(name = "user password")
     private String password;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
index 795bf568156237a52e962a59cda4b1d37418fa6b..b5c70ad502f948babdd1a55e6c96cfafbb81899f 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
@@ -1,6 +1,5 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -14,7 +13,6 @@ import javax.validation.constraints.NotNull;
 public class UserPasswordDto {
 
     @NotNull
-    @Parameter(name = "user password")
     private String password;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java
index c910792e43cb2a78583f1b28cbb6add94d4c758e..938d38ae5d7f073362a167ec4ae82c4425efe497 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java
@@ -1,9 +1,7 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
-import javax.validation.constraints.Email;
 import javax.validation.constraints.NotNull;
 
 @Getter
@@ -15,11 +13,9 @@ import javax.validation.constraints.NotNull;
 public class UserResetDto {
 
     @NotNull
-    @Parameter(name = "user password")
     private String password;
 
     @NotNull
-    @Parameter(name = "token")
     private String token;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
index ee507531aca2483b1c73e412e395be77292a1527..e4955891b056dce592bbc5dccdc29d0e0b4602eb 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
@@ -1,6 +1,5 @@
 package at.tuwien.api.user;
 
-import io.swagger.v3.oas.annotations.Parameter;
 import lombok.*;
 
 import javax.validation.constraints.NotNull;
@@ -15,7 +14,6 @@ import java.util.List;
 public class UserRolesDto {
 
     @NotNull
-    @Parameter(name = "user roles")
     private List<String> roles;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
index e329522dcd5394a849daae10259ae7b135a180e7..ab700636b809a187e55b47253203f75cec8e02ef 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
@@ -1,10 +1,9 @@
 package at.tuwien.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 @Getter
@@ -17,6 +16,6 @@ public class UserThemeSetDto {
 
     @NotNull
     @JsonProperty("theme_dark")
-    @Parameter(name = "theme dark")
+    @Schema(example = "true")
     private Boolean themeDark;
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserTokenModifyDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserTokenModifyDto.java
deleted file mode 100644
index 6278811dca8c09c451b45a4916019407a2d7857c..0000000000000000000000000000000000000000
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserTokenModifyDto.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package at.tuwien.api.user;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
-import javax.validation.constraints.NotBlank;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class UserTokenModifyDto {
-
-    @NotBlank
-    @JsonProperty("invenio_token")
-    @Parameter(name = "invenio token")
-    private String invenioToken;
-
-}
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
index e7fb05063f277a21a62fd8bf0a4d11764c34d244..108b54902e491615244797583670bc28b767d62f 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
@@ -1,12 +1,9 @@
 package at.tuwien.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
 @Getter
 @Setter
 @ToString
@@ -16,25 +13,22 @@ import javax.validation.constraints.NotNull;
 public class UserUpdateDto {
 
     @JsonProperty("titles_before")
-    @Parameter(name = "titles before the first name")
+    @Schema(example = "Prof.")
     private String titlesBefore;
 
     @JsonProperty("titles_after")
-    @Parameter(name = "titles after the last name")
     private String titlesAfter;
 
-    @NotBlank
-    @Parameter(name = "first name")
+    @Schema(example = "Josiah")
     private String firstname;
 
-    @NotBlank
-    @Parameter(name = "last name")
+    @Schema(example = "Carberry")
     private String lastname;
 
-    @Parameter(name = "affiliation")
+    @Schema(example = "Brown University")
     private String affiliation;
 
-    @Parameter(name = "orcid")
+    @Schema(example = "0000-0002-1825-0097")
     private String orcid;
 
 }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc6b9e44f3fac682864afcabdd8719679f698b68
--- /dev/null
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
@@ -0,0 +1,20 @@
+package at.tuwien.api.user;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+@ToString
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserUpdatePermissionsDto {
+
+    @NotBlank
+    @Schema(example = "jcarberry")
+    private String username;
+
+}
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
index ed8e20acddbe5d9b7129c35840afddac493dd2d5..1041e8b89fa3c5c32e9eff984a631cc75fb7140c 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java
@@ -1,5 +1,6 @@
 package at.tuwien.entities.user;
 
+import at.tuwien.entities.container.Container;
 import lombok.*;
 import org.hibernate.annotations.ColumnDefault;
 import org.hibernate.annotations.GenericGenerator;
@@ -80,6 +81,11 @@ public class User {
     @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
     private List<Token> tokens;
 
+    @Transient
+    @ToString.Exclude
+    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "creator")
+    private List<Container> containers;
+
     @CreatedDate
     @Column(nullable = false, updatable = false)
     private Instant created;
diff --git a/fda-query-service/rest-service/src/main/resources/application-docker.yml b/fda-query-service/rest-service/src/main/resources/application-docker.yml
index 031d6cc3bf29d9b90311b237cb8b761e504b95c5..77c04460c15034f08b0d091a37f0da076f4420f3 100644
--- a/fda-query-service/rest-service/src/main/resources/application-docker.yml
+++ b/fda-query-service/rest-service/src/main/resources/application-docker.yml
@@ -30,7 +30,7 @@ logging:
   level:
     root: warn
     at.tuwien.: debug
-    at.tuwien.mapper.: trace
+    at.tuwien.mapper.: debug
     at.tuwien.service.: debug
     at.tuwien.config.: debug
     at.tuwien.auth.UserPermissionEvaluator: trace
diff --git a/fda-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/fda-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
index cdeca68350a72257f63a5a082253756551d4f5df..fee65a55bf898ae663385a0b05f573545c2e536e 100644
--- a/fda-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
+++ b/fda-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
@@ -65,7 +65,8 @@ public class TableEndpoint extends AbstractEndpoint {
     public ResponseEntity<TableBriefDto> create(@NotNull @PathVariable("id") Long containerId,
                                                 @NotNull @PathVariable("databaseId") Long databaseId,
                                                 @NotNull @Valid @RequestBody TableCreateDto createDto,
-                                                @NotNull Principal principal)
+                                                @NotNull Principal principal,
+                                                @NotNull @RequestHeader(name = "Authorization") String authorization)
             throws ImageNotSupportedException, DatabaseNotFoundException, TableMalformedException, AmqpException,
             TableNameExistsException, ContainerNotFoundException, UserNotFoundException, QueryMalformedException {
         if (!hasDatabasePermission(containerId, databaseId, "TABLE_CREATE", principal)) {
@@ -104,7 +105,7 @@ public class TableEndpoint extends AbstractEndpoint {
     public ResponseEntity<TableBriefDto> update(@NotNull @PathVariable("id") Long containerId,
                                                 @NotNull @PathVariable("databaseId") Long databaseId,
                                                 @NotNull @PathVariable("tableId") Long tableId,
-                                                Principal principal) {
+                                                @NotNull Principal principal) {
         if (!hasTablePermission(containerId, databaseId, tableId, "TABLE_UPDATE", principal)) {
             log.error("Missing table update permission");
             throw new NotAllowedException("Missing table update permission");
@@ -119,7 +120,8 @@ public class TableEndpoint extends AbstractEndpoint {
     public void delete(@NotNull @PathVariable("id") Long containerId,
                        @NotNull @PathVariable("databaseId") Long databaseId,
                        @NotNull @PathVariable("tableId") Long tableId,
-                       Principal principal)
+                       @NotNull Principal principal,
+                       @NotNull @RequestHeader(name = "Authorization") String authorization)
             throws TableNotFoundException, DatabaseNotFoundException, ImageNotSupportedException,
             DataProcessingException, ContainerNotFoundException, TableMalformedException, QueryMalformedException {
         if (!hasTablePermission(containerId, databaseId, tableId, "TABLE_DELETE", principal)) {
diff --git a/fda-table-service/services/src/main/java/at/tuwien/gateway/AuthenticationServiceGateway.java b/fda-table-service/services/src/main/java/at/tuwien/gateway/AuthenticationServiceGateway.java
index 9bb239ebc99a068f615499c6e8f68cf4d5e31659..fc47ce246da851244cf1630b15f493ded20249d8 100644
--- a/fda-table-service/services/src/main/java/at/tuwien/gateway/AuthenticationServiceGateway.java
+++ b/fda-table-service/services/src/main/java/at/tuwien/gateway/AuthenticationServiceGateway.java
@@ -11,5 +11,4 @@ public interface AuthenticationServiceGateway {
      * @return User details on success
      */
     UserDetails validate(String token);
-
 }
diff --git a/fda-table-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java b/fda-table-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
index 56d691a6c825b473029c8f1dcd320c949cdcf177..9b94b6b4f4d06c0981f776da5dbaa01fbcf970ca 100644
--- a/fda-table-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
+++ b/fda-table-service/services/src/main/java/at/tuwien/gateway/impl/AuthenticationServiceGatewayImpl.java
@@ -31,7 +31,7 @@ public class AuthenticationServiceGatewayImpl implements AuthenticationServiceGa
         final HttpHeaders headers = new HttpHeaders();
         headers.set("Authorization", "Bearer " + token);
         final ResponseEntity<UserDto> response = restTemplate.exchange("/api/auth", HttpMethod.PUT,
-                new HttpEntity<>("", headers), UserDto.class);
+                new HttpEntity<>(null, headers), UserDto.class);
         return userMapper.userDtoToUserDetailsDto(response.getBody());
     }