diff --git a/api/src/engine/interceptors/headers.interceptor.ts b/api/src/engine/interceptors/headers.interceptor.ts
index 9b28e4953456de5d9bc66a390c9cf452cf45306f..8dddccb93815c21cb0f92c79bd97d4fb293bfd35 100644
--- a/api/src/engine/interceptors/headers.interceptor.ts
+++ b/api/src/engine/interceptors/headers.interceptor.ts
@@ -1,17 +1,35 @@
 import { HttpService } from '@nestjs/axios';
-import { Injectable, NestInterceptor, CallHandler } from '@nestjs/common';
+import {
+  CallHandler,
+  HttpException,
+  Inject,
+  Injectable,
+  Logger,
+  NestInterceptor,
+} from '@nestjs/common';
 import { GqlExecutionContext } from '@nestjs/graphql';
 import { IncomingMessage } from 'http';
-import { Observable, tap } from 'rxjs';
+import { catchError, Observable, tap } from 'rxjs';
+import { ENGINE_MODULE_OPTIONS } from '../engine.constants';
+import { IEngineOptions } from '../engine.interfaces';
 
 @Injectable()
 export class HeadersInterceptor implements NestInterceptor {
-  constructor(private httpService: HttpService) {}
+  private readonly logger: Logger;
+
+  constructor(
+    private httpService: HttpService,
+    @Inject(ENGINE_MODULE_OPTIONS) private readonly options: IEngineOptions,
+  ) {
+    // Logger name is the engine name
+    // HttpService will be used mostly by the engine (but it's not always true)
+    this.logger = new Logger(options.type);
+  }
 
   intercept(context: GqlExecutionContext, next: CallHandler): Observable<any> {
     // cleaner : add only the auth header (should find the name)
 
-    const keys = ['cookie', 'x-xsrf-token'];
+    const keys = ['cookie', 'x-xsrf-token']; // should be a module parameter
     let headers = {};
 
     switch (context.getType()) {
@@ -29,7 +47,7 @@ export class HeadersInterceptor implements NestInterceptor {
       }
     }
 
-    Object.keys(headers)
+    Object.keys(headers) // copy needed keys
       .filter((key) => keys.includes(key))
       .map((key) => key.toLowerCase())
       .forEach((key) => {
@@ -37,8 +55,17 @@ export class HeadersInterceptor implements NestInterceptor {
       });
 
     return next.handle().pipe(
+      catchError((e) => {
+        if (!e.response.data || !e.response.status) return e;
+
+        this.logger.log(e.message);
+        this.logger.verbose(
+          `[Error ${e.response.status}] ${e.response.data.message}`,
+        );
+        throw new HttpException(e.response.data, e.response.status); // catch errors, maybe make it optional (module parameter)
+      }),
       tap(() => {
-        this.httpService.axiosRef.defaults.headers.common = {}; //cleaning request
+        this.httpService.axiosRef.defaults.headers.common = {}; // cleaning request
       }),
     );
   }