diff --git a/src/Coscine.Api.STS/base.ts b/src/Coscine.Api.STS/base.ts
index ba99f02618cb43e5173e9d5d933c85954ba772a2..7b984b4b1d826893a7a35433c6c9f8a2b6aa09a0 100644
--- a/src/Coscine.Api.STS/base.ts
+++ b/src/Coscine.Api.STS/base.ts
@@ -19,7 +19,7 @@ import type { Configuration } from './configuration';
 import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
 import globalAxios from 'axios';
 
-export const BASE_PATH = "https://d-sp12.devlef.campus.rwth-aachen.de/coscine/api/Coscine.Api.STS".replace(/\/+$/, "");
+export const BASE_PATH = "https://d-sp23.devlef.campus.rwth-aachen.de/coscine/api/Coscine.Api.STS".replace(/\/+$/, "");
 
 /**
  *
diff --git a/src/Coscine.Api/@coscine/api/project-api.ts b/src/Coscine.Api/@coscine/api/project-api.ts
index 597b1498598d1bac672b418ff421b74297a870b5..233fc3868c5202ec4e708055a9d33354597be481 100644
--- a/src/Coscine.Api/@coscine/api/project-api.ts
+++ b/src/Coscine.Api/@coscine/api/project-api.ts
@@ -187,6 +187,7 @@ export const ProjectApiAxiosParamCreator = function (configuration?: Configurati
         /**
          * <p><strong>Required JWT roles for access:</strong> <code></code>.</p>
          * @summary Retrieves all projects.
+         * @param {boolean} [includeOrganizations] Gets or sets a value indicating whether to retrieve the organizations.
          * @param {boolean} [topLevel] Gets or sets a value indicating whether to retrieve only top-level projects.
          * @param {number} [pageNumber] The desired page number. Should be greater than or equal to 1. Default is 1.
          * @param {number} [pageSize] The desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
@@ -194,7 +195,7 @@ export const ProjectApiAxiosParamCreator = function (configuration?: Configurati
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        getProjects: async (topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        getProjects: async (includeOrganizations?: boolean, topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/api/v2/projects`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -210,6 +211,10 @@ export const ProjectApiAxiosParamCreator = function (configuration?: Configurati
             // authentication Bearer required
             await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
 
+            if (includeOrganizations !== undefined) {
+                localVarQueryParameter['IncludeOrganizations'] = includeOrganizations;
+            }
+
             if (topLevel !== undefined) {
                 localVarQueryParameter['TopLevel'] = topLevel;
             }
@@ -343,6 +348,7 @@ export const ProjectApiFp = function(configuration?: Configuration) {
         /**
          * <p><strong>Required JWT roles for access:</strong> <code></code>.</p>
          * @summary Retrieves all projects.
+         * @param {boolean} [includeOrganizations] Gets or sets a value indicating whether to retrieve the organizations.
          * @param {boolean} [topLevel] Gets or sets a value indicating whether to retrieve only top-level projects.
          * @param {number} [pageNumber] The desired page number. Should be greater than or equal to 1. Default is 1.
          * @param {number} [pageSize] The desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
@@ -350,8 +356,8 @@ export const ProjectApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async getProjects(topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectDtoPagedResponse>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.getProjects(topLevel, pageNumber, pageSize, orderBy, options);
+        async getProjects(includeOrganizations?: boolean, topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectDtoPagedResponse>> {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.getProjects(includeOrganizations, topLevel, pageNumber, pageSize, orderBy, options);
             const index = configuration?.serverIndex ?? 0;
             const operationBasePath = operationServerMap['ProjectApi.getProjects']?.[index]?.url;
             return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
@@ -427,7 +433,7 @@ export const ProjectApiFactory = function (configuration?: Configuration, basePa
          * @throws {RequiredError}
          */
         getProjects(requestParameters: ProjectApiGetProjectsRequest = {}, options?: AxiosRequestConfig): AxiosPromise<ProjectDtoPagedResponse> {
-            return localVarFp.getProjects(requestParameters.topLevel, requestParameters.pageNumber, requestParameters.pageSize, requestParameters.orderBy, options).then((request) => request(axios, basePath));
+            return localVarFp.getProjects(requestParameters.includeOrganizations, requestParameters.topLevel, requestParameters.pageNumber, requestParameters.pageSize, requestParameters.orderBy, options).then((request) => request(axios, basePath));
         },
         /**
          * <p><strong>Required JWT roles for access:</strong> <code></code>.</p>
@@ -497,6 +503,13 @@ export interface ProjectApiGetProjectRequest {
  * @interface ProjectApiGetProjectsRequest
  */
 export interface ProjectApiGetProjectsRequest {
+    /**
+     * Gets or sets a value indicating whether to retrieve the organizations.
+     * @type {boolean}
+     * @memberof ProjectApiGetProjects
+     */
+    readonly includeOrganizations?: boolean
+
     /**
      * Gets or sets a value indicating whether to retrieve only top-level projects.
      * @type {boolean}
@@ -610,7 +623,7 @@ export class ProjectApi extends BaseAPI {
      * @memberof ProjectApi
      */
     public getProjects(requestParameters: ProjectApiGetProjectsRequest = {}, options?: AxiosRequestConfig) {
-        return ProjectApiFp(this.configuration).getProjects(requestParameters.topLevel, requestParameters.pageNumber, requestParameters.pageSize, requestParameters.orderBy, options).then((request) => request(this.axios, this.basePath));
+        return ProjectApiFp(this.configuration).getProjects(requestParameters.includeOrganizations, requestParameters.topLevel, requestParameters.pageNumber, requestParameters.pageSize, requestParameters.orderBy, options).then((request) => request(this.axios, this.basePath));
     }
 
     /**
diff --git a/src/Coscine.Api/@coscine/model/resource-admin-dto.ts b/src/Coscine.Api/@coscine/model/resource-admin-dto.ts
index 48ee2b91bb0663ef2cc1e3379414d035146bb23a..22a660ec283fd52ede763eab782ded8eb0bbebc9 100644
--- a/src/Coscine.Api/@coscine/model/resource-admin-dto.ts
+++ b/src/Coscine.Api/@coscine/model/resource-admin-dto.ts
@@ -107,6 +107,12 @@ export interface ResourceAdminDto {
      * @memberof ResourceAdminDto
      */
     'metadataLocalCopy'?: boolean;
+    /**
+     * Setting for metadata extraction.
+     * @type {boolean}
+     * @memberof ResourceAdminDto
+     */
+    'metadataExtraction'?: boolean;
     /**
      * 
      * @type {ApplicationProfileMinimalDto}
diff --git a/src/Coscine.Api/@coscine/model/resource-dto.ts b/src/Coscine.Api/@coscine/model/resource-dto.ts
index 3727a3bf42c90814bbe6f47ca9ff045d401db62f..e9cb9c71c4a3131ea6e4a70c2a6df022d9865b89 100644
--- a/src/Coscine.Api/@coscine/model/resource-dto.ts
+++ b/src/Coscine.Api/@coscine/model/resource-dto.ts
@@ -101,6 +101,12 @@ export interface ResourceDto {
      * @memberof ResourceDto
      */
     'metadataLocalCopy'?: boolean;
+    /**
+     * Setting for metadata extraction.
+     * @type {boolean}
+     * @memberof ResourceDto
+     */
+    'metadataExtraction'?: boolean;
     /**
      * 
      * @type {ApplicationProfileMinimalDto}
diff --git a/src/Coscine.Api/base.ts b/src/Coscine.Api/base.ts
index 4ff64b63b683b53a801189aa7a535d512101dfc7..7a1bec6f19c665469ce93b9126c0d62dcb199f5a 100644
--- a/src/Coscine.Api/base.ts
+++ b/src/Coscine.Api/base.ts
@@ -19,7 +19,7 @@ import type { Configuration } from './configuration';
 import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
 import globalAxios from 'axios';
 
-export const BASE_PATH = "https://d-sp16.devlef.campus.rwth-aachen.de/coscine".replace(/\/+$/, "");
+export const BASE_PATH = "https://d-sp23.devlef.campus.rwth-aachen.de/coscine".replace(/\/+$/, "");
 
 /**
  *
diff --git a/src/apis.ts b/src/apis.ts
index a1c4e341deeea9c0b10ab79fc876d4c15a02846e..c5d43cc73df4c93ce5716d284798a58b163c9ed3 100644
--- a/src/apis.ts
+++ b/src/apis.ts
@@ -14,6 +14,7 @@ import { PidApiFactory } from './Coscine.Api/api';
 import { ProjectApiFactory } from './Coscine.Api/api';
 import { ProjectInvitationApiFactory } from './Coscine.Api/api';
 import { ProjectMemberApiFactory } from './Coscine.Api/api';
+import { ProjectPublicationRequestApiFactory } from './Coscine.Api/api';
 import { ProjectQuotaApiFactory } from './Coscine.Api/api';
 import { ProjectResourceApiFactory } from './Coscine.Api/api';
 import { ProjectResourceQuotaApiFactory } from './Coscine.Api/api';
@@ -47,7 +48,7 @@ if (typeof window !== 'undefined') {
 
 const getHostName = () => {
   const localStorageHostName = typeof window !== 'undefined' ? localStorage.getItem('coscine.api.hostname') : null;
-  if(localStorageHostName){
+  if (localStorageHostName) {
     return localStorageHostName;
   }
   let hostName = typeof window !== 'undefined' ? window.location.hostname : 'coscine.rwth-aachen.de';
@@ -79,6 +80,7 @@ function implementations(axios?: AxiosInstance) {
     ProjectApi: ProjectApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
     ProjectInvitationApi: ProjectInvitationApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
     ProjectMemberApi: ProjectMemberApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
+    ProjectPublicationRequestApi: ProjectPublicationRequestApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
     ProjectQuotaApi: ProjectQuotaApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
     ProjectResourceApi: ProjectResourceApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
     ProjectResourceQuotaApi: ProjectResourceQuotaApiFactory(new Configuration({ 'accessToken': accessToken }), 'https://' + getHostName() + '/coscine', axios),
diff --git a/src/index.ts b/src/index.ts
index 454c14780291c741b6401bfdd33399017cf03f05..56938fb0d28ea89db490e4df8b60aa7f4137528c 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -20,6 +20,7 @@ export const PidApi = apis.PidApi;
 export const ProjectApi = apis.ProjectApi;
 export const ProjectInvitationApi = apis.ProjectInvitationApi;
 export const ProjectMemberApi = apis.ProjectMemberApi;
+export const ProjectPublicationRequestApi = apis.ProjectPublicationRequestApi;
 export const ProjectQuotaApi = apis.ProjectQuotaApi;
 export const ProjectResourceApi = apis.ProjectResourceApi;
 export const ProjectResourceQuotaApi = apis.ProjectResourceQuotaApi;