diff --git a/src/Project/Controllers/DisciplineController.cs b/src/Project/Controllers/DisciplineController.cs
index fb16659054e1b46d678266fb5908a4566fe8fbe4..e3dcde1a20dc7d897b81e81cc3febb77286bd67b 100644
--- a/src/Project/Controllers/DisciplineController.cs
+++ b/src/Project/Controllers/DisciplineController.cs
@@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers
         [Route("[controller]")]
         public ActionResult<IEnumerable<DisciplineObject>> Index()
         {
-            return Json(_disciplineModel.GetAll()
+            return Ok(_disciplineModel.GetAll()
                 .OrderBy(discipline => discipline.DisplayNameDe.Substring(discipline.DisplayNameDe.Length - 3))
                 .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayNameDe, discipline.DisplayNameEn)));
         }
diff --git a/src/Project/Controllers/LicenseController.cs b/src/Project/Controllers/LicenseController.cs
index 09f0c0dac55c84097d663c84c4aff0a9d6540a31..4b219afe399d552378279f2fddadcf424684667d 100644
--- a/src/Project/Controllers/LicenseController.cs
+++ b/src/Project/Controllers/LicenseController.cs
@@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers
         [Route("[controller]")]
         public ActionResult<IEnumerable<LicenseObject>> Index()
         {
-            return Json(_licenseModel.GetAll()
+            return Ok(_licenseModel.GetAll()
                 .Select((license) => new LicenseObject(license.Id, license.DisplayName)));
         }
     }
diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs
index 7c98fb16b8742f41e00b84fb0c02b360061a207e..b3cfa16112e2e250e27995b48337f14d72eba3cc 100644
--- a/src/Project/Controllers/ProjectController.cs
+++ b/src/Project/Controllers/ProjectController.cs
@@ -180,7 +180,7 @@ namespace Coscine.Api.Project.Controllers
                     var projectObject = _projectModel.CreateReturnObjectFromDatabaseObject(_projectModel.GetById(project.Id));
                     LogAnalyticsViewProject(project, resources.ToList(), projectObject.Disciplines, projectObject.Organizations, user);
                 }
-                return Json(resources);
+                return Ok(resources);
             }
             else
             {
@@ -225,7 +225,7 @@ namespace Coscine.Api.Project.Controllers
                 var projectObject = _projectModel.CreateReturnObjectFromDatabaseObject(_projectModel.GetById(project.Id));
                 LogAnalyticsDeleteProject(project, projectObject.Disciplines, projectObject.Organizations, user);
                 DeleteProject(project);
-                return Json(_projectModel.CreateReturnObjectFromDatabaseObject(project));
+                return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project));
             }
             else
             {
@@ -376,7 +376,7 @@ namespace Coscine.Api.Project.Controllers
 
             LogAnalyticsAddProject(project, _projectModel.GetMetadataCompleteness(projectObject), projectObject.Disciplines, projectObject.Organizations, user);
 
-            return Json(_projectModel.CreateReturnObjectFromDatabaseObject(project));
+            return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project));
         }
 
         /// <summary>
@@ -629,7 +629,8 @@ namespace Coscine.Api.Project.Controllers
 
         private void LogAnalyticsViewProject(Database.DataModel.Project project, List<ResourceObject> resources, IEnumerable<DisciplineObject> disciplines, IEnumerable<OrganizationObject> organizations, User user)
         {
-            var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true);
+            var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes();
+            var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e)));
 
             var objects = resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, project.Id));
 
diff --git a/src/Project/Controllers/ProjectQuotaController.cs b/src/Project/Controllers/ProjectQuotaController.cs
index ddc7bd3eb26e2c4d01b57243778c604f31dcd333..2db9a3de04ecaa6fc818ebf159a789ba34c59996 100644
--- a/src/Project/Controllers/ProjectQuotaController.cs
+++ b/src/Project/Controllers/ProjectQuotaController.cs
@@ -69,9 +69,10 @@ namespace Coscine.Api.Project.Controllers
                 return Unauthorized("The user is not authorized to perform a get on the selected project!");
             }
 
-            var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true);
+            var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes();
+            var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e)));
 
-            return Json(resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, id)));
+            return Ok(resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, id)));
         }
 
 
@@ -99,13 +100,14 @@ namespace Coscine.Api.Project.Controllers
             }
 
             var resourceType = _resourceTypeModel.GetById(resourceTypeId);
+            var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes();
 
-            if (resourceType?.Enabled.HasValue != true || !resourceType.Enabled.Value)
+            if (!enabledResources.Contains(resourceType.SpecificType))
             {
                 return base.NotFound($"Could not find resourceType with id: {resourceTypeId}");
             }
 
-            return Json(Helpers.CreateProjectQuotaExtendedReturnObject(resourceType, id));
+            return Ok(Helpers.CreateProjectQuotaExtendedReturnObject(resourceType, id));
         }
 
         /// <summary>
@@ -133,8 +135,9 @@ namespace Coscine.Api.Project.Controllers
             }
 
             var resourceType = _resourceTypeModel.GetById(resourceTypeId);
+            var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes();
 
-            if (resourceType?.Enabled.HasValue != true || !resourceType.Enabled.Value)
+            if (!enabledResources.Contains(resourceType.SpecificType))
             {
                 return NotFound($"Could not find resourceType with id: {resourceTypeId}");
             }
