diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModal.tsx b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModal.tsx
index 69cbc09b73c0dc9e31bb8477d9bce62d0a7fa1be..e37d378e8488b92690e6d22eaa4b4ba22fa9e66a 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModal.tsx
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModal.tsx
@@ -19,13 +19,13 @@ export const PublicationsModal = (): JSX.Element => {
 
   const parsedData: PublicationsTableData[] | undefined = useMemo(() => {
     const dd = data?.map(item => ({
-      pubmedId: item.publication.article.pubmedId,
-      title: item.publication.article.title,
-      authors: item.publication.article.authors,
-      journal: item.publication.article.journal,
-      year: item.publication.article.year,
+      pubmedId: item.article.pubmedId,
+      title: item.article.title,
+      authors: item.article.authors,
+      journal: item.article.journal,
+      year: item.article.year,
       elementsOnMap: JSON.stringify(item.elements) || EMPTY_ARRAY_STRING, // table data accepts only string | string[]
-      submaps: mapsNames[item.elements[FIRST_ARRAY_ELEMENT].modelId],
+      submaps: mapsNames[item.elements[FIRST_ARRAY_ELEMENT].model],
     }));
     return dd || [];
   }, [data, mapsNames]);
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/PublicationsModalLayout.component.test.tsx b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/PublicationsModalLayout.component.test.tsx
index aa7755b5847b48ba5ab6d6b01f00fea9b15d576b..95bf0cd72ed0289effc7090a1ab1e0aa082145da 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/PublicationsModalLayout.component.test.tsx
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/PublicationsModalLayout.component.test.tsx
@@ -8,7 +8,7 @@ import { apiPath } from '@/redux/apiPath';
 import { downloadFileFromBlob } from '@/redux/export/export.utils';
 import { StoreType } from '@/redux/store';
 import { BioEntityContent, Publication } from '@/types/models';
-import { mockNetworkResponse } from '@/utils/mockNetworkResponse';
+import { mockNetworkNewAPIResponse } from '@/utils/mockNetworkResponse';
 import {
   InitialStoreState,
   getReduxWrapperWithStore,
@@ -28,7 +28,7 @@ const THIRD_ELEMENT_ID = 300;
 const FOURTH_ELEMENT_ID = 400;
 
 const BASE_PUBLICATION: Publication =
-  PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.data[FIRST_ARRAY_ELEMENT];
+  PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.content[FIRST_ARRAY_ELEMENT];
 const BASE_ELEMENT = BASE_PUBLICATION.elements[FIRST_ARRAY_ELEMENT];
 const PUBLICATION: Publication = {
   ...BASE_PUBLICATION,
@@ -36,22 +36,22 @@ const PUBLICATION: Publication = {
     {
       ...BASE_ELEMENT,
       id: FIRST_ELEMENT_ID,
-      modelId: FIRST_MODEL_ID,
+      model: FIRST_MODEL_ID,
     },
     {
       ...BASE_ELEMENT,
       id: SECOND_ELEMENT_ID,
-      modelId: SECOND_MODEL_ID,
+      model: SECOND_MODEL_ID,
     },
     {
       ...BASE_ELEMENT,
       id: THIRD_ELEMENT_ID,
-      modelId: THIRD_MODEL_ID, // model id duplicate
+      model: THIRD_MODEL_ID, // model id duplicate
     },
     {
       ...BASE_ELEMENT,
       id: FOURTH_ELEMENT_ID,
-      modelId: THIRD_MODEL_ID, // model id duplicate
+      model: THIRD_MODEL_ID, // model id duplicate
     },
   ],
 };
@@ -77,7 +77,7 @@ jest.mock('../utils/fetchElementData');
     })[id] as BioEntityContent,
 );
 
