diff --git a/arkindex/process/serializers/worker_runs.py b/arkindex/process/serializers/worker_runs.py
index 3ffb1fcc3b3052e8d2b273362ee1a05d19dcbc3a..28dff3bfc11507a3a9646ed252b524292f2aba9c 100644
--- a/arkindex/process/serializers/worker_runs.py
+++ b/arkindex/process/serializers/worker_runs.py
@@ -100,6 +100,15 @@ class WorkerRunSerializer(WorkerACLMixin, serializers.ModelSerializer):
             'configuration',
             'model_version_id',
             'model_version',
+            'summary',
+        )
+        read_only_fields = (
+            'id',
+            'process',
+            'worker_version',
+            'configuration',
+            'model_version',
+            'summary',
         )
 
     def validate(self, data):
diff --git a/arkindex/process/tests/test_workerruns.py b/arkindex/process/tests/test_workerruns.py
index f80d59f57c3cc9b5b1510df1a4952e8c90151b59..16a6a867f9d97e24abd99d33e4ee5d869f8779c0 100644
--- a/arkindex/process/tests/test_workerruns.py
+++ b/arkindex/process/tests/test_workerruns.py
@@ -117,6 +117,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                 'use_cache': False,
                 'validation_folder_id': None
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         }])
 
     def test_list_filter_process(self):
@@ -362,6 +363,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                         'use_cache': False,
                         'validation_folder_id': None,
                     },
+                    'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
                 })
                 run = WorkerRun.objects.get(pk=pk)
                 # Check generated summary, this supposes that self.version_1.revision does not have any git refs
@@ -461,6 +463,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                 'use_cache': False,
                 'validation_folder_id': None,
             },
+            'summary': f"Worker Recognizer @ {str(self.version_1.id)[:6]} using configuration 'My config'",
         })
         run = WorkerRun.objects.get(pk=pk)
         # Check generated summary, this supposes that self.version_1.revision does not have any git refs
@@ -562,6 +565,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                 'use_cache': False,
                 'validation_folder_id': None,
             },
+            'summary': 'Worker Recognizer @ main, develop, trunk, master, patate, pouet',
         })
         run = WorkerRun.objects.get(pk=pk)
         # Check generated summary
@@ -628,6 +632,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
 
     def test_retrieve_invalid_id(self):
@@ -689,6 +694,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
 
     @override_settings(PUBLIC_HOSTNAME='https://arkindex.localhost')
@@ -829,6 +835,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                 'use_cache': False,
                 'validation_folder_id': None,
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
 
     def test_retrieve_local_only_current_user(self):
@@ -1060,6 +1067,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
         self.run_1.refresh_from_db()
         self.assertEqual(self.run_1.process.id, self.process_1.id)
@@ -1123,6 +1131,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
         self.run_1.refresh_from_db()
         self.assertNotEqual(self.run_1.version_id, self.version_2.id)
@@ -1131,7 +1140,7 @@ class TestWorkerRuns(FixtureAPITestCase):
         self.client.force_login(self.user)
         self.assertEqual(self.run_1.configuration, None)
         # Check generated summary, before updating, it should not be that verbose
-        self.assertEqual(self.run_1.summary, f"Worker {self.run_1.version.worker.name} @ {str(self.run_1.version.id)[:6]}")
+        self.assertEqual(self.run_1.summary, f"Worker Recognizer @ {str(self.run_1.version.id)[:6]}")
 
         with self.assertNumQueries(12):
             response = self.client.put(
@@ -1194,6 +1203,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f"Worker Recognizer @ {str(self.version_1.id)[:6]} using configuration 'My config'",
         })
         self.assertEqual(self.run_1.configuration.id, self.configuration_1.id)
         # Check generated summary, after the update, the configuration should be displayed as well
@@ -1479,6 +1489,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(version_with_model.id)[:6]} with model My model @ {str(self.model_version_1.id)[:6]}',
         })
         self.assertEqual(run.model_version_id, self.model_version_1.id)
         # Check generated summary, after updating, there should be information about the model loaded
@@ -1580,6 +1591,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f"Worker Recognizer @ {str(version_with_model.id)[:6]} with model My model @ {str(self.model_version_1.id)[:6]} using configuration 'My config'",
         })
         self.assertEqual(run.model_version_id, self.model_version_1.id)
         # Check generated summary, after updating, there should be information about the model loaded
@@ -1656,6 +1668,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
 
     def test_update_unique(self):
@@ -1869,6 +1882,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
         self.run_1.refresh_from_db()
         self.assertEqual(self.run_1.process.id, self.process_1.id)
@@ -1932,6 +1946,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
         self.run_1.refresh_from_db()
         self.assertNotEqual(self.run_1.version_id, self.version_2.id)
@@ -2000,6 +2015,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f"Worker Recognizer @ {str(self.version_1.id)[:6]} using configuration 'My config'",
         })
         self.assertEqual(self.run_1.configuration.id, self.configuration_1.id)
         self.assertEqual(self.run_1.summary, f"Worker {self.run_1.version.worker.name} @ {str(self.run_1.version.id)[:6]} using configuration '{self.configuration_1.name}'")
@@ -2206,7 +2222,7 @@ class TestWorkerRuns(FixtureAPITestCase):
             parents=[],
         )
         self.assertIsNone(run.model_version_id)
-        self.assertEqual(run.summary, f"Worker {version_with_model.worker.name} @ {str(version_with_model.id)[:6]}")
+        self.assertEqual(run.summary, f"Worker Recognizer @ {str(version_with_model.id)[:6]}")
 
         with self.assertNumQueries(14):
             response = self.client.patch(
@@ -2272,6 +2288,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(version_with_model.id)[:6]} with model My model @ {str(self.model_version_1.id)[:6]}',
         })
         self.assertEqual(run.model_version_id, self.model_version_1.id)
         self.assertEqual(run.summary, f"Worker {version_with_model.worker.name} @ {str(version_with_model.id)[:6]} with model {self.model_version_1.model.name} @ {str(self.model_version_1.id)[:6]}")
@@ -2369,6 +2386,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f"Worker Recognizer @ {str(version_with_model.id)[:6]} with model My model @ {str(self.model_version_1.id)[:6]} using configuration 'My config'",
         })
         self.assertEqual(run.model_version_id, self.model_version_1.id)
         self.assertEqual(run.configuration_id, self.configuration_1.id)
@@ -2444,6 +2462,7 @@ class TestWorkerRuns(FixtureAPITestCase):
                     'type': 'recognizer'
                 }
             },
+            'summary': f'Worker Recognizer @ {str(self.version_1.id)[:6]}',
         })
 
     def test_partial_update_unique(self):