diff --git a/packages/core/src/ObjectStore/ObjectStore.service.ee.ts b/packages/core/src/ObjectStore/ObjectStore.service.ee.ts
index cb6c337373..e289cbfbb2 100644
--- a/packages/core/src/ObjectStore/ObjectStore.service.ee.ts
+++ b/packages/core/src/ObjectStore/ObjectStore.service.ee.ts
@@ -149,6 +149,8 @@ export class ObjectStoreService {
async deleteMany(prefix: string) {
const objects = await this.list(prefix);
+ if (objects.length === 0) return;
+
const innerXml = objects.map(({ key }) => ``).join('\n');
const body = ['', innerXml, ''].join('\n');
diff --git a/packages/core/test/ObjectStore.service.test.ts b/packages/core/test/ObjectStore.service.test.ts
index bb87a0e0a5..07df127ba7 100644
--- a/packages/core/test/ObjectStore.service.test.ts
+++ b/packages/core/test/ObjectStore.service.test.ts
@@ -248,6 +248,14 @@ describe('deleteMany()', () => {
);
});
+ it('should not send a deletion request if no prefix match', async () => {
+ objectStoreService.list = jest.fn().mockResolvedValue([]);
+
+ const result = await objectStoreService.deleteMany('non-matching-prefix');
+
+ expect(result).toBeUndefined();
+ });
+
it('should throw an error on request failure', async () => {
mockAxios.request.mockRejectedValue(mockError);