diff --git a/api/sessions.py b/api/sessions.py
index 4a04b5c6df25d7905c5ed9093af074b98487d057..d3368bcf8fac56b9f0dc2bb74527328aa3ef0968 100644
--- a/api/sessions.py
+++ b/api/sessions.py
@@ -115,11 +115,19 @@ class Sessions(containers.ContainerList):
             query = {'group': gid}
         else:
             query = {}
-        projection = ['label', 'subject_code', 'subject.code', 'project', 'group']
+        projection = ['label', 'subject_code', 'subject.code', 'project', 'group', 'subject.age', 'subject.sex']
         sessions = self._get(query, projection, self.request.GET.get('admin', '').lower() in ('1', 'true'))
+        session_measurements = {}
+        if self.request.GET.get('measurements', '').lower() in ('1', 'true'):
+            session_measurements = self.app.db.acquisitions.aggregate([
+                {'$match': {'session': {'$in': [sess['_id'] for sess in sessions]}}},
+                {'$group': {'_id': '$session', 'measurements': {'$addToSet': '$datatype'}}}
+                ])
+            session_measurements = {sess['_id']: sess['measurements'] for sess in session_measurements}
         for sess in sessions:
+            sess['measurements'] = session_measurements.get(sess['_id'], None)
             if 'subject_code' not in sess:
-                sess['subject_code'] = sess.pop('subject', {}).get('code', '') # FIXME when subject is pulled out of session
+                sess['subject_code'] = sess.get('subject', {}).get('code', '') # FIXME when subject is pulled out of session
         if self.debug:
             for sess in sessions:
                 sid = str(sess['_id'])