diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperation.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperation.js
new file mode 100644
index 0000000000000000000000000000000000000000..caa3ff8913e0364a4be97c6a0ff1e131fcabf257
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperation.js
@@ -0,0 +1,12 @@
+define([ "stjs", "as/dto/common/delete/DeleteObjectsOperation" ], function(stjs, DeleteObjectsOperation) {
+	var DeleteRoleAssignmentsOperation = function(objectIds, options) {
+		DeleteObjectsOperation.call(this, objectIds, options);
+	};
+	stjs.extend(DeleteRoleAssignmentsOperation, DeleteObjectsOperation, [ DeleteObjectsOperation ], function(constructor, prototype) {
+		prototype['@type'] = 'as.dto.roleassignment.delete.DeleteRoleAssignmentsOperation';
+		prototype.getMessage = function() {
+			return "DeleteRoleAssignmentsOperation";
+		};
+	}, {});
+	return DeleteRoleAssignmentsOperation;
+})
\ No newline at end of file
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperationResult.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperationResult.js
new file mode 100644
index 0000000000000000000000000000000000000000..294ef448e07611fd7e7a980ca80d008307229758
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/DeleteRoleAssignmentsOperationResult.js
@@ -0,0 +1,12 @@
+define([ "stjs", "as/dto/common/delete/DeleteObjectsWithoutTrashOperationResult" ], function(stjs, DeleteObjectsWithoutTrashOperationResult) {
+	var DeleteRoleAssignmentsOperationResult = function() {
+		DeleteObjectsWithoutTrashOperationResult.call(this);
+	};
+	stjs.extend(DeleteRoleAssignmentsOperationResult, DeleteObjectsWithoutTrashOperationResult, [ DeleteObjectsWithoutTrashOperationResult ], function(constructor, prototype) {
+		prototype['@type'] = 'as.dto.roleassignment.delete.DeleteRoleAssignmentsOperationResult';
+		prototype.getMessage = function() {
+			return "DeleteRoleAssignmentsOperationResult";
+		};
+	}, {});
+	return DeleteRoleAssignmentsOperationResult;
+})
\ No newline at end of file
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/RoleAssignmentDeletionOptions.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/RoleAssignmentDeletionOptions.js
new file mode 100644
index 0000000000000000000000000000000000000000..49deef1859ce9442326e91e997f3d5180ed88d04
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/roleassignment/delete/RoleAssignmentDeletionOptions.js
@@ -0,0 +1,10 @@
+define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
+	var RoleAssignmentDeletionOptions = function() {
+		AbstractObjectDeletionOptions.call(this);
+	};
+	stjs.extend(RoleAssignmentDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
+		prototype['@type'] = 'as.dto.roleassignment.delete.RoleAssignmentDeletionOptions';
+		constructor.serialVersionUID = 1;
+	}, {});
+	return RoleAssignmentDeletionOptions;
+})
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js
index 558b3f69273dea82b70f5ab7663ce707d7f21804..d95fc1d6e9d0ecb9433b35b2068a5e929926007c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js
@@ -1238,6 +1238,17 @@ define([ 'jquery', 'util/Json', 'as/dto/datastore/search/DataStoreSearchCriteria
 			});
 		}
 		
+		this.deleteRoleAssignments = function(ids, deletionOptions) {
+			var thisFacade = this;
+			return thisFacade._private.ajaxRequest({
+				url : openbisUrl,
+				data : {
+					"method" : "deleteRoleAssignments",
+					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
+				}
+			});
+		}
+		
 		this.deleteOperationExecutions = function(ids, deletionOptions) {
 			var thisFacade = this;
 			return thisFacade._private.ajaxRequest({