diff --git a/api/src/engine/connectors/datashield/main.connector.ts b/api/src/engine/connectors/datashield/main.connector.ts
index bcffa4122950331c28ab9267f2d2387ae67eb61e..7ec3b6d54f9264c324dfa937be0ae6488824daa2 100644
--- a/api/src/engine/connectors/datashield/main.connector.ts
+++ b/api/src/engine/connectors/datashield/main.connector.ts
@@ -1,19 +1,40 @@
 import { HttpService } from "@nestjs/axios";
+import { Request } from "express";
 import { Observable } from "rxjs";
 import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces";
 
 export default class DataShieldService implements IEngineService {
     constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { }
+
+    demo(): string {
+        return "datashield";
+    }
     
-    getExperiments(): Observable<string> {
+    getExperiment(uuid: string): Observable<string> {
         throw new Error("Method not implemented.");
     }
 
-    getAlgorithms(): Observable<string> {
+    deleteExperiment(uuid: string, request: Request): Observable<string> {
         throw new Error("Method not implemented.");
     }
 
-    demo(): string {
-        return "datashield";
+    editExperiment(uuid: string, request: Request): Observable<string> {
+        throw new Error("Method not implemented.");
+    }
+
+    startExperimentTransient(request: Request): Observable<string> {
+        throw new Error("Method not implemented.");
+    }
+
+    startExperiment(request: Request): Observable<string> {
+        throw new Error("Method not implemented.");
+    }
+    
+    getExperiments(): Observable<string> {
+        throw new Error("Method not implemented.");
+    }
+
+    getAlgorithms(): Observable<string> {
+        throw new Error("Method not implemented.");
     }
 }
\ No newline at end of file
diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts
index ccad44c232a568f2904ef8e5c6d2af95092a7640..bea87321a5e3dd2f85c6fcb4fa92acaeecbb302a 100644
--- a/api/src/engine/connectors/exareme/main.connector.ts
+++ b/api/src/engine/connectors/exareme/main.connector.ts
@@ -1,10 +1,50 @@
 import { HttpService } from "@nestjs/axios";
+import { Request, response } from "express";
 import { map, Observable } from "rxjs";
 import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces";
 
 export default class ExaremeService implements IEngineService {
     constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { }
 
+    demo(): string {
+        return "exareme"
+    }
+
+    getExperiment(uuid: string): Observable<string> {
+        const path = this.options.baseurl + `experiments/${uuid}`;
+
+        return this.httpService.get<string>(path).pipe(
+            map(response => response.data)
+        );
+    }
+
+    deleteExperiment(uuid: string, request: Request): Observable<string> {
+        const path = this.options.baseurl + `experiments/${uuid}`;
+        //request.query
+
+        return this.httpService.delete(path).pipe(
+            map(response => response.data)
+        )
+    }
+
+    editExperiment(uuid: string, request: Request): Observable<string> {
+        const path = this.options.baseurl + `experiments/${uuid}`;
+
+        throw new Error("Method not implemented.");
+    }
+
+    startExperimentTransient(request: Request): Observable<string> {
+        const path = this.options.baseurl + "experiments";
+
+        throw new Error("Method not implemented.");
+    }
+
+    startExperiment(request: Request): Observable<string> {
+        const path = this.options.baseurl + "experiments/transient";
+
+        throw new Error("Method not implemented.");
+    }
+
     getExperiments(): Observable<string> {
         const path = this.options.baseurl + "experiments";
 
@@ -20,8 +60,4 @@ export default class ExaremeService implements IEngineService {
             map(response => response.data)
         );
     }
-
-    demo(): string {
-        return "exareme"
-    }
 }
\ No newline at end of file
diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts
index 1d158d345d3279b0eab0b48a548beb55fde28085..28aa754d7f1101ad5e31c1189104dd59ddd87b1e 100644
--- a/api/src/engine/engine.controller.ts
+++ b/api/src/engine/engine.controller.ts
@@ -1,5 +1,4 @@
-import { HttpService } from '@nestjs/axios';
-import { Controller, Get, Inject, Req } from '@nestjs/common';
+import { Controller, Delete, Get, Inject, Param, Patch, Post, Req } from '@nestjs/common';
 import { Request } from 'express';
 import { Observable } from 'rxjs';
 import { ENGINE_SERVICE } from './engine.constants';
@@ -24,4 +23,28 @@ export class EngineController {
     return this.engineService.getExperiments(request);
   }
 
+  @Get("/experiments/:uuid")
+  getExperiment(@Param('uuid') uuid: string): Observable<string> {
+    return this.engineService.getExperiment(uuid);
+  }
+
+  @Delete("/experiments/:uuid")
+  deleteExperiment(@Param('uuid') uuid: string, @Req() request: Request): Observable<string> {
+    return this.engineService.deleteExperiment(uuid, request);
+  }
+
+  @Patch("/experiments/:uuid")
+  editExperiment(@Param('uuid') uuid: string, @Req() request: Request): Observable<string> {
+    return this.engineService.editExperiment(uuid, request);
+  }
+
+  @Post("experiments/transient")
+  startExperimentTransient(@Req() request: Request): Observable<string> {
+    return this.engineService.startExperimentTransient(request);
+  }
+
+  @Post("experiments")
+  startExperiment(@Req() request: Request): Observable<string> {
+    return this.engineService.startExperiment(request);
+  }
 }
diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts
index 84c0a55edb9dbd4ea95ae74c8fe16d849df504dc..861393e5237ab4cf3be73666559143bf7733ef8f 100644
--- a/api/src/engine/engine.interfaces.ts
+++ b/api/src/engine/engine.interfaces.ts
@@ -12,4 +12,14 @@ export interface IEngineService {
     getAlgorithms(request: Request): Observable<string>;
 
     getExperiments(request: Request): Observable<string>;
+
+    getExperiment(uuid: string): Observable<string>;
+  
+    deleteExperiment(uuid: string, request: Request): Observable<string>;
+  
+    editExperiment(uuid: string, request: Request): Observable<string>;
+  
+    startExperimentTransient(request: Request): Observable<string>;
+  
+    startExperiment(request: Request): Observable<string>;
 }
\ No newline at end of file