diff --git a/src/TransactionService.js b/src/TransactionService.js
index 53e5cd5688e154cdf882557d0d654aa93c1f8c36..a242e6fdc6e4e18b72f091eaff48b870e67c4bd6 100644
--- a/src/TransactionService.js
+++ b/src/TransactionService.js
@@ -1,8 +1,9 @@
 /*
  * This file is a part of the CaosDB Project.
  *
- * Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
- * Copyright (C) 2021 Florian Spreckelsen <f.spreckelsen@indiscale.com>
+ * Copyright (C) 2021-2023 IndiScale GmbH <info@indiscale.com>
+ * Copyright (C) 2021-2023 Florian Spreckelsen <f.spreckelsen@indiscale.com>
+ * Copyright (C) 2021-2023 Timm Fitschen <t.fitschen@indiscale.com>
  *
  * This program is free software: you can redistribute it and/or modify it under
  * the terms of the GNU Affero General Public License as published by the Free
@@ -84,4 +85,26 @@ export class TransactionService {
         const queryRequest = this._CreateQueryRequest(query);
         return new Promise(this._PrepareTransaction(queryRequest));
     }
+
+    async retrieveEntityAcl(id) {
+        const client = new api.v1.EntityTransactionServicePromiseClient(this.uri, null, null);
+        const request = new api.v1.MultiRetrieveEntityACLRequest();
+        request.addId(id);
+        const response = await client.multiRetrieveEntityACL(request, {});
+
+        return convertMessageToEntityACL(response.getAclsList()[0]);
+    }
+
+    async updateEntityAcl(acl) {
+        const updateAcl = convertEntityAclToMessage(acl);
+
+        const client = new api.v1.EntityTransactionServicePromiseClient(this.uri, null, null);
+        const request = new api.v1.MultiUpdateEntityACLRequest();
+        request.setAclsList([updateAcl]);
+
+        const response = await client.multiUpdateEntityACL(request, {});
+        return response;
+    }
+
+
 }