diff --git a/src/api/UserProvider.jsx b/src/api/UserProvider.jsx
index af6bb1a020f265d95d01bc97ed5622322c1c5f23..48d27b104b0fc359b75b19eba47b34ae73300fb6 100644
--- a/src/api/UserProvider.jsx
+++ b/src/api/UserProvider.jsx
@@ -3,8 +3,8 @@ import { userContext } from "@ess-ics/ce-ui-common";
 import {
   useLoginMutation,
   useLogoutMutation,
-  useLazyInfoFromUserNameQuery,
-  useLazyGetUserRolesQuery
+  useInfoFromUserNameQuery,
+  useGetUserRolesQuery
 } from "../store/deployApi";
 
 export function UserProvider({ children }) {
@@ -21,12 +21,12 @@ export function UserProvider({ children }) {
     }
   ] = useLoginMutation();
   const [callLogout, { isLoading: logoutLoading }] = useLogoutMutation();
-  const [getUserInfo, { data: userResponse, isLoading: userLoading }] =
-    useLazyInfoFromUserNameQuery();
-  const [
-    getUserRoles,
-    { data: userRolesResponse, isLoading: userRolesLoading }
-  ] = useLazyGetUserRolesQuery();
+  const { data: userResponse, isLoading: userLoading } =
+    useInfoFromUserNameQuery({
+      skip: !loginResponse
+    });
+  const { data: userRolesResponse, isLoading: userRolesLoading } =
+    useGetUserRolesQuery({ skip: !loginResponse });
 
   const initialized = Boolean(
     !loginLoading || !logoutLoading || !userLoading || !userRolesLoading
@@ -39,13 +39,6 @@ export function UserProvider({ children }) {
     [callLogin]
   );
 
-  useEffect(() => {
-    if (loginResponse) {
-      getUserInfo({});
-      getUserRoles();
-    }
-  }, [loginResponse, getUserInfo, getUserRoles]);
-
   useEffect(() => {
     setUser(userResponse);
     //TEST new changes from BE
@@ -55,16 +48,17 @@ export function UserProvider({ children }) {
   const logout = useCallback(() => {
     callLogout();
     setUser(null);
-  }, [callLogout]);
+    setUserRoles([]);
+  }, [callLogout, setUser, setUserRoles]);
 
   return (
     initialized && (
       <userContext.Provider
         value={{
-          user: user,
-          userRoles: userRoles,
+          user,
+          userRoles,
           login,
-          loginError: loginError?.response?.body?.description,
+          loginError: loginError?.data?.description,
           logout,
           resetLoginError: resetLogin
         }}
diff --git a/src/components/IOC/CreateIOC/CreateIOC.jsx b/src/components/IOC/CreateIOC/CreateIOC.jsx
index a51f5740b8819238092919aeab5d0e26ca222ba4..16514a7032db10fabc9102278367b3fa605616dd 100644
--- a/src/components/IOC/CreateIOC/CreateIOC.jsx
+++ b/src/components/IOC/CreateIOC/CreateIOC.jsx
@@ -2,7 +2,6 @@ import { useEffect, useState } from "react";
 import { useNavigate } from "react-router-dom";
 import { RootPaper } from "@ess-ics/ce-ui-common";
 import {
-  Alert,
   Autocomplete,
   Button,
   CircularProgress,
@@ -16,13 +15,12 @@ import { WITHOUT_REPO } from "./RepositoryType";
 import { RepositoryName } from "./RepositoryName";
 import { useTypingTimer } from "../../common/SearchBoxFilter/TypingTimer";
 import { useCustomSnackbar } from "../../common/snackbar";
-
-import { getErrorMessage } from "../../common/Helper";
 import {
   useCreateIocMutation,
   useLazyFetchIocByNameQuery,
   useLazyListProjectsQuery
 } from "../../../store/deployApi";
+import { ApiAlertError } from "../../common/Alerts/ApiAlertError";
 
 export function CreateIOC() {
   const navigate = useNavigate();
@@ -186,9 +184,7 @@ export function CreateIOC() {
           />
         )}
 
-        {error ? (
-          <Alert severity="error">{getErrorMessage(error)}</Alert>
-        ) : null}
+        {error && <ApiAlertError error={error} />}
         {isLoading ? (
           <LinearProgress
             aria-busy="true"
diff --git a/src/components/common/Helper.jsx b/src/components/common/Helper.jsx
index 97cbb18763c99d978ea568113f34a63f66751c79..24f0431342975f83f13b299235f2b2e17596863b 100644
--- a/src/components/common/Helper.jsx
+++ b/src/components/common/Helper.jsx
@@ -84,9 +84,9 @@ export function initRequestParams(lazyParams, filter, columnSort) {
 
   if (columnSort) {
     if (columnSort.sortOrder === 1) {
-      requestParams.order_asc = true;
+      requestParams.orderAsc = true;
     } else {
-      requestParams.order_asc = false;
+      requestParams.orderAsc = false;
     }
   }
 
diff --git a/src/components/common/User/UserOperationList.jsx b/src/components/common/User/UserOperationList.jsx
index d4a82c4d1590444ea9ad5e869babd9c261e8c560..2302c5499991e4b1fa7a3e1c17cbdecd3feb1786 100644
--- a/src/components/common/User/UserOperationList.jsx
+++ b/src/components/common/User/UserOperationList.jsx
@@ -3,14 +3,15 @@ import { Card, CardHeader } from "@mui/material";
 import { usePagination } from "@ess-ics/ce-ui-common";
 import { initRequestParams } from "../Helper";
 import { JobTable } from "../../Job";
-import { ROWS_PER_PAGE } from "../../../constants";
+import {
+  DEFAULT_POLLING_INTERVAL_MILLIS,
+  ROWS_PER_PAGE
+} from "../../../constants";
 import { useLazyListJobsQuery } from "../../../store/deployApi";
 
-const POLLING_INTERVAL = 30000;
-
 export function UserOperationList({ userName }) {
   const [getJobs, { data: jobs, isFetching }] = useLazyListJobsQuery({
-    pollingInterval: POLLING_INTERVAL
+    pollingInterval: DEFAULT_POLLING_INTERVAL_MILLIS
   });
 
   const { pagination, setPagination } = usePagination({
diff --git a/src/constants/index.ts b/src/constants/index.ts
index 8de6913d72fe11b847a3b8302e83aed3017b2a46..ea5769a0febe6d048a73c5930c7c62ec09ebe530 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -1 +1,2 @@
 export const ROWS_PER_PAGE = [20, 50];
+export const DEFAULT_POLLING_INTERVAL_MILLIS = 30000;
diff --git a/src/views/host/HostListView.jsx b/src/views/host/HostListView.jsx
index 238fc8f97bfefee35c458784fa053ddf2d481849..f3a3af7630beb8fa41e93a804b21cf4d5f9b9202 100644
--- a/src/views/host/HostListView.jsx
+++ b/src/views/host/HostListView.jsx
@@ -19,7 +19,7 @@ export function HostListView() {
   const { setTitle } = useContext(GlobalAppBarContext);
   useEffect(() => setTitle(applicationTitle("IOC hosts")), [setTitle]);
 
-  const [callListHostsQuery, { data: hosts, isLoading }] =
+  const [callListHostsQuery, { data: hosts, isFetching }] =
     useLazyListHostsQuery();
 
   const [searchParams, setSearchParams] = useSearchParams({ query: "" });
@@ -73,11 +73,11 @@ export function HostListView() {
     <SearchBar
       search={setSearch}
       query={searchParams.get("query")}
-      loading={isLoading}
+      loading={isFetching}
     >
       <HostTable
         hosts={hosts?.netBoxHosts ?? []}
-        loading={isLoading || !hosts}
+        loading={isFetching || !hosts}
         pagination={pagination}
         onPage={onPage}
       />
diff --git a/src/views/host/details/HostDetailsContainer.jsx b/src/views/host/details/HostDetailsContainer.jsx
index eeb0430d5db0b54df27a8f64a80a0bff3249c15a..98b45b61c436a5798b014b37cb86eeafdc679865 100644
--- a/src/views/host/details/HostDetailsContainer.jsx
+++ b/src/views/host/details/HostDetailsContainer.jsx
@@ -18,12 +18,9 @@ export function HostDetailsContainer({ hostId }) {
 
   useEffect(() => {
     if (fetchError || alertError) {
-      const message = fetchError?.message
-        ? fetchError.message
-        : alertError.message;
-      const status = fetchError?.status
-        ? fetchError.status
-        : alertError?.status;
+      const message =
+        fetchError?.data?.description || alertError?.data?.description;
+      const status = fetchError?.status || alertError?.status;
       onFetchEntityError(message, status, setError);
     }
   }, [fetchError, alertError]);
diff --git a/src/views/host/details/HostJobsSection.jsx b/src/views/host/details/HostJobsSection.jsx
index 17e93a3a23becab69c3ca79e7dc6bf8541550eed..4dd305693ada73830a5d221c4503370c5809e449 100644
--- a/src/views/host/details/HostJobsSection.jsx
+++ b/src/views/host/details/HostJobsSection.jsx
@@ -1,11 +1,11 @@
 import { useEffect, useMemo, useCallback, useState } from "react";
 import { string } from "prop-types";
 import { SimpleAccordion, usePagination } from "@ess-ics/ce-ui-common";
-import { Alert, Typography } from "@mui/material";
-import { getErrorMessage } from "../../../components/common/Helper";
+import { Typography } from "@mui/material";
 import { JobTable } from "../../../components/Job";
 import { ROWS_PER_PAGE } from "../../../constants";
 import { useLazyListJobsQuery } from "../../../store/deployApi";
+import { ApiAlertError } from "../../../components/common/Alerts/ApiAlertError";
 
 const propTypes = {
   hostId: string.isRequired
@@ -57,7 +57,7 @@ export const HostJobsSection = ({ hostId }) => {
       }
       onChange={(_, expanded) => setExpanded(expanded)}
     >
-      {error ? <Alert severity="error">{getErrorMessage(error)}</Alert> : null}
+      {error && <ApiAlertError error={error} />}
       {hostLog ? (
         <JobTable
           jobs={!error && hostLog ? hostLog?.jobs : null}
diff --git a/src/views/jobs/JobDetailsContainer.jsx b/src/views/jobs/JobDetailsContainer.jsx
index 0795e6073c9290befcb7419312ff694d1a542f71..6953ade83f21129b79656b7ff5457c13652f3c60 100644
--- a/src/views/jobs/JobDetailsContainer.jsx
+++ b/src/views/jobs/JobDetailsContainer.jsx
@@ -7,7 +7,7 @@ import { useFetchJobQuery } from "../../store/deployApi";
 
 const POLL_DEPLOYMENT_INTERVAL = 5000;
 export function JobDetailsContainer({ id }) {
-  const [notFoundError, setNotFoundError] = useState();
+  const [notFoundError, setNotFoundError] = useState(null);
   const [jobFinished, setJobFinished] = useState(false);
 
   const {
@@ -29,7 +29,11 @@ export function JobDetailsContainer({ id }) {
 
   useEffect(() => {
     if (jobError) {
-      onFetchEntityError(jobError?.message, jobError?.status, setNotFoundError);
+      onFetchEntityError(
+        jobError?.data?.description,
+        jobError?.status,
+        setNotFoundError
+      );
     }
   }, [jobError]);
 
diff --git a/src/views/records/RecordDetailsView.jsx b/src/views/records/RecordDetailsView.jsx
index ed6bf1d1ddd4c477798fe769512f5b1df936f2bb..fd71b905c0da3dcc0c725c49579546698b58afe9 100644
--- a/src/views/records/RecordDetailsView.jsx
+++ b/src/views/records/RecordDetailsView.jsx
@@ -35,7 +35,11 @@ export function RecordDetailsView() {
 
   useEffect(() => {
     if (fetchError) {
-      onFetchEntityError(fetchError?.message, fetchError?.status, setError);
+      onFetchEntityError(
+        fetchError?.data?.description,
+        fetchError?.status,
+        setError
+      );
     }
   }, [fetchError]);
 
diff --git a/src/views/records/RecordListView.jsx b/src/views/records/RecordListView.jsx
index 9c147711c47f162eb752908e0d0d6740e406fa4a..5aafc7bdad5e5c23fff4988ca4fd23c6e4dca1d9 100644
--- a/src/views/records/RecordListView.jsx
+++ b/src/views/records/RecordListView.jsx
@@ -19,7 +19,7 @@ export function RecordListView() {
   const { setTitle } = useContext(GlobalAppBarContext);
   useEffect(() => setTitle(applicationTitle("Records")), [setTitle]);
 
-  const [getRecords, { data: records, isLoading }] =
+  const [getRecords, { data: records, isFetching }] =
     useLazyFindAllRecordsQuery();
 
   const [searchParams, setSearchParams] = useSearchParams({ query: "" });
@@ -52,7 +52,7 @@ export function RecordListView() {
   // Request new search results whenever search or pagination changes
   useEffect(() => {
     let requestParams = initRequestParams(pagination);
-    requestParams.pv_status = recordFilter;
+    requestParams.pvStatus = recordFilter;
     requestParams.text = searchParams.get("query");
     getRecords(requestParams);
   }, [getRecords, recordFilter, pagination, searchParams]);
@@ -74,11 +74,11 @@ export function RecordListView() {
     <SearchBar
       search={setSearch}
       query={searchParams.get("query")}
-      loading={isLoading || !records}
+      loading={isFetching || !records}
     >
       <RecordTable
         records={records}
-        loading={isLoading || !records}
+        loading={isFetching || !records}
         pagination={pagination}
         onPage={onPage}
       />