diff --git a/src/models/licenseSchema.ts b/src/models/licenseSchema.ts
new file mode 100644
index 0000000000000000000000000000000000000000..54d6f478deaa1ceb00cf3e8665e9aa939798f59e
--- /dev/null
+++ b/src/models/licenseSchema.ts
@@ -0,0 +1,7 @@
+import { z } from 'zod';
+
+export const licenseSchema = z.object({
+  id: z.number().int().positive(),
+  name: z.string(),
+  content: z.string(),
+});
diff --git a/src/models/projectSchema.ts b/src/models/projectSchema.ts
index ab00d3b824d4501f070c205e2756b54bb02fadf8..5bfb36349d73705bf5ea3a82536ed9154b2dc221 100644
--- a/src/models/projectSchema.ts
+++ b/src/models/projectSchema.ts
@@ -1,4 +1,5 @@
 import { z } from 'zod';
+import { licenseSchema } from '@/models/licenseSchema';
 import { disease } from './disease';
 import { organism } from './organism';
 import { overviewImageView } from './overviewImageView';
@@ -23,4 +24,7 @@ export const projectSchema = z.object({
   creationDate: z.string(),
   overviewImageViews: z.array(overviewImageView),
   topOverviewImage: overviewImageView.nullable(),
+  license: z.optional(licenseSchema),
+  customLicenseName: z.string().nullable(),
+  customLicenseUrl: z.string().nullable(),
 });