diff --git a/api/src/engine/connectors/exareme/converters.ts b/api/src/engine/connectors/exareme/converters.ts
index 5ca4b79db61a06924af99aebb4e0ca44670de630..56f35ddcd2876a5cd6435cd3454c6fb414034923 100644
--- a/api/src/engine/connectors/exareme/converters.ts
+++ b/api/src/engine/connectors/exareme/converters.ts
@@ -227,6 +227,14 @@ export const dataToExperiment = (
       status: 'error',
       variables: [],
       domain: data['domain'] ?? '',
+      results: [
+        {
+          rawdata: {
+            type: 'text/plain+error',
+            data: 'Error when parsing experiment data from the Engine',
+          },
+        },
+      ],
       datasets: [],
       algorithm: {
         id: 'unknown',
diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts
index 8d25f9ffd2b3eba957ee2bcbe73a7f704841b38a..02f28ae18223e74286b62b83a5e1aca03ce577d7 100644
--- a/api/src/engine/connectors/exareme/main.connector.ts
+++ b/api/src/engine/connectors/exareme/main.connector.ts
@@ -5,6 +5,7 @@ import {
   HttpStatus,
   Inject,
   Injectable,
+  InternalServerErrorException,
 } from '@nestjs/common';
 import { AxiosRequestConfig } from 'axios';
 import { Request } from 'express';
@@ -45,7 +46,6 @@ type Headers = Record<string, string>;
 
 @Injectable()
 export default class ExaremeService implements IEngineService {
-  headers = {};
   constructor(
     @Inject(ENGINE_MODULE_OPTIONS) private readonly options: IEngineOptions,
     private readonly httpService: HttpService,
@@ -75,9 +75,7 @@ export default class ExaremeService implements IEngineService {
       this.options.baseurl + `experiments${isTransient ? '/transient' : ''}`;
 
     const resultAPI = await firstValueFrom(
-      this.post<ExperimentData>(request, path, form, {
-        headers: this.headers,
-      }),
+      this.post<ExperimentData>(request, path, form),
     );
 
     return dataToExperiment(resultAPI.data);
@@ -141,11 +139,7 @@ export default class ExaremeService implements IEngineService {
     const path = this.options.baseurl + `experiments/${id}`;
 
     try {
-      await firstValueFrom(
-        this.delete(request, path, {
-          headers: this.headers,
-        }),
-      );
+      await firstValueFrom(this.delete(request, path));
       return {
         id: id,
       };
@@ -158,11 +152,7 @@ export default class ExaremeService implements IEngineService {
     const path = this.options.baseurl + 'pathologies';
 
     try {
-      const data = await firstValueFrom(
-        this.get<Pathology[]>(request, path, {
-          headers: this.headers,
-        }),
-      );
+      const data = await firstValueFrom(this.get<Pathology[]>(request, path));
 
       return (
         data?.data
@@ -192,20 +182,30 @@ export default class ExaremeService implements IEngineService {
 
   async getActiveUser(request: Request): Promise<User> {
     const path = this.options.baseurl + 'activeUser';
-
     const response = await firstValueFrom(this.get<string>(request, path));
 
-    return transformToUser.evaluate(response.data);
+    try {
+      return transformToUser.evaluate(response.data);
+    } catch (e) {
+      new InternalServerErrorException('Cannot parse user data from Engine', e);
+    }
   }
 
   async updateUser(request: Request): Promise<User> {
     const path = this.options.baseurl + 'activeUser/agreeNDA';
-
-    this.post<string>(request, path, request.body).pipe(
-      map((response) => response.data),
+    const response = await firstValueFrom(
+      this.post<string>(request, path, {
+        agreeNDA: true,
+      }),
     );
 
-    return this.getActiveUser(request);
+    try {
+      return transformToUser.evaluate(response.data);
+    } catch (e) {
+      throw new InternalServerErrorException(
+        'Error when trying to parse user data from the engine',
+      );
+    }
   }
 
   getAlgorithmsREST(request: Request): Observable<string> {
@@ -256,7 +256,7 @@ export default class ExaremeService implements IEngineService {
   };
 
   private getHeadersFromRequest(request: Request): Headers {
-    if (!request || request.headers) return {};
+    if (!request || !request.headers) return {};
 
     return request.headers as Headers;
   }