-const mockedAxiosClient = mockNetworkResponse();
+const mockedAxiosNewClient = mockNetworkNewAPIResponse();
 
 const renderComponent = (initialStore?: InitialStoreState): { store: StoreType } => {
   const { Wrapper, store } = getReduxWrapperWithStore(initialStore);
@@ -96,11 +96,11 @@ const renderComponent = (initialStore?: InitialStoreState): { store: StoreType }
 
 describe('PublicationsModalLayout - component', () => {
   const length = 1;
-  mockedAxiosClient
+  mockedAxiosNewClient
     .onGet(apiPath.getPublications({ params: { length } }))
     .reply(HttpStatusCode.Ok, {
       ...PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK,
-      data: [PUBLICATION],
+      content: [PUBLICATION],
     });
 
   it('should render download csv button', () => {
@@ -114,7 +114,7 @@ describe('PublicationsModalLayout - component', () => {
       publications: {
         data: {
           ...PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK,
-          data: [PUBLICATION],
+          content: [PUBLICATION],
           filteredSize: length,
         },
         loading: 'succeeded',
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.test.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.test.ts
index ffa8191ae9167d7dd8bf2cdae4d0e01e8cc9ac53..ca246ead9918f1361635c7359806cce6fffd6d4f 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.test.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.test.ts
@@ -1,11 +1,11 @@
 import { apiPath } from '@/redux/apiPath';
-import { mockNetworkResponse } from '@/utils/mockNetworkResponse';
+import { mockNetworkNewAPIResponse } from '@/utils/mockNetworkResponse';
 import { HttpStatusCode } from 'axios';
 import { showToast } from '@/utils/showToast';
 import { PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK } from '../../../../../../models/mocks/publicationsResponseMock';
 import { getBasePublications } from './getBasePublications';
 
-const mockedAxiosClient = mockNetworkResponse();
+const mockedAxiosNewClient = mockNetworkNewAPIResponse();
 
 jest.mock('./../../../../../../utils/showToast');
 
@@ -13,17 +13,19 @@ describe('getBasePublications - util', () => {
   const length = 10;
 
   it('should return valid data if provided', async () => {
-    mockedAxiosClient
+    mockedAxiosNewClient
       .onGet(apiPath.getPublications({ params: { length } }))
-      .reply(HttpStatusCode.Ok, PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK);
+      .reply(HttpStatusCode.Ok, JSON.stringify(PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK));
 
     const result = await getBasePublications({ length });
 
-    expect(result).toStrictEqual(PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.data);
+    expect(result).toStrictEqual(
+      JSON.parse(JSON.stringify(PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.content)),
+    );
   });
 
   it('should return empty array if data structure is invalid', async () => {
-    mockedAxiosClient
+    mockedAxiosNewClient
       .onGet(apiPath.getPublications({ params: { length } }))
       .reply(HttpStatusCode.Ok, { randomObject: true });
 
@@ -33,7 +35,7 @@ describe('getBasePublications - util', () => {
   });
 
   it('should return empty array and show toast error if http error', async () => {
-    mockedAxiosClient
+    mockedAxiosNewClient
       .onGet(apiPath.getPublications({ params: { length } }))
       .reply(HttpStatusCode.BadRequest);
 
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.ts
index d149d03191849ea5a288b2c2c9cde031bed79ed7..e58c2f9f8ab6d4feaef6810939bbd133d035d01c 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getBasePublications.ts
@@ -1,11 +1,12 @@
-import { publicationsResponseSchema } from '@/models/publicationsResponseSchema';
 import { apiPath } from '@/redux/apiPath';
 import { PUBLICATIONS_FETCHING_ERROR_PREFIX } from '@/redux/publications/publications.constatns';
-import { axiosInstance } from '@/services/api/utils/axiosInstance';
-import { Publication, PublicationsResponse } from '@/types/models';
+import { axiosInstanceNewAPI } from '@/services/api/utils/axiosInstance';
+import { FilteredPageOf, Publication } from '@/types/models';
 import { validateDataUsingZodSchema } from '@/utils/validateDataUsingZodSchema';
 import { getErrorMessage } from '@/utils/getErrorMessage';
 import { showToast } from '@/utils/showToast';
+import { pageableSchema } from '@/models/pageableSchema';
+import { publicationSchema } from '@/models/publicationsSchema';
 
 interface Args {
   length: number;
@@ -13,13 +14,16 @@ interface Args {
 
 export const getBasePublications = async ({ length }: Args): Promise<Publication[]> => {
   try {
-    const response = await axiosInstance.get<PublicationsResponse>(
+    const response = await axiosInstanceNewAPI.get<FilteredPageOf<Publication>>(
       apiPath.getPublications({ params: { length } }),
     );
 
-    const isDataValid = validateDataUsingZodSchema(response.data, publicationsResponseSchema);
+    const isDataValid = validateDataUsingZodSchema(
+      response.data,
+      pageableSchema(publicationSchema),
+    );
 
-    return isDataValid ? response.data.data : [];
+    return isDataValid ? response.data.content : [];
   } catch (error) {
     const errorMessage = getErrorMessage({ error, prefix: PUBLICATIONS_FETCHING_ERROR_PREFIX });
     showToast({
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getStandarizedPublications.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getStandarizedPublications.ts
index c59d2e00d5b823e2cf9ff9ecd1b072ea00f85f87..894f194b02e0c40a3f57e70d139a80a487467501 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getStandarizedPublications.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/getStandarizedPublications.ts
@@ -14,17 +14,17 @@ export const getStandarizedPublications = async ({
   publications,
   modelNameIdMap,
 }: Args): Promise<StandarizedPublication[]> => {
-  const getStandarizedPublicationsFuncs = publications.map(
+  const getStandardizedPublicationsFuncs = publications.map(
     publication => () =>
       mapBasePublicationToStandarized(publication, {
         modelNameIdMap,
       }),
   );
 
-  const standarizedPublications = await runInSequence<StandarizedPublication>(
-    getStandarizedPublicationsFuncs,
+  const standardizedPublications = await runInSequence<StandarizedPublication>(
+    getStandardizedPublicationsFuncs,
     SEQUENCE_CHUNK_SIZE,
   );
 
-  return standarizedPublications;
+  return standardizedPublications;
 };
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.test.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.test.ts
index 3a556efff2d648e8d1f548b4ee944d323d4e09aa..05cbe84f702821251650349b522f2627e23ac616 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.test.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.test.ts
@@ -23,7 +23,7 @@ const MODEL_NAME_ID_MAP: Record<number, string> = {
 };
 
 const BASE_PUBLICATION: Publication =
-  PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.data[FIRST_ARRAY_ELEMENT];
+  PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK.content[FIRST_ARRAY_ELEMENT];
 const BASE_ELEMENT = BASE_PUBLICATION.elements[FIRST_ARRAY_ELEMENT];
 const PUBLICATION: Publication = {
   ...BASE_PUBLICATION,
@@ -31,22 +31,22 @@ const PUBLICATION: Publication = {
     {
       ...BASE_ELEMENT,
       id: FIRST_ELEMENT_ID,
-      modelId: FIRST_MODEL_ID,
+      model: FIRST_MODEL_ID,
     },
     {
       ...BASE_ELEMENT,
       id: SECOND_ELEMENT_ID,
-      modelId: SECOND_MODEL_ID,
+      model: SECOND_MODEL_ID,
     },
     {
       ...BASE_ELEMENT,
       id: THIRD_ELEMENT_ID,
-      modelId: THIRD_MODEL_ID, // model id duplicate
+      model: THIRD_MODEL_ID, // model id duplicate
     },
     {
       ...BASE_ELEMENT,
       id: FOURTH_ELEMENT_ID,
-      modelId: THIRD_MODEL_ID, // model id duplicate
+      model: THIRD_MODEL_ID, // model id duplicate
     },
   ],
 };
@@ -80,7 +80,7 @@ const getFuncResult = async (
 describe('mapBasePublicationToStandarized - util', () => {
   it('should return valid pubmedId, journal, year and title', async () => {
     const results = await getFuncResult(PUBLICATION);
-    const { pubmedId, journal, year, title } = PUBLICATION.publication.article;
+    const { pubmedId, journal, year, title } = PUBLICATION.article;
 
     expect(results.pubmedId).toBe(pubmedId);
     expect(results.journal).toBe(journal);
@@ -90,7 +90,7 @@ describe('mapBasePublicationToStandarized - util', () => {
 
   it('should return joined authors', async () => {
     const results = await getFuncResult(PUBLICATION);
-    const { authors } = PUBLICATION.publication.article;
+    const { authors } = PUBLICATION.article;
 
     expect(results.authors).toBe(authors.join(','));
   });
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.ts
index 84b7d269b8259c2e7140aa96a555f42ab897e6b5..dea109c117cab5d66346f5626e1da9fe018e966a 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/mapBasePublicationToStandarized.ts
@@ -13,13 +13,10 @@ export const mapBasePublicationToStandarized = async (
   publication: Publication,
   options: Options,
 ): Promise<StandarizedPublication> => {
-  const {
-    publication: { article },
-    elements,
-  } = publication;
+  const { article, elements } = publication;
   const { modelNameIdMap } = options;
   const { title, authors, journal, year, pubmedId } = article;
-  const modelNames = elements.map(({ modelId }) => modelNameIdMap[modelId]);
+  const modelNames = elements.map(({ model }) => modelNameIdMap[model]);
   const elementsData = await Promise.all(elements.map(async ({ id }) => fetchElementData(`${id}`)));
   const elementsIds = elementsData
     .filter((element): element is BioEntityContent => element !== undefined)
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/useDownloadPublicationsAsCSVFile.ts b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/useDownloadPublicationsAsCSVFile.ts
index 531faf9c6429071231383a9fbf0731ea753774ee..cdd58d24bde860bc680acffe9871700f4bfa926a 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/useDownloadPublicationsAsCSVFile.ts
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsModalLayout/utils/useDownloadPublicationsAsCSVFile.ts
@@ -41,12 +41,12 @@ export const useDownloadPublicationsAsCSVFile = (): UseDownloadPublicationsAsCSV
         ? searchedPublicationsList
         : await getAllBasePublications();
 
-    const standarizedPublications = await getStandarizedPublications({
+    const standardizedPublications = await getStandarizedPublications({
       publications,
       modelNameIdMap,
     });
 
-    return standarizedPublications;
+    return standardizedPublications;
   };
 
   const downloadPublicationsAsCSVFile = async (): Promise<void> => {
diff --git a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsTable/FilterBySubmapHeader/FilterBySubmapHeader.test.tsx b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsTable/FilterBySubmapHeader/FilterBySubmapHeader.test.tsx
index f238cef35c95fcd03152b257108fbaed3574c21e..237c4c989700d520965c56685a86849c4991a31c 100644
--- a/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsTable/FilterBySubmapHeader/FilterBySubmapHeader.test.tsx
+++ b/src/components/FunctionalArea/Modal/PublicationsModal/PublicationsTable/FilterBySubmapHeader/FilterBySubmapHeader.test.tsx
@@ -3,7 +3,7 @@ import { Provider } from 'react-redux';
 import configureMockStore from 'redux-mock-store';
 import thunk from 'redux-thunk';
 import { act } from 'react-dom/test-utils';
-import { mockNetworkResponse } from '@/utils/mockNetworkResponse';
+import { mockNetworkNewAPIResponse } from '@/utils/mockNetworkResponse';
 import {
   InitialStoreState,
   getReduxWrapperWithStore,
@@ -16,7 +16,7 @@ import { MODELS_MOCK } from '@/models/mocks/modelsMock';
 import { FIRST_ARRAY_ELEMENT, ZERO } from '@/constants/common';
 import { FilterBySubmapHeader } from './FilterBySubmapHeader.component';
 
-mockNetworkResponse();
+mockNetworkNewAPIResponse();
 
 const renderComponent = (initialStoreState: InitialStoreState = {}): { store: StoreType } => {
   const { Wrapper, store } = getReduxWrapperWithStore(initialStoreState);
diff --git a/src/models/mocks/publicationsResponseMock.ts b/src/models/mocks/publicationsResponseMock.ts
index c165eb985d4ca669ba36272d8d65ed3935c947c8..01240a657bac40972c623c608a5383181a42e5ae 100644
--- a/src/models/mocks/publicationsResponseMock.ts
+++ b/src/models/mocks/publicationsResponseMock.ts
@@ -1,283 +1,266 @@
-import { PublicationsResponse } from '@/types/models';
+import { FilteredPageOf, Publication } from '@/types/models';
+import { bioEntityFixture } from '@/models/fixtures/bioEntityFixture';
 
-export const PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK: PublicationsResponse = {
-  data: [
+export const PUBLICATIONS_DEFAULT_SEARCH_FIRST_10_MOCK: FilteredPageOf<Publication> = {
+  content: [
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 19519,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
       ],
-      publication: {
-        article: {
-          title: 'The glutamate receptor ion channels.',
-          authors: ['Dingledine R', ' Borges K', ' Bowie D', ' Traynelis SF.'],
-          journal: 'Pharmacological reviews',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10049997',
-          pubmedId: '10049997',
-          citationCount: 2458,
-        },
+      article: {
+        title: 'The glutamate receptor ion channels.',
+        authors: ['Dingledine R', ' Borges K', ' Bowie D', ' Traynelis SF.'],
+        journal: 'Pharmacological reviews',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10049997',
+        pubmedId: '10049997',
+        citationCount: 2458,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 16167,
-          modelId: 61,
-          type: 'REACTION',
+          model: 61,
         },
       ],
-      publication: {
-        article: {
-          title: 'Regulation of JNK signaling by GSTp.',
-          authors: [
-            'Adler V',
-            ' Yin Z',
-            ' Fuchs SY',
-            ' Benezra M',
-            ' Rosario L',
-            ' Tew KD',
-            ' Pincus MR',
-            ' Sardana M',
-            ' Henderson CJ',
-            ' Wolf CR',
-            ' Davis RJ',
-            ' Ronai Z.',
-          ],
-          journal: 'The EMBO journal',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10064598',
-          pubmedId: '10064598',
-          citationCount: 656,
-        },
+      article: {
+        title: 'Regulation of JNK signaling by GSTp.',
+        authors: [
+          'Adler V',
+          ' Yin Z',
+          ' Fuchs SY',
+          ' Benezra M',
+          ' Rosario L',
+          ' Tew KD',
+          ' Pincus MR',
+          ' Sardana M',
+          ' Henderson CJ',
+          ' Wolf CR',
+          ' Davis RJ',
+          ' Ronai Z.',
+        ],
+        journal: 'The EMBO journal',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10064598',
+        pubmedId: '10064598',
+        citationCount: 656,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 17823,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
         {
+          ...bioEntityFixture,
           id: 19461,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
       ],
-      publication: {
-        article: {
-          title:
-            'Generic signals and specific outcomes: signaling through Ca2+, calcineurin, and NF-AT.',
-          authors: ['Crabtree GR.'],
-          journal: 'Cell',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10089876',
-          pubmedId: '10089876',
-          citationCount: 454,
-        },
+      article: {
+        title:
+          'Generic signals and specific outcomes: signaling through Ca2+, calcineurin, and NF-AT.',
+        authors: ['Crabtree GR.'],
+        journal: 'Cell',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10089876',
+        pubmedId: '10089876',
+        citationCount: 454,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 18189,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
         {
+          ...bioEntityFixture,
           id: 18729,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
       ],
-      publication: {
-        article: {
-          title: 'G protein regulation of adenylate cyclase.',
-          authors: ['Simonds WF.'],
-          journal: 'Trends in pharmacological sciences',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10101967',
-          pubmedId: '10101967',
-          citationCount: 139,
-        },
+      article: {
+        title: 'G protein regulation of adenylate cyclase.',
+        authors: ['Simonds WF.'],
+        journal: 'Trends in pharmacological sciences',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10101967',
+        pubmedId: '10101967',
+        citationCount: 139,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 16077,
-          modelId: 58,
-          type: 'REACTION',
+          model: 58,
         },
         {
+          ...bioEntityFixture,
           id: 16135,
-          modelId: 58,
-          type: 'REACTION',
+          model: 58,
         },
       ],
-      publication: {
-        article: {
-          title:
-            'Akt promotes cell survival by phosphorylating and inhibiting a Forkhead transcription factor.',
-          authors: [
-            'Brunet A',
-            ' Bonni A',
-            ' Zigmond MJ',
-            ' Lin MZ',
-            ' Juo P',
-            ' Hu LS',
-            ' Anderson MJ',
-            ' Arden KC',
-            ' Blenis J',
-            ' Greenberg ME.',
-          ],
-          journal: 'Cell',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10102273',
-          pubmedId: '10102273',
-          citationCount: 4019,
-        },
+      article: {
+        title:
+          'Akt promotes cell survival by phosphorylating and inhibiting a Forkhead transcription factor.',
+        authors: [
+          'Brunet A',
+          ' Bonni A',
+          ' Zigmond MJ',
+          ' Lin MZ',
+          ' Juo P',
+          ' Hu LS',
+          ' Anderson MJ',
+          ' Arden KC',
+          ' Blenis J',
+          ' Greenberg ME.',
+        ],
+        journal: 'Cell',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10102273',
+        pubmedId: '10102273',
+        citationCount: 4019,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 15955,
-          modelId: 55,
-          type: 'REACTION',
+          model: 55,
         },
       ],
-      publication: {
-        article: {
-          title: 'Ca2+-induced apoptosis through calcineurin dephosphorylation of BAD.',
-          authors: [
-            'Wang HG',
-            ' Pathan N',
-            ' Ethell IM',
-            ' Krajewski S',
-            ' Yamaguchi Y',
-            ' Shibasaki F',
-            ' McKeon F',
-            ' Bobo T',
-            ' Franke TF',
-            ' Reed JC.',
-          ],
-          journal: 'Science (New York, N.Y.)',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10195903',
-          pubmedId: '10195903',
-          citationCount: 708,
-        },
+      article: {
+        title: 'Ca2+-induced apoptosis through calcineurin dephosphorylation of BAD.',
+        authors: [
+          'Wang HG',
+          ' Pathan N',
+          ' Ethell IM',
+          ' Krajewski S',
+          ' Yamaguchi Y',
+          ' Shibasaki F',
+          ' McKeon F',
+          ' Bobo T',
+          ' Franke TF',
+          ' Reed JC.',
+        ],
+        journal: 'Science (New York, N.Y.)',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10195903',
+        pubmedId: '10195903',
+        citationCount: 708,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 15937,
-          modelId: 55,
-          type: 'REACTION',
+          model: 55,
         },
         {
+          ...bioEntityFixture,
           id: 15955,
-          modelId: 55,
-          type: 'REACTION',
+          model: 55,
         },
       ],
-      publication: {
-        article: {
-          title:
-            'The proapoptotic activity of the Bcl-2 family member Bim is regulated by interaction with the dynein motor complex.',
-          authors: ['Puthalakath H', ' Huang DC', " O'Reilly LA", ' King SM', ' Strasser A.'],
-          journal: 'Molecular cell',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10198631',
-          pubmedId: '10198631',
-          citationCount: 662,
-        },
+      article: {
+        title:
+          'The proapoptotic activity of the Bcl-2 family member Bim is regulated by interaction with the dynein motor complex.',
+        authors: ['Puthalakath H', ' Huang DC', " O'Reilly LA", ' King SM', ' Strasser A.'],
+        journal: 'Molecular cell',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10198631',
+        pubmedId: '10198631',
+        citationCount: 662,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 15948,
-          modelId: 55,
-          type: 'REACTION',
+          model: 55,
         },
       ],
-      publication: {
-        article: {
-          title:
-            'An APAF-1.cytochrome c multimeric complex is a functional apoptosome that activates procaspase-9.',
-          authors: ['Zou H', ' Li Y', ' Liu X', ' Wang X.'],
-          journal: 'The Journal of biological chemistry',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10206961',
-          pubmedId: '10206961',
-          citationCount: 1162,
-        },
+      article: {
+        title:
+          'An APAF-1.cytochrome c multimeric complex is a functional apoptosome that activates procaspase-9.',
+        authors: ['Zou H', ' Li Y', ' Liu X', ' Wang X.'],
+        journal: 'The Journal of biological chemistry',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10206961',
+        pubmedId: '10206961',
+        citationCount: 1162,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 16286,
-          modelId: 62,
-          type: 'REACTION',
+          model: 62,
         },
       ],
-      publication: {
-        article: {
-          title:
-            'Biochemical characterization and crystal structure determination of human heart short chain L-3-hydroxyacyl-CoA dehydrogenase provide insights into catalytic mechanism.',
-          authors: [
-            'Barycki JJ',
-            " O'Brien LK",
-            ' Bratt JM',
-            ' Zhang R',
-            ' Sanishvili R',
-            ' Strauss AW',
-            ' Banaszak LJ.',
-          ],
-          journal: 'Biochemistry',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10231530',
-          pubmedId: '10231530',
-          citationCount: 56,
-        },
+      article: {
+        title:
+          'Biochemical characterization and crystal structure determination of human heart short chain L-3-hydroxyacyl-CoA dehydrogenase provide insights into catalytic mechanism.',
+        authors: [
+          'Barycki JJ',
+          " O'Brien LK",
+          ' Bratt JM',
+          ' Zhang R',
+          ' Sanishvili R',
+          ' Strauss AW',
+          ' Banaszak LJ.',
+        ],
+        journal: 'Biochemistry',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10231530',
+        pubmedId: '10231530',
+        citationCount: 56,
       },
     },
     {
       elements: [
         {
+          ...bioEntityFixture,
           id: 17780,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
         {
+          ...bioEntityFixture,
           id: 17937,
-          modelId: 52,
-          type: 'REACTION',
+          model: 52,
         },
       ],
-      publication: {
-        article: {
-          title: 'The Ca-calmodulin-dependent protein kinase cascade.',
-          authors: ['Soderling TR.'],
-          journal: 'Trends in biochemical sciences',
-          year: 1999,
-          link: 'https://www.ncbi.nlm.nih.gov/pubmed/10366852',
-          pubmedId: '10366852',
-          citationCount: 322,
-        },
+      article: {
+        title: 'The Ca-calmodulin-dependent protein kinase cascade.',
+        authors: ['Soderling TR.'],
+        journal: 'Trends in biochemical sciences',
+        year: 1999,
+        link: 'https://www.ncbi.nlm.nih.gov/pubmed/10366852',
+        pubmedId: '10366852',
+        citationCount: 322,
       },
     },
   ],
-  totalSize: 159,
+  totalElements: 159,
   filteredSize: 1586,
-  length: 10,
-  page: 0,
+  size: 10,
+  number: 0,
+  numberOfElements: 10,
+  totalPages: 16,
 };
diff --git a/src/models/pageableSchema.ts b/src/models/pageableSchema.ts
index 9ec3a540feba76b54ba5dc6cf721568d6d746fc8..4e772ffcdb29d0ebafe92cd77f184396edaba6f5 100644
--- a/src/models/pageableSchema.ts
+++ b/src/models/pageableSchema.ts
@@ -7,7 +7,7 @@ export const pageableSchema = <T extends ZodTypeAny>(type: T) =>
     totalPages: z.number().nonnegative(),
     totalElements: z.number().nonnegative(),
     numberOfElements: z.number().nonnegative(),
-    size: z.number().positive(),
+    size: z.number().nonnegative(),
     number: z.number().nonnegative(),
     content: z.array(type),
   });
diff --git a/src/models/publicationsResponseSchema.ts b/src/models/publicationsResponseSchema.ts
deleted file mode 100644
index 5bdcca5b4d1a1bd5540cb23832957567acdfc559..0000000000000000000000000000000000000000
--- a/src/models/publicationsResponseSchema.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { z } from 'zod';
-import { publicationSchema } from './publicationsSchema';
-
-export const publicationsResponseSchema = z.object({
-  data: z.array(publicationSchema),
-  totalSize: z.number(),
-  filteredSize: z.number(),
-  length: z.number(),
-  page: z.number(),
-});
diff --git a/src/models/publicationsSchema.ts b/src/models/publicationsSchema.ts
index b1574088a29007686de243593f69566a074b2ede..14ac77ff60234eeed55cadd991fec4c8ce6a7018 100644
--- a/src/models/publicationsSchema.ts
+++ b/src/models/publicationsSchema.ts
@@ -1,10 +1,8 @@
 import { z } from 'zod';
-import { targetElementSchema } from './targetElementSchema';
+import { bioEntitySchema } from '@/models/bioEntitySchema';
 import { articleSchema } from './articleSchema';
 
 export const publicationSchema = z.object({
-  elements: z.array(targetElementSchema),
-  publication: z.object({
-    article: articleSchema,
-  }),
+  elements: z.array(bioEntitySchema),
+  article: articleSchema,
 });
diff --git a/src/redux/publications/publications.selectors.ts b/src/redux/publications/publications.selectors.ts
index 8ed16fac20258871aef08b11e9d2ad66b3e05923..202156a92bb7b1048d876b97ab79c03bc1e8b5dc 100644
--- a/src/redux/publications/publications.selectors.ts
+++ b/src/redux/publications/publications.selectors.ts
@@ -11,20 +11,23 @@ export const publicationsDataSelector = createSelector(
 
 export const publicationsListDataSelector = createSelector(
   publicationsDataSelector,
-  data => data?.data,
+  data => data?.content,
 );
 
 /** totalSize is number of pages */
-export const totalSizeSelector = createSelector(publicationsDataSelector, data => data?.totalSize);
+export const totalSizeSelector = createSelector(
+  publicationsDataSelector,
+  data => data?.totalElements,
+);
 
 export const filteredSizeSelector = createSelector(
   publicationsDataSelector,
   data => data?.filteredSize,
 );
 
-export const currentPageSelector = createSelector(publicationsDataSelector, data => data?.page);
+export const currentPageSelector = createSelector(publicationsDataSelector, data => data?.number);
 export const paginationSelector = createSelector(publicationsDataSelector, data => ({
-  pageIndex: data?.page || ZERO,
+  pageIndex: data?.number || ZERO,
   pageSize: 10,
 }));
 
diff --git a/src/redux/publications/publications.thunks.ts b/src/redux/publications/publications.thunks.ts
index 4c03def9f0b594ea9450d5733df8034d7bc8cce7..c173c62027409c886eaeff291f5c7c51f191cdd1 100644
--- a/src/redux/publications/publications.thunks.ts
+++ b/src/redux/publications/publications.thunks.ts
@@ -1,23 +1,29 @@
 import { createAsyncThunk } from '@reduxjs/toolkit';
 import { validateDataUsingZodSchema } from '@/utils/validateDataUsingZodSchema';
-import { axiosInstance } from '@/services/api/utils/axiosInstance';
-import { PublicationsResponse } from '@/types/models';
-import { publicationsResponseSchema } from '@/models/publicationsResponseSchema';
+import { axiosInstanceNewAPI } from '@/services/api/utils/axiosInstance';
 import { ThunkConfig } from '@/types/store';
 import { getError } from '@/utils/error-report/getError';
+import { FilteredPageOf, Publication } from '@/types/models';
+import { pageableSchema } from '@/models/pageableSchema';
+import { publicationSchema } from '@/models/publicationsSchema';
 import { GetPublicationsParams } from './publications.types';
 import { apiPath } from '../apiPath';
 import { PUBLICATIONS_FETCHING_ERROR_PREFIX } from './publications.constatns';
 
 export const getPublications = createAsyncThunk<
-  PublicationsResponse | undefined,
+  FilteredPageOf<Publication> | undefined,
   GetPublicationsParams,
   ThunkConfig
 >('publications/getPublications', async params => {
   try {
-    const response = await axiosInstance.get<PublicationsResponse>(apiPath.getPublications(params));
+    const response = await axiosInstanceNewAPI.get<FilteredPageOf<Publication>>(
+      apiPath.getPublications(params),
+    );
 
-    const isDataValid = validateDataUsingZodSchema(response.data, publicationsResponseSchema);
+    const isDataValid = validateDataUsingZodSchema(
+      response.data,
+      pageableSchema(publicationSchema),
+    );
 
     return isDataValid ? response.data : undefined;
   } catch (error) {
diff --git a/src/redux/publications/publications.types.ts b/src/redux/publications/publications.types.ts
index 2654b800b83547b46a5b764fed866e17a52fe3dc..792e75448a6621e309877ca44737320ce82f595f 100644
--- a/src/redux/publications/publications.types.ts
+++ b/src/redux/publications/publications.types.ts
@@ -1,10 +1,10 @@
 import { FetchDataState } from '@/types/fetchDataState';
-import { PublicationsResponse } from '@/types/models';
+import { FilteredPageOf, Publication } from '@/types/models';
 
 export type SortColumn = '' | 'pubmedId' | 'title' | 'authors' | 'journal' | 'year' | 'level';
 export type SortOrder = 'asc' | 'desc';
 
-export type PublicationsState = FetchDataState<PublicationsResponse> & {
+export type PublicationsState = FetchDataState<FilteredPageOf<Publication>> & {
   sortColumn: SortColumn;
   sortOrder: SortOrder;
   selectedModelId?: string;
diff --git a/src/types/models.ts b/src/types/models.ts
index af20167b080040dc86ddd0eb954d518f3dfaa68c..b01270f9516341a00fe5263ef10c89aa9e3bd7c9 100644
--- a/src/types/models.ts
+++ b/src/types/models.ts
@@ -49,7 +49,6 @@ import {
 import { overviewImageView } from '@/models/overviewImageView';
 import { pluginSchema } from '@/models/pluginSchema';
 import { projectSchema } from '@/models/projectSchema';
-import { publicationsResponseSchema } from '@/models/publicationsResponseSchema';
 import { publicationSchema } from '@/models/publicationsSchema';
 import { referenceSchema } from '@/models/referenceSchema';
 import { sessionSchemaValid } from '@/models/sessionValidSchema';
@@ -150,7 +149,6 @@ export type Color = z.infer<typeof colorSchema>;
 export type Statistics = z.infer<typeof statisticsSchema>;
 export type CompartmentPathway = z.infer<typeof compartmentPathwaySchema>;
 export type CompartmentPathwayDetails = z.infer<typeof compartmentPathwayDetailsSchema>;
-export type PublicationsResponse = z.infer<typeof publicationsResponseSchema>;
 export type Publication = z.infer<typeof publicationSchema>;
 export type ExportNetwork = z.infer<typeof exportNetworkchema>;
 export type ExportElements = z.infer<typeof exportElementsSchema>;
@@ -180,4 +178,8 @@ export type PageOf<T> = {
   content: T[];
 };
 
+export type FilteredPageOf<T> = PageOf<T> & {
+  filteredSize: number;
+};
+
 export type OAuth = z.infer<typeof oauthSchema>;