@@ -198,7 +201,8 @@ namespace Coscine.Api.Project.Controllers
 
         private void LogAnalyticsOwnerProjectQuotaChange(Database.DataModel.Project project, User user)
         {
-            var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true);
+            var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes();
+            var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e)));
 
             var objects = resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, project.Id));
 
diff --git a/src/Project/Controllers/ProjectRoleController.cs b/src/Project/Controllers/ProjectRoleController.cs
index 310c0f5b56fdee4855a2cf4469d721d826119c6a..2432f245e4250cf8e24475074075d7cba5654967 100644
--- a/src/Project/Controllers/ProjectRoleController.cs
+++ b/src/Project/Controllers/ProjectRoleController.cs
@@ -81,7 +81,7 @@ namespace Coscine.Api.Project.Controllers
                     LogAnalytics("View Users", user, users, projectId.ToString());
                 }
 
-                return Json(users);
+                return Ok(users);
             }
             else
             {
@@ -101,7 +101,7 @@ namespace Coscine.Api.Project.Controllers
             var user = _authenticator.GetUser();
             var userObject = new UserObject(user.Id, user.DisplayName, user.Givenname, user.Surname, user.EmailAddress);
 
-            return Json(_projectRoleModel.GetAllWhere((projectRole) =>
+            return Ok(_projectRoleModel.GetAllWhere((projectRole) =>
                 (projectRole.UserId == user.Id &&
                 projectRole.ProjectId == projectId)
             ).Select((projectRole) =>
@@ -141,7 +141,7 @@ namespace Coscine.Api.Project.Controllers
 
                 LogAnalytics(userIsAlreadymember == true ? "Change Role" : "Add Member", user, null, project.Id.ToString());
 
-                return Json(_projectRoleModel.SetFromObject(projectRoleObject));
+                return Ok(_projectRoleModel.SetFromObject(projectRoleObject));
             }
             else
             {
@@ -178,7 +178,7 @@ namespace Coscine.Api.Project.Controllers
 
                 LogAnalytics("Remove User", user, null, project.Id.ToString());
 
-                return Json(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) =>
+                return Ok(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) =>
                         projectRole.ProjectId == projectId
                         && projectRole.UserId == userId
                         && projectRole.RoleId == roleId)));
@@ -212,7 +212,7 @@ namespace Coscine.Api.Project.Controllers
                 });
 
                 LogAnalytics("Leave Project", user, null, project.Id.ToString());
-                return Json(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) =>
+                return Ok(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) =>
                         projectRole.ProjectId == projectId
                         && projectRole.UserId == user.Id
                         && projectRole.RoleId == roleId)));
diff --git a/src/Project/Controllers/RoleController.cs b/src/Project/Controllers/RoleController.cs
index 5c4ab19c59078d4bd318e275634a5ad377751773..0f207233a0934a94c2e38273e13be9fbc8ba6864 100644
--- a/src/Project/Controllers/RoleController.cs
+++ b/src/Project/Controllers/RoleController.cs
@@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers
         [Route("[controller]")]
         public ActionResult<IEnumerable<RoleObject>> Index()
         {
-            return Json(_roleModel.GetAll()
+            return Ok(_roleModel.GetAll()
                 .Select((role) => new RoleObject(role.Id, role.DisplayName)));
         }
     }
diff --git a/src/Project/Controllers/SubProjectController.cs b/src/Project/Controllers/SubProjectController.cs
index df6336229497103dbfcd46b9051d8aaae07165e5..7686c4fb6b8913c077cc66a1d7bb429ca755dc2a 100644
--- a/src/Project/Controllers/SubProjectController.cs
+++ b/src/Project/Controllers/SubProjectController.cs
@@ -56,7 +56,7 @@ namespace Coscine.Api.Project.Controllers
                                                     .Select((subProject) => projectModel.GetById(subProject.SubProjectId))
                                                     .Select((project) => projectModel.CreateReturnObjectFromDatabaseObject(project, parentGuid))
                                                     .OrderBy(element => element.DisplayName);
-                return Json(subProjects);
+                return Ok(subProjects);
             }
             else
             {
@@ -87,7 +87,7 @@ namespace Coscine.Api.Project.Controllers
                 {
                     json["id"] = subProjects[0].ProjectId;
                 }
-                return Json(json);
+                return Ok(json);
             }
             else
             {
diff --git a/src/Project/Controllers/VisibilityController.cs b/src/Project/Controllers/VisibilityController.cs
index 2234aa0bc30585d61ca0a1e971244bfbe59602de..19acd7a386b0f5de3b14ebf0b7fa3a7b8ac50ede 100644
--- a/src/Project/Controllers/VisibilityController.cs
+++ b/src/Project/Controllers/VisibilityController.cs
@@ -31,7 +31,7 @@ namespace Coscine.Api.Project.Controllers
         [Route("[controller]")]
         public ActionResult<IEnumerable<VisibilityObject>> Index()
         {
-            return Json(_visibilityModel.GetAll()
+            return Ok(_visibilityModel.GetAll()
                 .Select((visibility) => new VisibilityObject(visibility.Id, visibility.DisplayName)));
         }
     }