diff --git a/greg/api/serializers/person.py b/greg/api/serializers/person.py
index 5a408eaf5b2f7958e2d9d8e00858ee69cb5c83dd..720972d75296594cc6438df985d29276efe04638 100644
--- a/greg/api/serializers/person.py
+++ b/greg/api/serializers/person.py
@@ -1,24 +1,6 @@
 from rest_framework import serializers
 
-from greg.models import Person, PersonRole, Role, PersonIdentity
-
-
-class PersonSerializer(serializers.ModelSerializer):
-    class Meta:
-        model = Person
-        fields = [
-            "id",
-            "first_name",
-            "last_name",
-            "date_of_birth",
-            "email",
-            "mobile_phone",
-            "email_verified_date",
-            "mobile_phone",
-            "mobile_phone_verified_date",
-            "registration_completed_date",
-            "token",
-        ]
+from greg.models import Person, PersonRole, Role, PersonIdentity, PersonConsent, Consent
 
 
 class PersonRoleSerializer(serializers.ModelSerializer):
@@ -57,3 +39,46 @@ class PersonIdentitySerializer(serializers.ModelSerializer):
             .filter(value__like=value)
             .exists()
         )
+
+
+class ConsentSerializerBrief(serializers.ModelSerializer):
+    class Meta:
+        model = Consent
+        fields = [
+            "type",
+            "valid_from",
+            "user_allowed_to_change",
+        ]
+
+
+class PersonConsentSerializerBrief(serializers.ModelSerializer):
+    consent = ConsentSerializerBrief(read_only=True)
+
+    class Meta:
+        model = PersonConsent
+        fields = ["consent", "consent_given_at"]
+
+
+class PersonSerializer(serializers.ModelSerializer):
+    identities = PersonIdentitySerializer(many=True, read_only=True)
+    person_roles = PersonRoleSerializer(many=True, read_only=True)
+    person_consent = PersonConsentSerializerBrief(many=True, read_only=True)
+
+    class Meta:
+        model = Person
+        fields = [
+            "id",
+            "first_name",
+            "last_name",
+            "date_of_birth",
+            "email",
+            "mobile_phone",
+            "email_verified_date",
+            "mobile_phone",
+            "mobile_phone_verified_date",
+            "registration_completed_date",
+            "token",
+            "identities",
+            "person_roles",
+            "person_consent",
+        ]
diff --git a/greg/migrations/0002_auto_20210827_1437.py b/greg/migrations/0002_auto_20210827_1437.py
new file mode 100644
index 0000000000000000000000000000000000000000..db4be5644728b585677111dd9a127c568fd6df4e
--- /dev/null
+++ b/greg/migrations/0002_auto_20210827_1437.py
@@ -0,0 +1,24 @@
+# Generated by Django 3.2.5 on 2021-08-27 14:37
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('greg', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='personconsent',
+            name='consent',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='person_consent', to='greg.consent'),
+        ),
+        migrations.AlterField(
+            model_name='personconsent',
+            name='person',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='person_consent', to='greg.person'),
+        ),
+    ]
diff --git a/greg/models.py b/greg/models.py
index c614dc3ef52eecead28e1f624582462a258f3d84..2571bba1084c9198397ddd87a303321076cbd5bb 100644
--- a/greg/models.py
+++ b/greg/models.py
@@ -273,10 +273,10 @@ class PersonConsent(BaseModel):
     """
 
     person = models.ForeignKey(
-        "Person", on_delete=models.CASCADE, related_name="link_person_consent"
+        "Person", on_delete=models.CASCADE, related_name="person_consent"
     )
     consent = models.ForeignKey(
-        "Consent", on_delete=models.PROTECT, related_name="link_person_consent"
+        "Consent", on_delete=models.PROTECT, related_name="person_consent"
     )
     # If the date is blank it means the person has not given consent yet
     consent_given_at = models.DateField(null=True)