diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
index 9d094636871762ec8c75f25b3f937e40cd11f3f5..e6d242c28658c7f11badb41cc3debea25b46e114 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
@@ -2,9 +2,7 @@ package at.tuwien.api.database;
 
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import at.tuwien.api.database.table.columns.concepts.ConceptBriefDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
 import at.tuwien.api.database.table.columns.concepts.UnitBriefDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -31,7 +29,7 @@ public class ViewColumnDto {
 
     @NotNull
     @Schema(example = "0")
-    @JsonProperty("ordinal_position")
+        @JsonProperty("ordinal_position")
     private Integer ordinalPosition;
 
     @NotBlank
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
index 8ce71a5a6eef0fb17831eafb16a5aa80dbc6c594..2f31d17ed28000a86c0c86cee7092e4e1bac4123 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
@@ -2,12 +2,10 @@ package at.tuwien.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
 
 @Data
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
index de2500c9add65aad281102e92afdbd5da5cd24e7..f3ef2a96bcf8aead49fca2b5ade722eb936cb72d 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
@@ -40,18 +40,15 @@ import java.util.List;
 public class DatabaseEndpoint {
 
     private final UserService userService;
-    private final AccessService accessService;
     private final MetadataMapper databaseMapper;
     private final StorageService storageService;
     private final DatabaseService databaseService;
     private final ContainerService containerService;
 
     @Autowired
-    public DatabaseEndpoint(UserService userService, AccessService accessService, MetadataMapper databaseMapper,
-                            StorageService storageService, DatabaseService databaseService,
-                            ContainerService containerService) {
+    public DatabaseEndpoint(UserService userService, MetadataMapper databaseMapper, StorageService storageService,
+                            DatabaseService databaseService, ContainerService containerService) {
         this.userService = userService;
-        this.accessService = accessService;
         this.databaseMapper = databaseMapper;
         this.storageService = storageService;
         this.databaseService = databaseService;
@@ -440,6 +437,29 @@ public class DatabaseEndpoint {
                 .body(dto);
     }
 
+    @GetMapping("/{databaseId}/image")
+    @Transactional
+    @Observed(name = "dbrepo_database_image")
+    @Operation(summary = "Get database preview image",
+            description = "Get the database preview image",
+            security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
+    @ApiResponses(value = {
+            @ApiResponse(responseCode = "200",
+                    description = "Get the image was successful"),
+            @ApiResponse(responseCode = "404",
+                    description = "Database could not be found",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+    })
+    public ResponseEntity<byte[]> getImage(@NotNull @PathVariable("databaseId") Long databaseId)
+            throws DatabaseNotFoundException {
+        log.debug("endpoint get database image, databaseId={}", databaseId);
+        final Database database = databaseService.findById(databaseId);
+        return ResponseEntity.ok()
+                .body(database.getImage());
+    }
+
     @GetMapping("/{databaseId}")
     @Transactional(readOnly = true)
     @Observed(name = "dbrepo_database_find")
diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py
index 4de986e87080d207dbd68f8293f31be4004753d6..2369141958150322857ffab6d0be1f42602fb1fe 100644
--- a/lib/python/dbrepo/api/dto.py
+++ b/lib/python/dbrepo/api/dto.py
@@ -4,7 +4,7 @@ from dataclasses import field
 from enum import Enum
 import datetime
 from typing import List, Optional, Any, Annotated
-from pydantic import BaseModel, ConfigDict, PlainSerializer, Field
+from pydantic import BaseModel, PlainSerializer, Field
 
 Timestamp = Annotated[
     datetime.datetime, PlainSerializer(lambda v: v.strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z', return_type=str)
@@ -392,7 +392,7 @@ class Language(str, Enum):
 
 class DatabaseAccess(BaseModel):
     type: AccessType
-    user: User
+    user: UserBrief
     created: Timestamp
 
 
@@ -519,7 +519,7 @@ class CreateTableConstraints(BaseModel):
     foreign_keys: List[CreateForeignKey] = field(default_factory=list)
 
 
-class IdentifierCreator(BaseModel):
+class Creator(BaseModel):
     id: int
     creator_name: str
     firstname: Optional[str] = None
@@ -593,12 +593,11 @@ class Identifier(BaseModel):
     creator: UserBrief
     status: IdentifierStatusType
     created: Timestamp
-    last_modified: Timestamp
     publication_year: int
     publisher: str
-    creators: List[IdentifierCreator]
-    titles: List[IdentifierTitle]
-    descriptions: List[IdentifierDescription]
+    creators: List[Creator]
+    titles: List[IdentifierTitle] = field(default_factory=list)
+    descriptions: List[IdentifierDescription] = field(default_factory=list)
     funders: Optional[List[IdentifierFunder]] = field(default_factory=list)
     doi: Optional[str] = None
     language: Optional[str] = None
@@ -616,6 +615,20 @@ class Identifier(BaseModel):
     publication_month: Optional[int] = None
 
 
+class IdentifierBrief(BaseModel):
+    id: int
+    database_id: int
+    type: IdentifierType
+    status: IdentifierStatusType
+    publication_year: int
+    publisher: str
+    titles: List[IdentifierTitle]
+    doi: Optional[str] = None
+    query_id: Optional[int] = None
+    table_id: Optional[int] = None
+    view_id: Optional[int] = None
+
+
 class View(BaseModel):
     id: int
     database_id: int
@@ -624,12 +637,13 @@ class View(BaseModel):
     query_hash: str
     created: Timestamp
     creator: User
+    database: DatabaseBrief
     internal_name: str
     is_public: bool
     initial_view: bool
     last_modified: Timestamp
     columns: List[ViewColumn]
-    identifiers: List[Identifier] = field(default_factory=list)
+    identifiers: List[IdentifierBrief] = field(default_factory=list)
 
 
 class CreateView(BaseModel):
@@ -648,15 +662,13 @@ class ViewBrief(BaseModel):
     id: int
     database_id: int
     name: str
-    identifier: List[Identifier]
     query: str
     query_hash: str
     created: Timestamp
-    creator: User
     internal_name: str
     is_public: bool
-    initial_view: bool
-    last_modified: Timestamp
+    initial_view: Optional[bool] = None
+    identifiers: List[IdentifierBrief] = field(default_factory=list)
 
 
 class Concept(BaseModel):
@@ -667,6 +679,13 @@ class Concept(BaseModel):
     description: Optional[str] = None
 
 
+class ConceptBrief(BaseModel):
+    id: int
+    uri: str
+    name: Optional[str] = None
+    description: Optional[str] = None
+
+
 class DatatypeAnalysis(BaseModel):
     separator: str
     columns: dict[str, ColumnType]
@@ -703,6 +722,13 @@ class Unit(BaseModel):
     description: Optional[str] = None
 
 
+class UnitBrief(BaseModel):
+    id: int
+    uri: str
+    name: Optional[str] = None
+    description: Optional[str] = None
+
+
 class ExecuteQuery(BaseModel):
     statement: str
 
@@ -874,8 +900,8 @@ class DataType(BaseModel):
     display_name: str
     value: str
     documentation: str
-    is_quoted:  bool
-    is_buildable:  bool
+    is_quoted: bool
+    is_buildable: bool
     size_min: Optional[int] = None
     size_max: Optional[int] = None
     size_default: Optional[int] = None
@@ -884,8 +910,8 @@ class DataType(BaseModel):
     d_max: Optional[int] = None
     d_default: Optional[int] = None
     d_required: Optional[bool] = None
-    data_hint:  Optional[str] = None
-    type_hint:  Optional[str] = None
+    data_hint: Optional[str] = None
+    type_hint: Optional[str] = None
 
 
 class Column(BaseModel):
@@ -919,20 +945,25 @@ class Column(BaseModel):
 
 class ViewColumn(BaseModel):
     id: int
-    name: str
     database_id: int
+    ordinal_position: int
+    name: str
     internal_name: str
+    auto_generated: bool
     column_type: ColumnType
     is_public: bool
     is_null_allowed: bool
+    size: int
+    d: int
     alias: Optional[str] = None
     size: Optional[int] = None
     d: Optional[int] = None
     mean: Optional[float] = None
     median: Optional[float] = None
-    concept: Optional[Concept] = None
-    unit: Optional[Unit] = None
+    concept: Optional[ConceptBrief] = None
+    unit: Optional[UnitBrief] = None
     index_length: Optional[int] = None
+    description: Optional[str] = None
     length: Optional[int] = None
 
 
@@ -940,18 +971,16 @@ class Table(BaseModel):
     id: int
     database_id: int
     name: str
-    creator: User
-    owner: User
+    creator: UserBrief
     created: Timestamp
     columns: List[Column]
     constraints: Constraints
     internal_name: str
     is_versioned: bool
-    created_by: str
     queue_name: str
     routing_key: str
     is_public: bool
-    identifiers: Optional[List[Identifier]] = field(default_factory=list)
+    identifiers: Optional[List[IdentifierBrief]] = field(default_factory=list)
     description: Optional[str] = None
     queue_type: Optional[str] = None
     num_rows: Optional[int] = None
@@ -974,19 +1003,20 @@ class ColumnMinimal(BaseModel):
 class Database(BaseModel):
     id: int
     name: str
-    creator: User
-    owner: User
-    contact: User
+    creator: UserBrief
+    owner: UserBrief
+    contact: UserBrief
     created: Timestamp
     exchange_name: str
     internal_name: str
     is_public: bool
     container: Container
-    identifiers: Optional[List[Identifier]] = field(default_factory=list)
-    subsets: Optional[List[Identifier]] = field(default_factory=list)
+    identifiers: Optional[List[IdentifierBrief]] = field(default_factory=list)
+    subsets: Optional[List[IdentifierBrief]] = field(default_factory=list)
     description: Optional[str] = None
-    tables: Optional[List[Table]] = field(default_factory=list)
-    views: Optional[List[View]] = field(default_factory=list)
+    tables: Optional[List[TableBrief]] = field(default_factory=list)
+    views: Optional[List[ViewBrief]] = field(default_factory=list)
+    container: Optional[ContainerBrief] = None
     image: Optional[str] = None
     accesses: Optional[List[DatabaseAccess]] = field(default_factory=list)
     exchange_type: Optional[str] = None
@@ -998,7 +1028,7 @@ class DatabaseBrief(BaseModel):
     internal_name: str
     description: Optional[str] = None
     is_public: bool
-    identifiers: Optional[List[Identifier]] = field(default_factory=list)
+    identifiers: Optional[List[IdentifierBrief]] = field(default_factory=list)
     contact: UserBrief
     owner: UserBrief
     created: Timestamp
diff --git a/lib/python/tests/test_unit_analyse.py b/lib/python/tests/test_unit_analyse.py
index a26d7aa8441fd716640ca1d71c65a26f45f154ff..645a86fc14db9d0208783308ff1ee8ef3a570c22 100644
--- a/lib/python/tests/test_unit_analyse.py
+++ b/lib/python/tests/test_unit_analyse.py
@@ -1,9 +1,8 @@
 import unittest
+
 import requests_mock
-import dataclasses
 
 from dbrepo.RestClient import RestClient
-
 from dbrepo.api.dto import KeyAnalysis
 
 
diff --git a/lib/python/tests/test_unit_container.py b/lib/python/tests/test_unit_container.py
index 0e1d93faa0e9b1c598afcede5ad71c7e08ef9767..0813180f382619c1daa7ba0866bbf35e1b4bb9de 100644
--- a/lib/python/tests/test_unit_container.py
+++ b/lib/python/tests/test_unit_container.py
@@ -1,7 +1,7 @@
+import datetime
 import unittest
 
 import requests_mock
-import datetime
 
 from dbrepo.RestClient import RestClient
 from dbrepo.api.dto import Container, Image, ContainerBrief, ImageBrief, DataType
diff --git a/lib/python/tests/test_unit_database.py b/lib/python/tests/test_unit_database.py
index f72c80c93c0497eb0d2d6f68e2ab8029cccb2aec..e8d54e2692530e60c2277a2f73326e4a000d4432 100644
--- a/lib/python/tests/test_unit_database.py
+++ b/lib/python/tests/test_unit_database.py
@@ -1,13 +1,12 @@
+import datetime
 import unittest
 
 import requests_mock
-import datetime
-
 from pydantic_core import ValidationError
 
 from dbrepo.RestClient import RestClient
 from dbrepo.api.dto import Database, User, Container, Image, UserAttributes, DatabaseAccess, AccessType, DatabaseBrief, \
-    UserBrief, DataType
+    UserBrief, DataType, ContainerBrief, ImageBrief
 from dbrepo.api.exceptions import ResponseCodeError, NotExistsError, ForbiddenError, MalformedError, AuthenticationError
 
 
@@ -43,17 +42,14 @@ class DatabaseUnitTest(unittest.TestCase):
         exp = Database(
             id=1,
             name='test',
-            creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
-            owner=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                       attributes=UserAttributes(theme='light')),
-            contact=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
+            creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
             created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
             exchange_name='dbrepo',
             internal_name='test_abcd',
             is_public=True,
-            container=Container(
+            container=ContainerBrief(
                 id=1,
                 name='MariaDB Galera 11.1.3',
                 internal_name='mariadb',
@@ -62,7 +58,7 @@ class DatabaseUnitTest(unittest.TestCase):
                 sidecar_host='data-db-sidecar',
                 sidecar_port=3305,
                 created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                image=Image(
+                image=ImageBrief(
                     id=1,
                     registry='docker.io',
                     name='mariadb',
@@ -115,17 +111,14 @@ class DatabaseUnitTest(unittest.TestCase):
         exp = Database(
             id=1,
             name='test',
-            creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
-            owner=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                       attributes=UserAttributes(theme='light')),
-            contact=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
+            creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
             created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
             exchange_name='dbrepo',
             internal_name='test_abcd',
             is_public=True,
-            container=Container(
+            container=ContainerBrief(
                 id=1,
                 name='MariaDB Galera 11.1.3',
                 internal_name='mariadb',
@@ -134,7 +127,7 @@ class DatabaseUnitTest(unittest.TestCase):
                 sidecar_host='data-db-sidecar',
                 sidecar_port=3305,
                 created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                image=Image(
+                image=ImageBrief(
                     id=1,
                     registry='docker.io',
                     name='mariadb',
@@ -190,17 +183,14 @@ class DatabaseUnitTest(unittest.TestCase):
         exp = Database(
             id=1,
             name='test',
-            creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
-            owner=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                       attributes=UserAttributes(theme='light')),
-            contact=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
+            creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
             created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
             exchange_name='dbrepo',
             internal_name='test_abcd',
             is_public=True,
-            container=Container(
+            container=ContainerBrief(
                 id=1,
                 name='MariaDB Galera 11.1.3',
                 internal_name='mariadb',
@@ -209,7 +199,7 @@ class DatabaseUnitTest(unittest.TestCase):
                 sidecar_host='data-db-sidecar',
                 sidecar_port=3305,
                 created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                image=Image(
+                image=ImageBrief(
                     id=1,
                     registry='docker.io',
                     name='mariadb',
@@ -265,17 +255,14 @@ class DatabaseUnitTest(unittest.TestCase):
         exp = Database(
             id=1,
             name='test',
-            creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
-            owner=User(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other',
-                       attributes=UserAttributes(theme='light')),
-            contact=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                         attributes=UserAttributes(theme='light')),
+            creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+            owner=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other'),
+            contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
             created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
             exchange_name='dbrepo',
             internal_name='test_abcd',
             is_public=True,
-            container=Container(
+            container=ContainerBrief(
                 id=1,
                 name='MariaDB Galera 11.1.3',
                 internal_name='mariadb',
@@ -284,7 +271,7 @@ class DatabaseUnitTest(unittest.TestCase):
                 sidecar_host='data-db-sidecar',
                 sidecar_port=3305,
                 created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                image=Image(
+                image=ImageBrief(
                     id=1,
                     registry='docker.io',
                     name='mariadb',
@@ -342,8 +329,7 @@ class DatabaseUnitTest(unittest.TestCase):
     def test_get_database_access_succeeds(self):
         exp = DatabaseAccess(type=AccessType.READ,
                              created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                             user=User(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other',
-                                       attributes=UserAttributes(theme='light')))
+                             user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other'))
         with requests_mock.Mocker() as mock:
             # mock
             mock.get('/api/database/1/access', json=exp.model_dump())
@@ -374,8 +360,7 @@ class DatabaseUnitTest(unittest.TestCase):
     def test_create_database_access_succeeds(self):
         exp = DatabaseAccess(type=AccessType.READ,
                              created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                             user=User(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other',
-                                       attributes=UserAttributes(theme='light')))
+                             user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other'))
         with requests_mock.Mocker() as mock:
             # mock
             mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', json=exp.model_dump(),
@@ -436,8 +421,7 @@ class DatabaseUnitTest(unittest.TestCase):
     def test_update_database_access_succeeds(self):
         exp = DatabaseAccess(type=AccessType.READ,
                              created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
-                             user=User(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other',
-                                       attributes=UserAttributes(theme='light')))
+                             user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other'))
         with requests_mock.Mocker() as mock:
             # mock
             mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', json=exp.model_dump(),
diff --git a/lib/python/tests/test_unit_identifier.py b/lib/python/tests/test_unit_identifier.py
index 2832f0e799afa66558f7aaf83f38252b81f484e3..ae8b3fd58f24501b120feee6a0425ca99d9f56ed 100644
--- a/lib/python/tests/test_unit_identifier.py
+++ b/lib/python/tests/test_unit_identifier.py
@@ -1,12 +1,11 @@
+import datetime
 import unittest
 
 import requests_mock
-import datetime
 
 from dbrepo.RestClient import RestClient
-
 from dbrepo.api.dto import Identifier, IdentifierType, CreateIdentifierTitle, CreateIdentifierCreator, \
-    IdentifierCreator, IdentifierTitle, IdentifierDescription, CreateIdentifierDescription, Language, \
+    Creator, IdentifierTitle, IdentifierDescription, CreateIdentifierDescription, Language, \
     CreateIdentifierFunder, CreateRelatedIdentifier, RelatedIdentifierRelation, RelatedIdentifierType, IdentifierFunder, \
     RelatedIdentifier, UserBrief, IdentifierStatusType
 from dbrepo.api.exceptions import MalformedError, ForbiddenError, NotExistsError, AuthenticationError
@@ -31,7 +30,7 @@ class IdentifierUnitTest(unittest.TestCase):
                              related_identifiers=[
                                  RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES,
                                                    type=RelatedIdentifierType.DOI)],
-                             creators=[IdentifierCreator(id=5, creator_name='Carberry, Josiah')],
+                             creators=[Creator(id=5, creator_name='Carberry, Josiah')],
                              status=IdentifierStatusType.PUBLISHED,
                              creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'))
             # mock
@@ -131,7 +130,7 @@ class IdentifierUnitTest(unittest.TestCase):
                               related_identifiers=[RelatedIdentifier(id=7, value='10.12345/abc',
                                                                      relation=RelatedIdentifierRelation.CITES,
                                                                      type=RelatedIdentifierType.DOI)],
-                              creators=[IdentifierCreator(id=5, creator_name='Carberry, Josiah')],
+                              creators=[Creator(id=5, creator_name='Carberry, Josiah')],
                               status=IdentifierStatusType.PUBLISHED,
                               creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'))]
             # mock
diff --git a/lib/python/tests/test_unit_license.py b/lib/python/tests/test_unit_license.py
index 2efb613c42f66dbac6908cfbc75e1054a16c1268..0eadc2a7d2547ebcc46e9a3af4a3ac5fb07df7f2 100644
--- a/lib/python/tests/test_unit_license.py
+++ b/lib/python/tests/test_unit_license.py
@@ -3,7 +3,6 @@ import unittest
 import requests_mock
 
 from dbrepo.RestClient import RestClient
-
 from dbrepo.api.dto import License
 
 
diff --git a/lib/python/tests/test_unit_query.py b/lib/python/tests/test_unit_query.py
index e1b326fa576b86519e6c059abd73f66dacbda2e5..286f2cd7855fe7826a78ee1c8829e0fe9bac8176 100644
--- a/lib/python/tests/test_unit_query.py
+++ b/lib/python/tests/test_unit_query.py
@@ -1,14 +1,12 @@
+import datetime
 import unittest
 
 import requests_mock
-import datetime
-
-from dbrepo.RestClient import RestClient
 from pandas import DataFrame
 
+from dbrepo.RestClient import RestClient
 from dbrepo.api.dto import Result, Query, User, UserAttributes, QueryType
-from dbrepo.api.exceptions import MalformedError, NotExistsError, ForbiddenError, QueryStoreError, \
-    MetadataConsistencyError, AuthenticationError
+from dbrepo.api.exceptions import MalformedError, NotExistsError, ForbiddenError
 
 
 class QueryUnitTest(unittest.TestCase):
diff --git a/lib/python/tests/test_unit_table.py b/lib/python/tests/test_unit_table.py
index 0be3a4a9fbaa47c129e7a937230d348e37a8eb17..ef2f9ce1633bc05942a70faf23c772f20df93bce 100644
--- a/lib/python/tests/test_unit_table.py
+++ b/lib/python/tests/test_unit_table.py
@@ -1,5 +1,4 @@
 import unittest
-from json import dumps
 
 import requests_mock
 import datetime
@@ -21,10 +20,8 @@ class TableUnitTest(unittest.TestCase):
                     description="Test Table",
                     database_id=1,
                     internal_name="test",
-                    creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                                 attributes=UserAttributes(theme='light')),
-                    owner=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                               attributes=UserAttributes(theme='light')),
+                    creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+                    owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
                     created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                     is_versioned=True,
                     created_by='8638c043-5145-4be8-a3e4-4b79991b0a16',
@@ -147,10 +144,8 @@ class TableUnitTest(unittest.TestCase):
                         description="Test Table",
                         database_id=1,
                         internal_name="test",
-                        creator=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                                     attributes=UserAttributes(theme='light')),
-                        owner=User(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise',
-                                   attributes=UserAttributes(theme='light')),
+                        creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
+                        owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'),
                         created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                         is_versioned=True,
                         created_by='8638c043-5145-4be8-a3e4-4b79991b0a16',
diff --git a/lib/python/tests/test_unit_view.py b/lib/python/tests/test_unit_view.py
index 19a88be85a10dceef0eb8129dd65be733e3025e3..7c5e1c03056c33cf6f82d2e1058b748efbc0f2d1 100644
--- a/lib/python/tests/test_unit_view.py
+++ b/lib/python/tests/test_unit_view.py
@@ -1,13 +1,11 @@
+import datetime
 import unittest
-from json import dumps
 
 import requests_mock
-import datetime
-
-from dbrepo.RestClient import RestClient
 from pandas import DataFrame
 
-from dbrepo.api.dto import UserAttributes, User, View, Result, ViewColumn, ColumnType
+from dbrepo.RestClient import RestClient
+from dbrepo.api.dto import UserAttributes, User, View, Result, ViewColumn, ColumnType, DatabaseBrief, UserBrief
 from dbrepo.api.exceptions import ForbiddenError, NotExistsError, MalformedError, AuthenticationError
 
 
@@ -27,6 +25,16 @@ class ViewUnitTest(unittest.TestCase):
                         name="Data",
                         internal_name="data",
                         database_id=1,
+                        database=DatabaseBrief(id=1, name='test',
+                                               internal_name='test',
+                                               is_public=True,
+                                               created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
+                                               creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                 username='mweise'),
+                                               owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                               username='mweise'),
+                                               contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                 username='mweise')),
                         initial_view=False,
                         query="SELECT id FROM mytable WHERE deg > 0",
                         query_hash="94c74728b11a690e51d64719868824735f0817b7",
@@ -34,7 +42,8 @@ class ViewUnitTest(unittest.TestCase):
                                      attributes=UserAttributes(theme='light')),
                         is_public=True,
                         columns=[ViewColumn(id=1, name="id", internal_name="id", database_id=1, auto_generated=False,
-                                            column_type=ColumnType.BIGINT, is_public=True, is_null_allowed=False)],
+                                            ordinal_position=0, column_type=ColumnType.BIGINT, is_public=True,
+                                            is_null_allowed=False)],
                         created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                         last_modified=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                         identifiers=[])]
@@ -60,6 +69,16 @@ class ViewUnitTest(unittest.TestCase):
                        name="Data",
                        internal_name="data",
                        database_id=1,
+                       database=DatabaseBrief(id=1, name='test',
+                                              internal_name='test',
+                                              is_public=True,
+                                              created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
+                                              creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                username='mweise'),
+                                              owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                              username='mweise'),
+                                              contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                username='mweise')),
                        initial_view=False,
                        query="SELECT id FROM mytable WHERE deg > 0",
                        query_hash="94c74728b11a690e51d64719868824735f0817b7",
@@ -67,7 +86,8 @@ class ViewUnitTest(unittest.TestCase):
                                     attributes=UserAttributes(theme='light')),
                        is_public=True,
                        columns=[ViewColumn(id=1, name="id", internal_name="id", database_id=1, auto_generated=False,
-                                           column_type=ColumnType.BIGINT, is_public=True, is_null_allowed=False)],
+                                           ordinal_position=0, column_type=ColumnType.BIGINT, is_public=True,
+                                           is_null_allowed=False)],
                        created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                        last_modified=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                        identifiers=[])
@@ -103,6 +123,16 @@ class ViewUnitTest(unittest.TestCase):
                        name="Data",
                        internal_name="data",
                        database_id=1,
+                       database=DatabaseBrief(id=1, name='test',
+                                              internal_name='test',
+                                              is_public=True,
+                                              created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
+                                              creator=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                username='mweise'),
+                                              owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                              username='mweise'),
+                                              contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16',
+                                                                username='mweise')),
                        initial_view=False,
                        query="SELECT id FROM mytable WHERE deg > 0",
                        query_hash="94c74728b11a690e51d64719868824735f0817b7",
@@ -110,7 +140,8 @@ class ViewUnitTest(unittest.TestCase):
                                     attributes=UserAttributes(theme='light')),
                        is_public=True,
                        columns=[ViewColumn(id=1, name="id", internal_name="id", database_id=1, auto_generated=False,
-                                           column_type=ColumnType.BIGINT, is_public=True, is_null_allowed=False)],
+                                           ordinal_position=0, column_type=ColumnType.BIGINT, is_public=True,
+                                           is_null_allowed=False)],
                        created=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                        last_modified=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc),
                        identifiers=[])