diff --git a/swh/model/model.py b/swh/model/model.py
index ff11f1cb2e72cd74dacd6cac54c8b30a131f1595..dd73bf99b6a8f52aca76cee43028f1ebf4e9d424 100644
--- a/swh/model/model.py
+++ b/swh/model/model.py
@@ -736,6 +736,8 @@ class MetadataAuthority(BaseModel):
     """Represents an entity that provides metadata about an origin or
     software artifact."""
 
+    object_type: Final = "metadata_authority"
+
     type = attr.ib(type=MetadataAuthorityType, validator=type_validator())
     url = attr.ib(type=str, validator=type_validator())
     metadata = attr.ib(
@@ -762,6 +764,8 @@ class MetadataFetcher(BaseModel):
     """Represents a software component used to fetch metadata from a metadata
     authority, and ingest them into the Software Heritage archive."""
 
+    object_type: Final = "metadata_fetcher"
+
     name = attr.ib(type=str, validator=type_validator())
     version = attr.ib(type=str, validator=type_validator())
     metadata = attr.ib(
@@ -791,6 +795,8 @@ class MetadataTargetType(Enum):
 
 @attr.s(frozen=True)
 class RawExtrinsicMetadata(BaseModel):
+    object_type: Final = "raw_extrinsic_metadata"
+
     # target object
     type = attr.ib(type=MetadataTargetType, validator=type_validator())
     id = attr.ib(type=Union[str, SWHID], validator=type_validator())