diff --git a/api/src/engine/models/category.model.ts b/api/src/engine/models/category.model.ts
index 877acc5c3c4f5cb3eaf19b05f71879950b69dd76..921ebfce8d518a66a484bf44d04cf330b8091915 100644
--- a/api/src/engine/models/category.model.ts
+++ b/api/src/engine/models/category.model.ts
@@ -1,10 +1,5 @@
-import { Field, ObjectType } from '@nestjs/graphql';
+import { ObjectType } from '@nestjs/graphql';
+import { Entity } from './entity.model';
 
 @ObjectType()
-export class Category {
-  @Field()
-  id: string;
-
-  @Field()
-  label: string;
-}
+export class Category extends Entity {}
diff --git a/api/src/engine/models/entity.model.ts b/api/src/engine/models/entity.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..70fc95022847f7e5f52916b3fefb6cc8b5a700a1
--- /dev/null
+++ b/api/src/engine/models/entity.model.ts
@@ -0,0 +1,10 @@
+import { Field, ObjectType } from '@nestjs/graphql';
+
+@ObjectType()
+export class Entity {
+  @Field()
+  id: string;
+
+  @Field({ nullable: true })
+  label: string;
+}
diff --git a/api/src/engine/models/group.model.ts b/api/src/engine/models/group.model.ts
index d4b45f741c1a9b4b089e8187a136154bd3b695d7..c2087ba2c6023a4a3d7f17110e3e739709d08a90 100644
--- a/api/src/engine/models/group.model.ts
+++ b/api/src/engine/models/group.model.ts
@@ -1,14 +1,9 @@
 import { Field, ObjectType } from '@nestjs/graphql';
+import { Entity } from './entity.model';
 import { Variable } from './variable.model';
 
 @ObjectType()
-export class Group {
-  @Field()
-  id: string;
-
-  @Field()
-  label: string;
-
+export class Group extends Entity {
   @Field({ nullable: true })
   description?: string;
 
diff --git a/api/src/engine/models/variable.model.ts b/api/src/engine/models/variable.model.ts
index 058feaf0be1e6a94b35c9f9d4ea98ac529ab0e83..e3c4098e31fccbcc4bd223c82ea55225559edaaf 100644
--- a/api/src/engine/models/variable.model.ts
+++ b/api/src/engine/models/variable.model.ts
@@ -1,15 +1,10 @@
 import { Field, ObjectType } from '@nestjs/graphql';
 import { Category } from './category.model';
+import { Entity } from './entity.model';
 import { Group } from './group.model';
 
 @ObjectType()
-export class Variable {
-  @Field()
-  id: string;
-
-  @Field({ nullable: true })
-  label?: string;
-
+export class Variable extends Entity {
   @Field()
   type: string;