diff --git a/README.md b/README.md
index 483053aa490e6f0dacaacca370f3ed3d996eafcb..e2d24258d07f5c27bd32cfb8e7301bffdae0b791 100644
--- a/README.md
+++ b/README.md
@@ -22,16 +22,30 @@ Update proxy.conf.json to set the corresponding backend api.
 
 ## Development server
 
-Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
+Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. 
+The app will automatically reload if you change any of the source files.
+This command run a proxy to contact backend services.
 
-## Code scaffolding
-
-Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
 
 ## Build
 
 Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
 
+## Generate Api 
+
+If you want to update the DLCM Api :
+- Pull the master branch of the project DLCM-Backend in a folder named `DLCM-Backend` at the same level of the frontend folder
+- On the project DLCM-Backend run `mvn clean package`
+- On this project run `npm run generate-dlcm-api`
+
+## Generate element
+
+Run `ng generate component component-name` to generate a new component. 
+
+You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
+
+More info [here](https://angular.io/cli/generate).
+
 ## Extract string to translate
 
 Run `npm run extract-translations` to extract string to translate into assets/i18n/*.json
diff --git a/clean-after-api-generation.sh b/clean-after-api-generation.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7d16fa22fcf3de2498f44d2ee41fb5f0742b3c36
--- /dev/null
+++ b/clean-after-api-generation.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+cd "src/app/generated-api"
+rm -fr .openapi-generator
+rm .gitignore
+rm .openapi-generator-ignore
+rm git_push.sh
+echo "Do not edit file inside this folder manually ! Generated automatically with \`generate-dlcm-api\`" > README.md
diff --git a/openapi-3.0-cleaned.json b/openapi-3.0-cleaned.json
deleted file mode 100644
index fd9397c6b0e767c762d71a6e18b96ed46d14d1bf..0000000000000000000000000000000000000000
--- a/openapi-3.0-cleaned.json
+++ /dev/null
@@ -1,1805 +0,0 @@
-{
-  "components": {"schemas": {
-    "application-roles": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _application-roles_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _application-roles_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the application role",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _application-roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _application-roles_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "oauth2-clients": {
-      "type": "object",
-      "properties": {
-        "redirectUri": {
-          "description": "The redirect URI of OAuth2 client",
-          "type": "string"
-        },
-        "grantTypes": {
-          "description": "The grant types of OAuth2 client",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "clientId": {
-          "description": "The client ID of OAuth2 client",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _oauth2-clients_ resource",
-          "type": "object"
-        },
-        "scope": {
-          "description": "The scope of OAuth2 client",
-          "type": "string"
-        },
-        "accessTokenValiditySeconds": {
-          "description": "The access token validity in seconds",
-          "type": "number"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _oauth2-clients_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of OAuth2 client",
-          "type": "string"
-        },
-        "secret": {
-          "description": "The password of OAuth2 client",
-          "type": "string"
-        },
-        "refreshTokenValiditySeconds": {
-          "description": "The refresh token validity in seconds",
-          "type": "number"
-        },
-        "resId": {
-          "description": "The _oauth2-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _oauth2-clients_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "roles": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _roles_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _roles_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the role",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _roles_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "dlcm-resource-srv": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _resource-srv_",
-          "type": "string"
-        }
-      }
-    },
-    "aip": {
-      "type": "object",
-      "properties": {
-        "checksums": {
-          "description": "The checksum list of the AIP",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "virusCheck": {
-          "type": "object",
-          "properties": {
-            "details": {
-              "description": "Result detail of virus check",
-              "type": "string"
-            },
-            "checkDate": {
-              "description": "Date of virus check execution",
-              "type": "string"
-            }
-          }
-        },
-        "archivalUnit": {
-          "description": "if the AIP is an unit (AIU) or a collection (AIC)",
-          "type": "boolean"
-        },
-        "_links": {
-          "description": "The _links_ list of the _aip_ resource",
-          "type": "object"
-        },
-        "smartSize": {
-          "description": "The size in human-readable format of the AIP",
-          "type": "string"
-        },
-        "sipIds": {
-          "description": "The source SIP IDs of the AIP",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "dataFileNumber": {
-          "description": "Number of AIP data files",
-          "type": "number"
-        },
-        "aipContainer": {
-          "description": "The container type of the AIP",
-          "type": "string"
-        },
-        "dispositionApproval": {
-          "description": "Mandatory step to approve the AIP disposition",
-          "type": "boolean"
-        },
-        "archiveSize": {
-          "description": "The size in bytes of the AIP",
-          "type": "number"
-        },
-        "resId": {
-          "description": "The _aip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "retentionEnd": {
-          "description": "The end of the AIP retention",
-          "type": "string"
-        },
-        "ready": {
-          "description": "If AIP package is ready",
-          "type": "boolean"
-        },
-        "collectionSize": {
-          "description": "Number of AIPs in collection",
-          "type": "number"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _aip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "smartRetention": {
-          "description": "The retention duration in human-readable format of the AIP",
-          "type": "string"
-        },
-        "retention": {
-          "description": "The retention duration in days of the AIP",
-          "type": "number"
-        },
-        "fileFormat": {
-          "type": "object",
-          "properties": {
-            "puid": {
-              "description": "Format PUID of file",
-              "type": "string"
-            },
-            "format": {
-              "description": "Format description of file",
-              "type": "string"
-            },
-            "details": {
-              "description": "Format details of file",
-              "type": "string"
-            },
-            "version": {
-              "description": "Format version of file",
-              "type": "string"
-            },
-            "contentType": {
-              "description": "Content type of file",
-              "type": "string"
-            },
-            "md5": {
-              "description": "MD5 checksum of file",
-              "type": "string"
-            }
-          }
-        },
-        "creation": {
-          "description": "The creation info of the _aip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "info": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "description": "The final access level of the package",
-              "type": "string"
-            },
-            "accessCurrentlyPublic": {
-              "description": "A boolean indicating wether the current access level is PUBLIC",
-              "type": "boolean"
-            },
-            "organizationalUnitId": {
-              "description": "The organizational Unit ID of the information package",
-              "type": "string"
-            },
-            "currentAccessLevel": {
-              "description": "The current access level, deducted from the final access level and an eventual embargo",
-              "type": "string"
-            },
-            "name": {
-              "description": "The name of the package",
-              "type": "string"
-            },
-            "complianceLevel": {
-              "description": "The compliance level of the package",
-              "type": "string"
-            },
-            "description": {
-              "description": "The description of the package",
-              "type": "string"
-            },
-            "embargo": {
-              "type": "object",
-              "properties": {
-                "months": {
-                  "description": "Month number of embargo duration",
-                  "type": "number"
-                },
-                "access": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                },
-                "startDate": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                }
-              }
-            },
-            "licenseId": {
-              "description": "The license ID of the package",
-              "type": "string"
-            },
-            "status": {
-              "description": "The status of the package",
-              "type": "string"
-            }
-          }
-        }
-      }
-    },
-    "dip": {
-      "type": "object",
-      "properties": {
-        "aipIds": {
-          "description": "The source AIP IDs of the DIP",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "_links": {
-          "description": "The _links_ list of the _dip_ resource",
-          "type": "object"
-        },
-        "ready": {
-          "description": "If DIP package is ready",
-          "type": "boolean"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _dip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "resId": {
-          "description": "The _dip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _dip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "info": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "description": "The final access level of the package",
-              "type": "string"
-            },
-            "accessCurrentlyPublic": {
-              "description": "A boolean indicating wether the current access level is PUBLIC",
-              "type": "boolean"
-            },
-            "organizationalUnitId": {
-              "description": "The organizational Unit ID of the information package",
-              "type": "string"
-            },
-            "currentAccessLevel": {
-              "description": "The current access level, deducted from the final access level and an eventual embargo",
-              "type": "string"
-            },
-            "name": {
-              "description": "The name of the package",
-              "type": "string"
-            },
-            "complianceLevel": {
-              "description": "The compliance level of the package",
-              "type": "string"
-            },
-            "description": {
-              "description": "The description of the package",
-              "type": "string"
-            },
-            "embargo": {
-              "type": "object",
-              "properties": {
-                "months": {
-                  "description": "Month number of embargo duration",
-                  "type": "number"
-                },
-                "access": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                },
-                "startDate": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                }
-              }
-            },
-            "licenseId": {
-              "description": "The license ID of the package",
-              "type": "string"
-            },
-            "status": {
-              "description": "The status of the package",
-              "type": "string"
-            }
-          }
-        }
-      }
-    },
-    "dlcm-archival-storage": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _archival-storage_",
-          "type": "string"
-        }
-      }
-    },
-    "organizational-units": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _organizational-units_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _organizational-units_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the organizational unit",
-          "type": "string"
-        },
-        "isEmpty": {
-          "description": "Indicates whether the organizational unit contains any data (depo, sip, aip)",
-          "type": "boolean"
-        },
-        "description": {
-          "description": "The description of the institution",
-          "type": "string"
-        },
-        "closingDate": {
-          "description": "The closing date of the organizational unit",
-          "type": "string"
-        },
-        "openingDate": {
-          "description": "The opening date of the organizational unit",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _organizational-units_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "open": {
-          "description": "Indicates whether the organizational unit is currently open",
-          "type": "boolean"
-        },
-        "creation": {
-          "description": "The creation info of the _organizational-units_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "oauth2-clients_example": {"type": "object"},
-    "dlcm-admin": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _admin_",
-          "type": "string"
-        }
-      }
-    },
-    "dlcm-data-mgmt": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _data-mgmt_",
-          "type": "string"
-        }
-      }
-    },
-    "submission-agreements": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _submission-agreements_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _submission-agreements_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "description": {
-          "description": "The description of the submission agreement",
-          "type": "string"
-        },
-        "title": {
-          "description": "The title of the submission agreement",
-          "type": "string"
-        },
-        "version": {
-          "description": "The version of the submission agreement",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _submission-agreements_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _submission-agreements_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "funding-agencies": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _funding-agencies_ resource",
-          "type": "object"
-        },
-        "acronym": {
-          "description": "The acronym of the funding agency",
-          "type": "string"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _funding-agencies_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the funding agency",
-          "type": "string"
-        },
-        "description": {
-          "description": "The description of the funding agency",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _funding-agencies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "url": {
-          "description": "The URL of the funding agency",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _funding-agencies_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "dlcm-ingest": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _ingest_",
-          "type": "string"
-        }
-      }
-    },
-    "dlcm-access": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _access_",
-          "type": "string"
-        }
-      }
-    },
-    "preservation-policies": {
-      "type": "object",
-      "properties": {
-        "useNumber": {
-          "description": "Use number in organizational units of the the preservation policy",
-          "type": "number"
-        },
-        "_links": {
-          "description": "The _links_ list of the _preservation-policies_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _preservation-policies_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the preservation policy",
-          "type": "string"
-        },
-        "smartRetention": {
-          "description": "The retention duration in human-readable format of the preservation policy",
-          "type": "string"
-        },
-        "dispositionApproval": {
-          "description": "Mandatory step to approve the AIP disposition",
-          "type": "boolean"
-        },
-        "resId": {
-          "description": "The _preservation-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "retention": {
-          "description": "The retention duration in days of the preservation policy",
-          "type": "number"
-        },
-        "creation": {
-          "description": "The creation info of the _preservation-policies_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "dlcm-preservation-planning": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _preservation-planning_",
-          "type": "string"
-        }
-      }
-    },
-    "sip": {
-      "type": "object",
-      "properties": {
-        "depositId": {
-          "description": "The source deposit ID of the SIP",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _sip_ resource",
-          "type": "object"
-        },
-        "dataFileNumber": {
-          "description": "Number of SIP data files",
-          "type": "number"
-        },
-        "dispositionApproval": {
-          "description": "Mandatory step to approve the AIP disposition",
-          "type": "boolean"
-        },
-        "aipId": {
-          "description": "The generated AIP DLCM ID of the SIP",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _sip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "ready": {
-          "description": "If the SIP package is ready",
-          "type": "boolean"
-        },
-        "collectionSize": {
-          "description": "Size of AIP collection",
-          "type": "number"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _sip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "smartRetention": {
-          "description": "The retention duration in human-readable format of the AIP",
-          "type": "string"
-        },
-        "retention": {
-          "description": "The retention duration in days of the AIP",
-          "type": "number"
-        },
-        "creation": {
-          "description": "The creation info of the _sip_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "info": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "description": "The final access level of the package",
-              "type": "string"
-            },
-            "accessCurrentlyPublic": {
-              "description": "A boolean indicating wether the current access level is PUBLIC",
-              "type": "boolean"
-            },
-            "organizationalUnitId": {
-              "description": "The organizational Unit ID of the information package",
-              "type": "string"
-            },
-            "currentAccessLevel": {
-              "description": "The current access level, deducted from the final access level and an eventual embargo",
-              "type": "string"
-            },
-            "name": {
-              "description": "The name of the package",
-              "type": "string"
-            },
-            "complianceLevel": {
-              "description": "The compliance level of the package",
-              "type": "string"
-            },
-            "description": {
-              "description": "The description of the package",
-              "type": "string"
-            },
-            "embargo": {
-              "type": "object",
-              "properties": {
-                "months": {
-                  "description": "Month number of embargo duration",
-                  "type": "number"
-                },
-                "access": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                },
-                "startDate": {
-                  "description": "Starting date of embargo period",
-                  "type": "string"
-                }
-              }
-            },
-            "licenseId": {
-              "description": "The license ID of the package",
-              "type": "string"
-            },
-            "status": {
-              "description": "The status of the package",
-              "type": "string"
-            }
-          }
-        }
-      }
-    },
-    "dlcm": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the application",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the application",
-          "type": "string"
-        }
-      }
-    },
-    "languages": {
-      "type": "object",
-      "properties": {
-        "code": {
-          "description": "The code of the language",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _languages_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _languages_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "resId": {
-          "description": "The _languages_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _languages_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "people": {
-      "type": "object",
-      "properties": {
-        "lastName": {
-          "description": "The last name of the person",
-          "type": "string"
-        },
-        "firstName": {
-          "description": "The first name of the person",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _people_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _people_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "fullName": {
-          "description": "The full name of the person",
-          "type": "string"
-        },
-        "orcid": {
-          "description": "The ORCID of the person",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _people_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _people_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "deposits": {
-      "type": "object",
-      "properties": {
-        "access": {
-          "description": "The access level of the deposit",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _deposits_ resource",
-          "type": "object"
-        },
-        "preservationPolicyId": {
-          "description": "The preservation policy ID of the deposit",
-          "type": "string"
-        },
-        "dataFileNumber": {
-          "description": "Number of deposit data files",
-          "type": "number"
-        },
-        "description": {
-          "description": "The description of the deposit",
-          "type": "string"
-        },
-        "title": {
-          "description": "The title of the deposit",
-          "type": "string"
-        },
-        "sipId": {
-          "description": "The generated SIP DLCM ID of the deposit",
-          "type": "string"
-        },
-        "collectionEnd": {
-          "description": "The end of the deposit collection",
-          "type": "string"
-        },
-        "organizationalUnitId": {
-          "description": "The organizational unit ID of the deposit",
-          "type": "string"
-        },
-        "hasEmbargo": {
-          "description": "If the deposit has an embargo",
-          "type": "boolean"
-        },
-        "submissionPolicyId": {
-          "description": "The submission policy ID of the deposit",
-          "type": "string"
-        },
-        "licenseId": {
-          "description": "The license ID of the deposit",
-          "type": "string"
-        },
-        "publicationDate": {
-          "description": "The publication date of the deposit",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _deposits_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "agreement": {
-          "description": "The submission agreement of the deposit",
-          "type": "boolean"
-        },
-        "allDataFileReady": {
-          "description": "If all data file are ready",
-          "type": "boolean"
-        },
-        "languageId": {
-          "description": "The language ID of the deposit",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _deposits_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "statusMessage": {
-          "description": "The message related to the status",
-          "type": "string"
-        },
-        "submissionAgreementId": {
-          "description": "The submission agreement of the deposit",
-          "type": "string"
-        },
-        "collectionSize": {
-          "description": "Size of AIP collection",
-          "type": "number"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _deposits_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "preparationId": {
-          "description": "The preparation ID of the deposit",
-          "type": "string"
-        },
-        "embargo": {
-          "type": "object",
-          "properties": {
-            "months": {
-              "description": "Month number of embargo duration",
-              "type": "number"
-            },
-            "access": {
-              "description": "Starting date of embargo period",
-              "type": "string"
-            },
-            "startDate": {
-              "description": "Starting date of embargo period",
-              "type": "string"
-            }
-          }
-        },
-        "collectionBegin": {
-          "description": "The beginning of the deposit collection",
-          "type": "string"
-        },
-        "status": {
-          "description": "The status of the deposit",
-          "type": "string"
-        },
-        "doi": {
-          "description": "The Digital Object Identifier (DOI) of the deposit",
-          "type": "string"
-        }
-      }
-    },
-    "users": {
-      "type": "object",
-      "properties": {
-        "externalUid": {
-          "description": "The external UID of the user",
-          "type": "string"
-        },
-        "lastName": {
-          "description": "The last name of the user",
-          "type": "string"
-        },
-        "applicationRoleNames": {
-          "description": "The application roles of the user",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "_links": {
-          "description": "The _links_ list of the _users_ resource",
-          "type": "object"
-        },
-        "targetedUid": {
-          "description": "The targeted UID of the user",
-          "type": "string"
-        },
-        "accessToken": {
-          "description": "The access token of the user",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _users_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "enabled": {
-          "description": "If the user is enable",
-          "type": "boolean"
-        },
-        "firstName": {
-          "description": "The first name of the user",
-          "type": "string"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _users_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "email": {
-          "description": "The email of the user",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _users_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "refreshToken": {
-          "description": "The refresh token of the user",
-          "type": "string"
-        },
-        "applicationRoles": {
-          "description": "The application roles details of the user",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        }
-      }
-    },
-    "institutions": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _institutions_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _institutions_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the institution",
-          "type": "string"
-        },
-        "emailSuffixes": {
-          "description": "List of email suffixes",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "description": {
-          "description": "The description of the institution",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _institutions_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "url": {
-          "description": "The URL of the institution website",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _institutions_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "dlcm-preingest": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the module, included its REST resources",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the module, i.e. _preingest_",
-          "type": "string"
-        }
-      }
-    },
-    "basic-auth-clients": {
-      "type": "object",
-      "properties": {
-        "password": {
-          "description": "The password of basic authentification client",
-          "type": "string"
-        },
-        "clientId": {
-          "description": "The name of basic authentification client",
-          "type": "string"
-        },
-        "_links": {
-          "description": "The _links_ list of the _basic-auth-clients_ resource",
-          "type": "object"
-        },
-        "credentialsNonExpired": {
-          "description": "If the client credentials are expired",
-          "type": "boolean"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _basic-auth-clients_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "personId": {
-          "description": "The linked person of basic authentification client",
-          "type": "string"
-        },
-        "accountNonExpired": {
-          "description": "If the client account is expired",
-          "type": "boolean"
-        },
-        "resId": {
-          "description": "The _basic-auth-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "enabled": {
-          "description": "If the client account is enable",
-          "type": "boolean"
-        },
-        "creation": {
-          "description": "The creation info of the _basic-auth-clients_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "applicationRoles": {
-          "description": "The application roles of basic authentification client",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "accountNonLocked": {
-          "description": "If the client account is not locked",
-          "type": "boolean"
-        }
-      }
-    },
-    "preservation-jobs": {
-      "type": "object",
-      "properties": {
-        "totalItems": {
-          "description": "The total number of items by the preservation job",
-          "type": "number"
-        },
-        "_links": {
-          "description": "The _links_ list of the _preservation-jobs_ resource",
-          "type": "object"
-        },
-        "endDate": {
-          "description": "The end date of the preservation job",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _preservation-jobs_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "statusMessage": {
-          "description": "The message related to the status",
-          "type": "string"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _preservation-jobs_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the preservation job",
-          "type": "string"
-        },
-        "ignoredItems": {
-          "description": "The number of ignored (not processed) items by the preservation job",
-          "type": "number"
-        },
-        "completionStatus": {
-          "description": "The completion status in pourcentage of the preservation job",
-          "type": "number"
-        },
-        "jobType": {
-          "description": "The job type of the preservation job ",
-          "type": "string"
-        },
-        "startDate": {
-          "description": "The start date of the preservation job",
-          "type": "string"
-        },
-        "processedItems": {
-          "description": "The number of processed items by the preservation job",
-          "type": "number"
-        },
-        "inErrorItems": {
-          "description": "The number of items in-error by the preservation job",
-          "type": "number"
-        },
-        "creation": {
-          "description": "The creation info of the _preservation-jobs_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "status": {
-          "description": "The status of the preservation job",
-          "type": "string"
-        }
-      }
-    },
-    "licenses": {
-      "type": "object",
-      "properties": {
-        "_links": {
-          "description": "The _links_ list of the _licenses_ resource",
-          "type": "object"
-        },
-        "isGeneric": {
-          "description": "Give if it's a generic license",
-          "type": "boolean"
-        },
-        "domainSoftware": {
-          "description": "The domain software",
-          "type": "boolean"
-        },
-        "title": {
-          "description": "The title of the license",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _licenses_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "url": {
-          "description": "The url source of the license",
-          "type": "string"
-        },
-        "maintainer": {
-          "description": "The maintainer of the license",
-          "type": "string"
-        },
-        "odConformance": {
-          "description": "The OD conformance status",
-          "type": "string"
-        },
-        "openLicenseId": {
-          "description": "The open license identifier",
-          "type": "string"
-        },
-        "osdConformance": {
-          "description": "The OSD conformance status",
-          "type": "string"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _licenses_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "domainData": {
-          "description": "The data domain",
-          "type": "boolean"
-        },
-        "family": {
-          "description": "The family license",
-          "type": "string"
-        },
-        "domainContent": {
-          "description": "The content of the domain",
-          "type": "boolean"
-        },
-        "creation": {
-          "description": "The creation info of the _licenses_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "status": {
-          "description": "The current status of the license",
-          "type": "string"
-        }
-      }
-    },
-    "orders": {
-      "type": "object",
-      "properties": {
-        "aipNumber": {
-          "description": "The AIP number of the order query",
-          "type": "number"
-        },
-        "_links": {
-          "description": "The _links_ list of the _orders_ resource",
-          "type": "object"
-        },
-        "query": {
-          "description": "The query of the order query",
-          "type": "string"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _orders_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the order query",
-          "type": "string"
-        },
-        "dipNumber": {
-          "description": "The DIP number of the order query",
-          "type": "number"
-        },
-        "resId": {
-          "description": "The _orders_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _orders_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "status": {
-          "description": "The status of the order query ",
-          "type": "string"
-        },
-        "queryType": {
-          "description": "The type of the order query",
-          "type": "string"
-        }
-      }
-    },
-    "submission-policies": {
-      "type": "object",
-      "properties": {
-        "useNumber": {
-          "description": "Use number in organizational units of the the submission policy",
-          "type": "number"
-        },
-        "submissionApproval": {
-          "description": "Mandatory step to approve a deposit",
-          "type": "boolean"
-        },
-        "_links": {
-          "description": "The _links_ list of the _submission-policies_ resource",
-          "type": "object"
-        },
-        "lastUpdate": {
-          "description": "The last updated info of the _submission-policies_ resource (see <<change-info>>)",
-          "type": "object"
-        },
-        "name": {
-          "description": "The name of the submission policy",
-          "type": "string"
-        },
-        "resId": {
-          "description": "The _submission-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]",
-          "type": "string"
-        },
-        "creation": {
-          "description": "The creation info of the _submission-policies_ resource (see <<change-info>>)",
-          "type": "object"
-        }
-      }
-    },
-    "oai-sets": {
-      "type": "object",
-      "properties": {
-        "_data": {
-          "description": "List the collection of the resources",
-          "type": "array",
-          "items": {"oneOf": [
-            {"type": "object"},
-            {"type": "boolean"},
-            {"type": "string"},
-            {"type": "number"}
-          ]}
-        },
-        "_page": {
-          "description": "Gives the total pages and the total available items of one resource",
-          "type": "object"
-        },
-        "_links": {
-          "description": "All links available on the resource",
-          "type": "object"
-        }
-      }
-    }
-  }},
-  "servers": [{"url": "http://localhost"}],
-  "openapi": "3.0.1",
-  "paths": {
-    "/admin/users": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/users": {"value": "{\"externalUid\":\"dlcm\",\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"targetedUid\":\"dlcm\",\"accessToken\":\"dlcm\",\"email\":\"admin@dlcm.ch\",\"refreshToken\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/users",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/users"},
-          "examples": {"application/admin/users": {"value": "{\"resId\":\"2a6c17d5-c126-41d1-91a4-006e2432b9a0\",\"creation\":{\"when\":\"2019-04-30T09:30:54.387+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.390+0000\",\"who\":\"Anonymous\"},\"externalUid\":\"dlcm\",\"targetedUid\":\"dlcm\",\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"email\":\"admin@dlcm.ch\",\"accessToken\":\"dlcm\",\"refreshToken\":\"dlcm\",\"person\":null,\"applicationRoles\":[],\"enabled\":true,\"applicationRoleNames\":[],\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/users/2a6c17d5-c126-41d1-91a4-006e2432b9a0\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/users\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/institutions": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/institutions": {"value": "{\"name\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"https://www.dlcm.ch/\"}"}}
-      }}},
-      "operationId": "application/admin/institutions",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/institutions"},
-          "examples": {"application/admin/institutions": {"value": "{\"resId\":\"e7d611fb-83b6-4a59-94b3-71bf55a47f92\",\"creation\":{\"when\":\"2019-04-30T09:30:53.162+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.167+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"https://www.dlcm.ch/\",\"emailSuffixes\":[],\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92/people\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92/organizational-units\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/preservation-planning": {"get": {
-      "operationId": "application/preservation-planning",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-preservation-planning"},
-          "examples": {"application/preservation-planning": {"value": "{\"name\":\"preservation-planning\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/preservation-planning/monitor\"},{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/preingest": {"get": {
-      "operationId": "application/preingest",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-preingest"},
-          "examples": {"application/preingest": {"value": "{\"name\":\"preingest\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"resources\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/resource-srv/application-roles": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/resource-srv/application-roles": {"value": "{\"name\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/resource-srv/application-roles",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/application-roles"},
-          "examples": {"application/resource-srv/application-roles": {"value": "{\"resId\":\"ec0f4422-794e-4115-abea-26fe3f308199\",\"creation\":{\"when\":\"2019-04-30T09:30:55.678+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.680+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles/ec0f4422-794e-4115-abea-26fe3f308199\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/preservation-planning/preservation-jobs": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/preservation-planning/preservation-jobs": {"value": "{\"endDate\":\"2018-08-10T15:36:50.323+0200\",\"name\":\"dlcm\",\"jobType\":\"RELOAD\",\"statusMessage\":\"dlcm\",\"startDate\":\"2018-07-10T15:36:50.323+0200\"}"}}
-      }}},
-      "operationId": "application/preservation-planning/preservation-jobs",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/preservation-jobs"},
-          "examples": {"application/preservation-planning/preservation-jobs": {"value": "{\"resId\":\"f108646d-3ded-4d1d-a6f9-6756dd3602f4\",\"creation\":{\"when\":\"2019-04-30T09:30:54.533+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.536+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"jobType\":\"RELOAD\",\"status\":\"PAUSED\",\"statusMessage\":\"dlcm\",\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"endDate\":\"2018-08-10T13:36:50.323+0000\",\"processedItems\":0,\"ignoredItems\":0,\"inErrorItems\":0,\"completionStatus\":0,\"totalItems\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"start\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4/start\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/people": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/people": {"value": "{\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"orcid\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/people",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/people"},
-          "examples": {"application/admin/people": {"value": "{\"resId\":\"2ce0c7e3-4ec7-4915-a99a-e9edd62803c6\",\"creation\":{\"when\":\"2019-04-30T09:30:53.316+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.319+0000\",\"who\":\"Anonymous\"},\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"orcid\":\"dlcm\",\"fullName\":\"dlcm, dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/people\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"institutions\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6/institutions\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6/organizational-units\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/oauth2-clients": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/oauth2-clients": {"value": "{\"redirectUri\":\"https://www.dlcm.ch/\",\"grantTypes\":[\"authorization_code\"],\"clientId\":\"dlcm\",\"scope\":\"READ\",\"accessTokenValiditySeconds\":\"3600\",\"name\":\"dlcm\",\"secret\":\"dlcm\",\"refreshTokenValiditySeconds\":\"3600\"}"}}
-      }}},
-      "operationId": "application/admin/oauth2-clients",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/oauth2-clients"},
-          "examples": {"application/admin/oauth2-clients": {"value": "{\"resId\":\"944e9d8c-9694-44ea-ad2f-74f1e5b9debc\",\"creation\":{\"when\":\"2019-04-30T09:30:53.773+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.776+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"clientId\":\"dlcm\",\"secret\":\"dlcm\",\"redirectUri\":\"https://www.dlcm.ch/\",\"scope\":\"READ\",\"grantTypes\":[\"authorization_code\"],\"accessTokenValiditySeconds\":3600,\"refreshTokenValiditySeconds\":3600,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients/944e9d8c-9694-44ea-ad2f-74f1e5b9debc\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/archival-storage/aip": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/archival-storage/aip": {"value": "{\"virusCheck\":{\"checkDate\":\"2018-07-10T15:36:50.323+0200\",\"details\":\"dlcm\"},\"aipContainer\":\"BAG_IT\",\"retention\":\"5\",\"fileFormat\":{\"format\":\"dlcm\",\"details\":\"dlcm\",\"puid\":\"dlcm\",\"contentType\":\"dlcm\",\"version\":\"dlcm\",\"md5\":\"dlcm\"},\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}}
-      }}},
-      "operationId": "application/archival-storage/aip",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/aip"},
-          "examples": {"application/archival-storage/aip": {"value": "{\"resId\":\"b8828a7a-7e12-42ee-b0fd-91be2abffe1d\",\"creation\":{\"when\":\"2019-04-30T09:30:55.044+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.047+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"aipContainer\":\"BAG_IT\",\"archivalUnit\":true,\"archiveId\":null,\"archiveSize\":0,\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"sipIds\":[],\"checksums\":[],\"fileFormat\":{\"contentType\":\"dlcm\",\"format\":\"dlcm\",\"version\":\"dlcm\",\"puid\":\"dlcm\",\"md5\":\"dlcm\",\"details\":\"dlcm\",\"tool\":null},\"virusCheck\":{\"checkDate\":\"2018-07-10T13:36:50.323+0000\",\"details\":\"dlcm\",\"tool\":null},\"ready\":true,\"retentionEnd\":\"2019-05-05T09:30:55.044Z\",\"smartSize\":\"0.0 B\",\"collectionSize\":0,\"dataFileNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/data\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/upload\"},\"resume\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/resume\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/access/dip": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/access/dip": {"value": "{\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}}
-      }}},
-      "operationId": "application/access/dip",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dip"},
-          "examples": {"application/access/dip": {"value": "{\"resId\":\"a69772ce-5679-4759-9ea0-e25e7865ddbf\",\"creation\":{\"when\":\"2019-04-30T09:30:55.379+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.382+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"aipIds\":[],\"ready\":false,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/access/dip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf/data\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/preservation-policies": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/preservation-policies": {"value": "{\"name\":\"dlcm\",\"retention\":\"5\"}"}}
-      }}},
-      "operationId": "application/admin/preservation-policies",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/preservation-policies"},
-          "examples": {"application/admin/preservation-policies": {"value": "{\"resId\":\"34b7eec1-97b4-4f98-a2c4-05e2321c5815\",\"creation\":{\"when\":\"2019-04-30T09:30:53.435+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.438+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"useNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies/34b7eec1-97b4-4f98-a2c4-05e2321c5815\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/submission-agreements": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/submission-agreements": {"value": "{\"title\":\"dlcm\",\"description\":\"dlcm\",\"version\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/submission-agreements",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/submission-agreements"},
-          "examples": {"application/admin/submission-agreements": {"value": "{\"resId\":\"a51d2a8c-82d6-4593-be01-a56149db0bf0\",\"creation\":{\"when\":\"2019-04-30T09:30:54.025+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.027+0000\",\"who\":\"Anonymous\"},\"title\":\"dlcm\",\"description\":\"dlcm\",\"version\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements/a51d2a8c-82d6-4593-be01-a56149db0bf0\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/organizational-units": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/organizational-units": {"value": "{\"name\":\"The name of the organizational unit\",\"description\":\"dlcm\",\"closingDate\":\"2018-10-01\",\"openingDate\":\"2018-01-01\"}"}}
-      }}},
-      "operationId": "application/admin/organizational-units",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/organizational-units"},
-          "examples": {"application/admin/organizational-units": {"value": "{\"resId\":\"5e190628-ad17-4bdf-b6ca-10b0e7275317\",\"creation\":{\"when\":\"2019-04-30T09:30:54.142+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.147+0000\",\"who\":\"Anonymous\"},\"name\":\"The name of the organizational unit\",\"description\":\"dlcm\",\"openingDate\":\"2018-01-01\",\"closingDate\":\"2018-10-01\",\"isEmpty\":true,\"defaultSubmissionPolicy\":null,\"defaultPreservationPolicy\":null,\"open\":false,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"institutions\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/institutions\"},\"preservation-policies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/preservation-policies\"},\"submission-policies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/submission-policies\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/people\"},\"funding-agencies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/funding-agencies\"},\"close\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/close\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/archival-storage/stored-aip": {"get": {
-      "operationId": "application/archival-storage/stored-aip",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/oai-sets"},
-          "examples": {"application/archival-storage/stored-aip": {"value": "{\"_data\":[{\"resId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"aipId\":\"db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"organizationalUnitId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444\",\"archiveUri\":\"file:///C:/Users/poittevf/DLCM-Storagion/707c7bc3-bfa1-4846-a62f-5ce95ecf1444/db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"archiveId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444/db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip/707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"download\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip/707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188/download\"}}}],\"_page\":{\"currentPage\":0,\"sizePage\":20,\"totalPages\":1,\"totalItems\":1},\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"lastCreated\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip?sort=creation.when,desc\"},\"lastUpdated\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip?sort=edit,desc\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/roles": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/roles": {"value": "{\"name\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/roles",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/roles"},
-          "examples": {"application/admin/roles": {"value": "{\"resId\":\"fcbafc07-2421-4b30-906c-ae50673b409e\",\"creation\":{\"when\":\"2019-04-30T09:30:53.904+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.906+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/roles/fcbafc07-2421-4b30-906c-ae50673b409e\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/roles\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/ingest": {"get": {
-      "operationId": "application/ingest",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-ingest"},
-          "examples": {"application/ingest": {"value": "{\"name\":\"ingest\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"resources\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/archival-storage": {"get": {
-      "operationId": "application/archival-storage",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-archival-storage"},
-          "examples": {"application/archival-storage": {"value": "{\"name\":\"archival-storage\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip\"},{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/submission-policies": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/submission-policies": {"value": "{\"name\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/submission-policies",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/submission-policies"},
-          "examples": {"application/admin/submission-policies": {"value": "{\"resId\":\"4c4c176c-137e-47a5-be68-d9d0b47b4cc9\",\"creation\":{\"when\":\"2019-04-30T09:30:54.286+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.288+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"submissionApproval\":true,\"useNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies/4c4c176c-137e-47a5-be68-d9d0b47b4cc9\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/access/orders": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/access/orders": {"value": "{\"name\":\"dlcm\",\"query\":\"dlcm\",\"queryType\":\"SIMPLE\"}"}}
-      }}},
-      "operationId": "application/access/orders",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/orders"},
-          "examples": {"application/access/orders": {"value": "{\"resId\":\"f24e0c4f-2883-49fd-bae1-a6754549f39a\",\"creation\":{\"when\":\"2019-04-30T09:30:55.260+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.262+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"status\":\"IN_PROGRESS\",\"statusMessage\":null,\"queryType\":\"SIMPLE\",\"query\":\"dlcm\",\"dipNumber\":0,\"aipNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/access/orders\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/aip\"},\"view\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/view\"},\"save\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/save\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/resource-srv/basic-auth-clients": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/resource-srv/basic-auth-clients": {"value": "{\"password\":\"dlcm\",\"clientId\":\"dlcm\",\"personId\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/resource-srv/basic-auth-clients",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/basic-auth-clients"},
-          "examples": {"application/resource-srv/basic-auth-clients": {"value": "{\"resId\":\"b7579bc5-2b6a-4f71-8734-3eda78bfb134\",\"creation\":{\"when\":\"2019-04-30T09:30:55.497+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.563+0000\",\"who\":\"Anonymous\"},\"clientId\":\"dlcm\",\"applicationRoles\":[],\"personId\":\"dlcm\",\"person\":null,\"enabled\":true,\"credentialsNonExpired\":true,\"accountNonLocked\":true,\"accountNonExpired\":true,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients/b7579bc5-2b6a-4f71-8734-3eda78bfb134\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/": {"get": {
-      "operationId": "application",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm"},
-          "examples": {"application": {"value": "{\"name\":\"Default Server Display Name\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/\"},\"dashboard\":{\"href\":\"http://localhost:8080/dlcm/dashboard\"},\"admin\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"preservation-planning\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"preingest\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"ingest\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"archival-storage\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"data-mgmt\":{\"href\":\"http://localhost:8080/dlcm/data-mgmt\"},\"access\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"resource-srv\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/licenses": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/licenses": {"value": "{\"odConformance\":\"approved\",\"openLicenseId\":\"dlcm\",\"osdConformance\":\"approved\",\"isGeneric\":\"true\",\"domainSoftware\":\"true\",\"domainData\":\"true\",\"title\":\"dlcm\",\"family\":\"dlcm\",\"domainContent\":\"true\",\"maintainer\":\"dlcm\",\"url\":\"dlcm\",\"status\":\"active\"}"}}
-      }}},
-      "operationId": "application/admin/licenses",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/licenses"},
-          "examples": {"application/admin/licenses": {"value": "{\"resId\":\"9bc3ed5f-7240-42a7-94d9-c959dc63c20d\",\"creation\":{\"when\":\"2019-04-30T09:30:53.655+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.658+0000\",\"who\":\"Anonymous\"},\"openLicenseId\":\"dlcm\",\"title\":\"dlcm\",\"domainContent\":true,\"domainData\":true,\"domainSoftware\":true,\"family\":\"dlcm\",\"maintainer\":\"dlcm\",\"isGeneric\":true,\"url\":\"dlcm\",\"status\":\"active\",\"odConformance\":\"approved\",\"osdConformance\":\"approved\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/licenses/9bc3ed5f-7240-42a7-94d9-c959dc63c20d\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/licenses\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/funding-agencies": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/funding-agencies": {"value": "{\"name\":\"dlcm\",\"description\":\"dlcm\",\"acronym\":\"dlcm\",\"url\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/funding-agencies",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/funding-agencies"},
-          "examples": {"application/admin/funding-agencies": {"value": "{\"resId\":\"28150c22-5214-4e15-8a67-587e9fb3ddcf\",\"creation\":{\"when\":\"2019-04-30T09:30:52.858+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:52.919+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"acronym\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies/28150c22-5214-4e15-8a67-587e9fb3ddcf\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies/28150c22-5214-4e15-8a67-587e9fb3ddcf/organizational-units\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/access/oai-sets": {"get": {
-      "operationId": "application/access/oai-sets",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/oai-sets"},
-          "examples": {"application/access/oai-sets": {"value": "{\"_data\":[],\"_page\":{\"currentPage\":0,\"sizePage\":20,\"totalPages\":0,\"totalItems\":0},\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"lastCreated\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets?sort=creation.when,desc\"},\"lastUpdated\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets?sort=edit,desc\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets/organizational-units\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/resource-srv": {"get": {
-      "operationId": "application/resource-srv",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-resource-srv"},
-          "examples": {"application/resource-srv": {"value": "{\"name\":\"resource-srv\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients\"},{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles\"}],\"tools\":[{\"href\":\"http://localhost:8080/dlcm/resource-srv/checkTool?toolName=DLCM%20File%20Format\"},{\"href\":\"http://localhost:8080/dlcm/resource-srv/checkTool?toolName=DLCM%20Virus%20Check\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/ingest/sip": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/ingest/sip": {"value": "{\"depositId\":\"dlcm\",\"aipId\":\"dlcm\",\"retention\":\"5\",\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}}
-      }}},
-      "operationId": "application/ingest/sip",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/sip"},
-          "examples": {"application/ingest/sip": {"value": "{\"resId\":\"222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c\",\"creation\":{\"when\":\"2019-04-30T09:30:54.910+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.912+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"depositId\":\"dlcm\",\"aipId\":\"dlcm\",\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"ready\":false,\"collectionSize\":0,\"dataFileNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/data\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/aip\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/upload\"},\"resume\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/resume\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin/languages": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/admin/languages": {"value": "{\"code\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/admin/languages",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/languages"},
-          "examples": {"application/admin/languages": {"value": "{\"resId\":\"0724ee06-a80c-45fe-9179-57b3633520de\",\"creation\":{\"when\":\"2019-04-30T09:30:53.551+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.553+0000\",\"who\":\"Anonymous\"},\"code\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/languages/0724ee06-a80c-45fe-9179-57b3633520de\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/languages\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/admin": {"get": {
-      "operationId": "application/admin",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-admin"},
-          "examples": {"application/admin": {"value": "{\"name\":\"admin\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies\"},{\"href\":\"http://localhost:8080/dlcm/admin/authorized-organizational-units\"},{\"href\":\"http://localhost:8080/dlcm/admin/institutions\"},{\"href\":\"http://localhost:8080/dlcm/admin/people\"},{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies\"},{\"href\":\"http://localhost:8080/dlcm/admin/languages\"},{\"href\":\"http://localhost:8080/dlcm/admin/licenses\"},{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients\"},{\"href\":\"http://localhost:8080/dlcm/admin/roles\"},{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements\"},{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units\"},{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies\"},{\"href\":\"http://localhost:8080/dlcm/admin/users\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/preingest/deposits": {"post": {
-      "requestBody": {"content": {"application/json": {
-        "schema": {"$ref": "#/components/schemas/oauth2-clients_example"},
-        "examples": {"application/preingest/deposits": {"value": "{\"access\":\"PUBLIC\",\"preservationPolicyId\":\"dlcm\",\"languageId\":\"dlcm\",\"description\":\"dlcm\",\"title\":\"dlcm\",\"statusMessage\":\"dlcm\",\"sipId\":\"dlcm\",\"collectionEnd\":\"2018-12-10T13:00:00+0100\",\"submissionAgreementId\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"submissionPolicyId\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"preparationId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"publicationDate\":\"2018-07-10\",\"collectionBegin\":\"2018-12-01T13:00:00+0100\",\"doi\":\"dlcm\"}"}}
-      }}},
-      "operationId": "application/preingest/deposits",
-      "responses": {"201": {
-        "description": "201",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/deposits"},
-          "examples": {"application/preingest/deposits": {"value": "{\"resId\":\"520b74c3-fa86-4c80-879e-ad23d110773c\",\"creation\":{\"when\":\"2019-04-30T09:30:54.667+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.674+0000\",\"who\":\"Anonymous\"},\"title\":\"dlcm\",\"status\":\"IN_PROGRESS\",\"statusMessage\":\"dlcm\",\"sipId\":\"dlcm\",\"preparationId\":\"dlcm\",\"doi\":\"dlcm\",\"agreement\":false,\"publicationDate\":\"2018-07-10\",\"collectionBegin\":\"2018-12-01T12:00:00+0000\",\"collectionEnd\":\"2018-12-10T12:00:00+0000\",\"access\":\"PUBLIC\",\"language\":null,\"languageId\":\"dlcm\",\"submissionAgreementId\":\"dlcm\",\"licenseId\":\"CC-BY-4-0\",\"organizationalUnit\":null,\"organizationalUnitId\":\"dlcm\",\"description\":\"dlcm\",\"keywords\":null,\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"submissionPolicy\":null,\"submissionPolicyId\":\"dlcm\",\"preservationPolicy\":null,\"preservationPolicyId\":\"dlcm\",\"complianceLevel\":null,\"allDataFileReady\":false,\"hasEmbargo\":true,\"collectionSize\":0,\"dataFileNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/people\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/data\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/aip\"},\"submission-agreements\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/submission-agreements\"},\"licenses\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/licenses\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/upload\"},\"upload-archive\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/upload-archive\"},\"download\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/download\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/history\"}}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/data-mgmt": {"get": {
-      "operationId": "application/data-mgmt",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-data-mgmt"},
-          "examples": {"application/data-mgmt": {"value": "{\"name\":\"data-mgmt\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/data-mgmt\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/data-mgmt/di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/items\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/private-di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/public-di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/settings\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }},
-    "/access": {"get": {
-      "operationId": "application/access",
-      "responses": {"200": {
-        "description": "200",
-        "content": {"application/hal+json": {
-          "schema": {"$ref": "#/components/schemas/dlcm-access"},
-          "examples": {"application/access": {"value": "{\"name\":\"access\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/access/oai-sets\"},{\"href\":\"http://localhost:8080/dlcm/access/orders\"},{\"href\":\"http://localhost:8080/dlcm/access/private-metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/aip\"},{\"href\":\"http://localhost:8080/dlcm/access/all-metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/dip\"},{\"href\":\"http://localhost:8080/dlcm/access/metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/oai-provider\"}]}}"}}
-        }}
-      }},
-      "tags": ["dlcm"]
-    }}
-  },
-  "info": {
-    "description": "DLCM application wrapping all modules, All-In-One",
-    "title": "DLCM-Solution",
-    "version": "1.3.0-SNAPSHOT"
-  },
-  "tags": []
-}
\ No newline at end of file
diff --git a/package.json b/package.json
index a66b1daee9d97c8def1df37a178d3c8223eb359e..ed26ebe911960cf6ddf3e730310adcccfa32a85f 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
     "lint": "ng lint",
     "e2e": "ng e2e",
     "extract-translations": "ngx-translate-extract --input ./src --output ./src/assets/i18n/fr.json ./src/assets/i18n/en.json ./src/assets/i18n/de.json --clean --sort --format namespaced-json --marker TRANSLATE",
-    "generate-ts-api": "rm -fR generated-sources/openapi && openapi-generator generate -i ../DLCM-Backend/DLCM-Solution/target/classes/static/openapi/openapi-3.0.json -g typescript-angular -o generated-sources/openapi --additional-properties=\"ngVersion=7.2.0,npmName=dlcmApi\" --skip-validate-spec"
+    "generate-dlcm-api": "rm -fR src/app/generated-api && openapi-generator generate -i ../DLCM-Backend/DLCM-Solution/target/classes/static/openapi/openapi-3.0.json -g typescript-angular -o src/app/generated-api --additional-properties=\"ngVersion=7.2.0\" --skip-validate-spec && clean-after-api-generation.sh"
   },
   "private": true,
   "dependencies": {
diff --git a/src/app/access/views/access-view/access-view.component.html b/src/app/access/views/access-view/access-view.component.html
index 5bd11b21357eeff6dbab652d07e2e7174af4c673..b51e2d7543b7bc360be40c97a88396ca5880eed2 100644
--- a/src/app/access/views/access-view/access-view.component.html
+++ b/src/app/access/views/access-view/access-view.component.html
@@ -1,3 +1,6 @@
 <p>
   access-view works!
 </p>
+
+<button (click)="testApiAccess()">Test Api Access</button>
+<button (click)="testApiDeposit()">Test Api Deposit</button>
diff --git a/src/app/access/views/access-view/access-view.component.ts b/src/app/access/views/access-view/access-view.component.ts
index 8969b81e811284fcc7e511469c7e4283b3cd6ac3..f63a61c0f16df17d170541e06f179a1dda6c1ab9 100644
--- a/src/app/access/views/access-view/access-view.component.ts
+++ b/src/app/access/views/access-view/access-view.component.ts
@@ -1,6 +1,9 @@
 import {Component, OnInit} from '@angular/core';
-import {Select, Store} from '@ngxs/store';
 import {ViewDIP} from '@app/access/access.action';
+import {DlcmService} from '@app/generated-api/api/dlcm.service';
+import {Deposits} from '@app/generated-api/model/deposits';
+import {DlcmAccess} from '@app/generated-api/model/dlcmAccess';
+import {Select, Store} from '@ngxs/store';
 import {Observable} from 'rxjs';
 
 
@@ -12,7 +15,7 @@ import {Observable} from 'rxjs';
 export class AccessViewComponent implements OnInit {
   @Select(state => state.animals) animals$: Observable<any>;
 
-  constructor(private store: Store) {
+  constructor(private store: Store, private service: DlcmService) {
   }
 
   ngOnInit() {
@@ -22,4 +25,15 @@ export class AccessViewComponent implements OnInit {
     this.store.dispatch(new ViewDIP(name));
   }
 
+  testApiAccess() {
+    this.service.applicationAccess().subscribe((res: DlcmAccess) => {
+      console.log('res', res);
+    });
+  }
+
+  testApiDeposit() {
+    this.service.applicationPreingestDeposits().subscribe((res: Deposits) => {
+      console.log('res', res);
+    });
+  }
 }
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 94ff287388414b3b6c4c7328f6ddb3d35d72b7b6..d07d1eeecbe6fae5d610a0569b6600f5d099a8c2 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -2,11 +2,15 @@ import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/h
 import {NgModule} from '@angular/core';
 import {BrowserModule} from '@angular/platform-browser';
 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
+import {DlcmInterceptor} from '@app/dlcm.interceptor';
+import {ApiModule} from '@app/generated-api/api.module';
+import {BASE_PATH} from '@app/generated-api/variables';
 import {SharedModule} from '@app/shared/shared.module';
 import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
 import {TranslateHttpLoader} from '@ngx-translate/http-loader';
 import {NgxsModule} from '@ngxs/store';
 import {AuthConfig, JwksValidationHandler, OAuthModule, OAuthModuleConfig, OAuthStorage, ValidationHandler} from 'angular-oauth2-oidc';
+import {environment} from '../environments/environment';
 import {AppRoutingModule} from './app-routing.module';
 import {AppComponent} from './app.component';
 import {AppService} from './app.service';
@@ -14,9 +18,6 @@ import {authConfig, authModuleConfig} from './auth.config';
 import {HomeComponent} from './components/home/home.component';
 import {LoginComponent} from './components/login/login.component';
 import {PageNotFoundComponent} from './components/page-not-found/page-not-found.component';
-import {DlcmInterceptor} from './dlcm.interceptor';
-// import {ApiModule, BASE_PATH} from 'dlcmApi';
-// import {environment} from '../environments/environment';
 
 @NgModule({
   declarations: [
@@ -30,7 +31,7 @@ import {DlcmInterceptor} from './dlcm.interceptor';
     BrowserAnimationsModule,
     AppRoutingModule,
     NgxsModule.forRoot([]),
-    // ApiModule,
+    ApiModule,
     HttpClientModule,
     OAuthModule.forRoot(authModuleConfig),
     TranslateModule.forRoot({
@@ -44,12 +45,27 @@ import {DlcmInterceptor} from './dlcm.interceptor';
   ],
   providers: [
     AppService,
-    {provide: OAuthModuleConfig, useValue: authModuleConfig},
-    {provide: ValidationHandler, useClass: JwksValidationHandler},
-    // {provide: OAuthStorage, useClass: DlcmStorage},
-    {provide: OAuthStorage, useValue: sessionStorage},
-    {provide: AuthConfig, useValue: authConfig},
-    // {provide: BASE_PATH, useValue: environment.API_BASE_PATH},
+    {
+      provide: OAuthModuleConfig,
+      useValue: authModuleConfig,
+    },
+    {
+      provide: ValidationHandler,
+      useClass: JwksValidationHandler,
+    },
+    {
+      provide: OAuthStorage,
+      useValue: sessionStorage,
+      // useClass: DlcmStorage
+    },
+    {
+      provide: AuthConfig,
+      useValue: authConfig,
+    },
+    {
+      provide: BASE_PATH,
+      useValue: environment.API_BASE_PATH,
+    },
     {
       provide: HTTP_INTERCEPTORS,
       useClass: DlcmInterceptor,
diff --git a/src/app/dlcm.interceptor.ts b/src/app/dlcm.interceptor.ts
index cb56dab3f16e0f7d7a096a94fd9244d6057795e6..d46673f3abb0d65da311396e83ae24ed723a0a02 100644
--- a/src/app/dlcm.interceptor.ts
+++ b/src/app/dlcm.interceptor.ts
@@ -1,7 +1,7 @@
 import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
 import {Injectable} from '@angular/core';
-import {Observable} from 'rxjs';
 import {OAuthService} from 'angular-oauth2-oidc';
+import {Observable} from 'rxjs';
 
 @Injectable()
 export class DlcmInterceptor implements HttpInterceptor {
diff --git a/src/app/generated-api/README.md b/src/app/generated-api/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8f3cb2782bbd6e2f5b339d696584b75f748fd449
--- /dev/null
+++ b/src/app/generated-api/README.md
@@ -0,0 +1 @@
+Do not edit file inside this folder manually ! Generated automatically with `generate-dlcm-api`
diff --git a/src/app/generated-api/api.module.ts b/src/app/generated-api/api.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..cb5f5bdc91c96a01e094829e8ec32ff1d99267f2
--- /dev/null
+++ b/src/app/generated-api/api.module.ts
@@ -0,0 +1,33 @@
+import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';
+import { Configuration } from './configuration';
+import { HttpClient } from '@angular/common/http';
+
+
+import { DlcmService } from './api/dlcm.service';
+
+@NgModule({
+  imports:      [],
+  declarations: [],
+  exports:      [],
+  providers: [
+    DlcmService ]
+})
+export class ApiModule {
+    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {
+        return {
+            ngModule: ApiModule,
+            providers: [ { provide: Configuration, useFactory: configurationFactory } ]
+        };
+    }
+
+    constructor( @Optional() @SkipSelf() parentModule: ApiModule,
+                 @Optional() http: HttpClient) {
+        if (parentModule) {
+            throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
+        }
+        if (!http) {
+            throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
+            'See also https://github.com/angular/angular/issues/20575');
+        }
+    }
+}
diff --git a/src/app/generated-api/api/api.ts b/src/app/generated-api/api/api.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b6a9fd6428c2983ae8da1ed6b2d5ecab5b383017
--- /dev/null
+++ b/src/app/generated-api/api/api.ts
@@ -0,0 +1,3 @@
+export * from './dlcm.service';
+import { DlcmService } from './dlcm.service';
+export const APIS = [DlcmService];
diff --git a/src/app/generated-api/api/dlcm.service.ts b/src/app/generated-api/api/dlcm.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d04e825b660dd1a1442112e750f1e417712bbba5
--- /dev/null
+++ b/src/app/generated-api/api/dlcm.service.ts
@@ -0,0 +1,1347 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+/* tslint:disable:no-unused-variable member-ordering */
+
+import { Inject, Injectable, Optional }                      from '@angular/core';
+import { HttpClient, HttpHeaders, HttpParams,
+         HttpResponse, HttpEvent }                           from '@angular/common/http';
+import { CustomHttpUrlEncodingCodec }                        from '../encoder';
+
+import { Observable }                                        from 'rxjs';
+
+import { Aip } from '../model/aip';
+import { ApplicationRoles } from '../model/applicationRoles';
+import { BasicAuthClients } from '../model/basicAuthClients';
+import { Deposits } from '../model/deposits';
+import { Dip } from '../model/dip';
+import { Dlcm } from '../model/dlcm';
+import { DlcmAccess } from '../model/dlcmAccess';
+import { DlcmAdmin } from '../model/dlcmAdmin';
+import { DlcmArchivalStorage } from '../model/dlcmArchivalStorage';
+import { DlcmDataMgmt } from '../model/dlcmDataMgmt';
+import { DlcmIngest } from '../model/dlcmIngest';
+import { DlcmPreingest } from '../model/dlcmPreingest';
+import { DlcmPreservationPlanning } from '../model/dlcmPreservationPlanning';
+import { DlcmResourceSrv } from '../model/dlcmResourceSrv';
+import { FundingAgencies } from '../model/fundingAgencies';
+import { Institutions } from '../model/institutions';
+import { Languages } from '../model/languages';
+import { Licenses } from '../model/licenses';
+import { OaiSets } from '../model/oaiSets';
+import { Oauth2Clients } from '../model/oauth2Clients';
+import { Orders } from '../model/orders';
+import { OrganizationalUnits } from '../model/organizationalUnits';
+import { People } from '../model/people';
+import { PreservationJobs } from '../model/preservationJobs';
+import { PreservationPolicies } from '../model/preservationPolicies';
+import { Roles } from '../model/roles';
+import { Sip } from '../model/sip';
+import { SubmissionAgreements } from '../model/submissionAgreements';
+import { SubmissionPolicies } from '../model/submissionPolicies';
+import { Users } from '../model/users';
+
+import { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';
+import { Configuration }                                     from '../configuration';
+
+
+@Injectable({
+  providedIn: 'root'
+})
+export class DlcmService {
+
+    protected basePath = 'http://localhost';
+    public defaultHeaders = new HttpHeaders();
+    public configuration = new Configuration();
+
+    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {
+
+        if (configuration) {
+            this.configuration = configuration;
+            this.configuration.basePath = configuration.basePath || basePath || this.basePath;
+
+        } else {
+            this.configuration.basePath = basePath || this.basePath;
+        }
+    }
+
+    /**
+     * @param consumes string[] mime-types
+     * @return true: consumes contains 'multipart/form-data', false: otherwise
+     */
+    private canConsumeForm(consumes: string[]): boolean {
+        const form = 'multipart/form-data';
+        for (const consume of consumes) {
+            if (form === consume) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public application(observe?: 'body', reportProgress?: boolean): Observable<Dlcm>;
+    public application(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Dlcm>>;
+    public application(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Dlcm>>;
+    public application(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<Dlcm>(`${this.configuration.basePath}/`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAccess(observe?: 'body', reportProgress?: boolean): Observable<DlcmAccess>;
+    public applicationAccess(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmAccess>>;
+    public applicationAccess(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmAccess>>;
+    public applicationAccess(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmAccess>(`${this.configuration.basePath}/access`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAccessDip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Dip>;
+    public applicationAccessDip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Dip>>;
+    public applicationAccessDip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Dip>>;
+    public applicationAccessDip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Dip>(`${this.configuration.basePath}/access/dip`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAccessOaiSets(observe?: 'body', reportProgress?: boolean): Observable<OaiSets>;
+    public applicationAccessOaiSets(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OaiSets>>;
+    public applicationAccessOaiSets(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OaiSets>>;
+    public applicationAccessOaiSets(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<OaiSets>(`${this.configuration.basePath}/access/oai-sets`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAccessOrders(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Orders>;
+    public applicationAccessOrders(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Orders>>;
+    public applicationAccessOrders(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Orders>>;
+    public applicationAccessOrders(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Orders>(`${this.configuration.basePath}/access/orders`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdmin(observe?: 'body', reportProgress?: boolean): Observable<DlcmAdmin>;
+    public applicationAdmin(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmAdmin>>;
+    public applicationAdmin(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmAdmin>>;
+    public applicationAdmin(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmAdmin>(`${this.configuration.basePath}/admin`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminFundingAgencies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<FundingAgencies>;
+    public applicationAdminFundingAgencies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<FundingAgencies>>;
+    public applicationAdminFundingAgencies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<FundingAgencies>>;
+    public applicationAdminFundingAgencies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<FundingAgencies>(`${this.configuration.basePath}/admin/funding-agencies`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminInstitutions(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Institutions>;
+    public applicationAdminInstitutions(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Institutions>>;
+    public applicationAdminInstitutions(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Institutions>>;
+    public applicationAdminInstitutions(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Institutions>(`${this.configuration.basePath}/admin/institutions`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminLanguages(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Languages>;
+    public applicationAdminLanguages(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Languages>>;
+    public applicationAdminLanguages(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Languages>>;
+    public applicationAdminLanguages(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Languages>(`${this.configuration.basePath}/admin/languages`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminLicenses(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Licenses>;
+    public applicationAdminLicenses(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Licenses>>;
+    public applicationAdminLicenses(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Licenses>>;
+    public applicationAdminLicenses(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Licenses>(`${this.configuration.basePath}/admin/licenses`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminOauth2Clients(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Oauth2Clients>;
+    public applicationAdminOauth2Clients(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Oauth2Clients>>;
+    public applicationAdminOauth2Clients(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Oauth2Clients>>;
+    public applicationAdminOauth2Clients(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Oauth2Clients>(`${this.configuration.basePath}/admin/oauth2-clients`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminOrganizationalUnits(body?: any, observe?: 'body', reportProgress?: boolean): Observable<OrganizationalUnits>;
+    public applicationAdminOrganizationalUnits(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OrganizationalUnits>>;
+    public applicationAdminOrganizationalUnits(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OrganizationalUnits>>;
+    public applicationAdminOrganizationalUnits(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<OrganizationalUnits>(`${this.configuration.basePath}/admin/organizational-units`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminPeople(body?: any, observe?: 'body', reportProgress?: boolean): Observable<People>;
+    public applicationAdminPeople(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<People>>;
+    public applicationAdminPeople(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<People>>;
+    public applicationAdminPeople(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<People>(`${this.configuration.basePath}/admin/people`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminPreservationPolicies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<PreservationPolicies>;
+    public applicationAdminPreservationPolicies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PreservationPolicies>>;
+    public applicationAdminPreservationPolicies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PreservationPolicies>>;
+    public applicationAdminPreservationPolicies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<PreservationPolicies>(`${this.configuration.basePath}/admin/preservation-policies`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminRoles(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Roles>;
+    public applicationAdminRoles(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Roles>>;
+    public applicationAdminRoles(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Roles>>;
+    public applicationAdminRoles(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Roles>(`${this.configuration.basePath}/admin/roles`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminSubmissionAgreements(body?: any, observe?: 'body', reportProgress?: boolean): Observable<SubmissionAgreements>;
+    public applicationAdminSubmissionAgreements(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<SubmissionAgreements>>;
+    public applicationAdminSubmissionAgreements(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<SubmissionAgreements>>;
+    public applicationAdminSubmissionAgreements(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<SubmissionAgreements>(`${this.configuration.basePath}/admin/submission-agreements`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminSubmissionPolicies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<SubmissionPolicies>;
+    public applicationAdminSubmissionPolicies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<SubmissionPolicies>>;
+    public applicationAdminSubmissionPolicies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<SubmissionPolicies>>;
+    public applicationAdminSubmissionPolicies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<SubmissionPolicies>(`${this.configuration.basePath}/admin/submission-policies`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationAdminUsers(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Users>;
+    public applicationAdminUsers(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Users>>;
+    public applicationAdminUsers(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Users>>;
+    public applicationAdminUsers(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Users>(`${this.configuration.basePath}/admin/users`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationArchivalStorage(observe?: 'body', reportProgress?: boolean): Observable<DlcmArchivalStorage>;
+    public applicationArchivalStorage(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmArchivalStorage>>;
+    public applicationArchivalStorage(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmArchivalStorage>>;
+    public applicationArchivalStorage(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmArchivalStorage>(`${this.configuration.basePath}/archival-storage`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationArchivalStorageAip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Aip>;
+    public applicationArchivalStorageAip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Aip>>;
+    public applicationArchivalStorageAip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Aip>>;
+    public applicationArchivalStorageAip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Aip>(`${this.configuration.basePath}/archival-storage/aip`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationArchivalStorageStoredAip(observe?: 'body', reportProgress?: boolean): Observable<OaiSets>;
+    public applicationArchivalStorageStoredAip(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OaiSets>>;
+    public applicationArchivalStorageStoredAip(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OaiSets>>;
+    public applicationArchivalStorageStoredAip(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<OaiSets>(`${this.configuration.basePath}/archival-storage/stored-aip`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationDataMgmt(observe?: 'body', reportProgress?: boolean): Observable<DlcmDataMgmt>;
+    public applicationDataMgmt(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmDataMgmt>>;
+    public applicationDataMgmt(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmDataMgmt>>;
+    public applicationDataMgmt(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmDataMgmt>(`${this.configuration.basePath}/data-mgmt`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationIngest(observe?: 'body', reportProgress?: boolean): Observable<DlcmIngest>;
+    public applicationIngest(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmIngest>>;
+    public applicationIngest(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmIngest>>;
+    public applicationIngest(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmIngest>(`${this.configuration.basePath}/ingest`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationIngestSip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Sip>;
+    public applicationIngestSip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Sip>>;
+    public applicationIngestSip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Sip>>;
+    public applicationIngestSip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Sip>(`${this.configuration.basePath}/ingest/sip`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationPreingest(observe?: 'body', reportProgress?: boolean): Observable<DlcmPreingest>;
+    public applicationPreingest(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmPreingest>>;
+    public applicationPreingest(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmPreingest>>;
+    public applicationPreingest(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmPreingest>(`${this.configuration.basePath}/preingest`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationPreingestDeposits(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Deposits>;
+    public applicationPreingestDeposits(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Deposits>>;
+    public applicationPreingestDeposits(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Deposits>>;
+    public applicationPreingestDeposits(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<Deposits>(`${this.configuration.basePath}/preingest/deposits`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationPreservationPlanning(observe?: 'body', reportProgress?: boolean): Observable<DlcmPreservationPlanning>;
+    public applicationPreservationPlanning(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmPreservationPlanning>>;
+    public applicationPreservationPlanning(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmPreservationPlanning>>;
+    public applicationPreservationPlanning(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmPreservationPlanning>(`${this.configuration.basePath}/preservation-planning`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'body', reportProgress?: boolean): Observable<PreservationJobs>;
+    public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PreservationJobs>>;
+    public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PreservationJobs>>;
+    public applicationPreservationPlanningPreservationJobs(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<PreservationJobs>(`${this.configuration.basePath}/preservation-planning/preservation-jobs`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationResourceSrv(observe?: 'body', reportProgress?: boolean): Observable<DlcmResourceSrv>;
+    public applicationResourceSrv(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmResourceSrv>>;
+    public applicationResourceSrv(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmResourceSrv>>;
+    public applicationResourceSrv(observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+        ];
+
+        return this.httpClient.get<DlcmResourceSrv>(`${this.configuration.basePath}/resource-srv`,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationResourceSrvApplicationRoles(body?: any, observe?: 'body', reportProgress?: boolean): Observable<ApplicationRoles>;
+    public applicationResourceSrvApplicationRoles(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApplicationRoles>>;
+    public applicationResourceSrvApplicationRoles(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApplicationRoles>>;
+    public applicationResourceSrvApplicationRoles(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<ApplicationRoles>(`${this.configuration.basePath}/resource-srv/application-roles`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+    /**
+     * 
+     * 
+     * @param body 
+     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+     * @param reportProgress flag to report request and response progress.
+     */
+    public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'body', reportProgress?: boolean): Observable<BasicAuthClients>;
+    public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BasicAuthClients>>;
+    public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BasicAuthClients>>;
+    public applicationResourceSrvBasicAuthClients(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
+
+        let headers = this.defaultHeaders;
+
+        // to determine the Accept header
+        const httpHeaderAccepts: string[] = [
+            'application/hal+json'
+        ];
+        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);
+        if (httpHeaderAcceptSelected !== undefined) {
+            headers = headers.set('Accept', httpHeaderAcceptSelected);
+        }
+
+        // to determine the Content-Type header
+        const consumes: string[] = [
+            'application/json'
+        ];
+        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+        if (httpContentTypeSelected !== undefined) {
+            headers = headers.set('Content-Type', httpContentTypeSelected);
+        }
+
+        return this.httpClient.post<BasicAuthClients>(`${this.configuration.basePath}/resource-srv/basic-auth-clients`,
+            body,
+            {
+                withCredentials: this.configuration.withCredentials,
+                headers: headers,
+                observe: observe,
+                reportProgress: reportProgress
+            }
+        );
+    }
+
+}
diff --git a/src/app/generated-api/configuration.ts b/src/app/generated-api/configuration.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1132f4adc1756f1d2050279127678722c357b6fb
--- /dev/null
+++ b/src/app/generated-api/configuration.ts
@@ -0,0 +1,79 @@
+export interface ConfigurationParameters {
+    apiKeys?: {[ key: string ]: string};
+    username?: string;
+    password?: string;
+    accessToken?: string | (() => string);
+    basePath?: string;
+    withCredentials?: boolean;
+}
+
+export class Configuration {
+    apiKeys?: {[ key: string ]: string};
+    username?: string;
+    password?: string;
+    accessToken?: string | (() => string);
+    basePath?: string;
+    withCredentials?: boolean;
+
+    constructor(configurationParameters: ConfigurationParameters = {}) {
+        this.apiKeys = configurationParameters.apiKeys;
+        this.username = configurationParameters.username;
+        this.password = configurationParameters.password;
+        this.accessToken = configurationParameters.accessToken;
+        this.basePath = configurationParameters.basePath;
+        this.withCredentials = configurationParameters.withCredentials;
+    }
+
+    /**
+     * Select the correct content-type to use for a request.
+     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
+     * If no content type is found return the first found type if the contentTypes is not empty
+     * @param contentTypes - the array of content types that are available for selection
+     * @returns the selected content-type or <code>undefined</code> if no selection could be made.
+     */
+    public selectHeaderContentType (contentTypes: string[]): string | undefined {
+        if (contentTypes.length === 0) {
+            return undefined;
+        }
+
+        const type = contentTypes.find((x: string) => this.isJsonMime(x));
+        if (type === undefined) {
+            return contentTypes[0];
+        }
+        return type;
+    }
+
+    /**
+     * Select the correct accept content-type to use for a request.
+     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
+     * If no content type is found return the first found type if the contentTypes is not empty
+     * @param accepts - the array of content types that are available for selection.
+     * @returns the selected content-type or <code>undefined</code> if no selection could be made.
+     */
+    public selectHeaderAccept(accepts: string[]): string | undefined {
+        if (accepts.length === 0) {
+            return undefined;
+        }
+
+        const type = accepts.find((x: string) => this.isJsonMime(x));
+        if (type === undefined) {
+            return accepts[0];
+        }
+        return type;
+    }
+
+    /**
+     * Check if the given MIME is a JSON MIME.
+     * JSON MIME examples:
+     *   application/json
+     *   application/json; charset=UTF8
+     *   APPLICATION/JSON
+     *   application/vnd.company+json
+     * @param mime - MIME (Multipurpose Internet Mail Extensions)
+     * @return True if the given MIME is JSON, false otherwise.
+     */
+    public isJsonMime(mime: string): boolean {
+        const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
+        return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
+    }
+}
diff --git a/src/app/generated-api/encoder.ts b/src/app/generated-api/encoder.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f1c6b78c9c8eb60b8c4c3b24b1119401fb47c24d
--- /dev/null
+++ b/src/app/generated-api/encoder.ts
@@ -0,0 +1,18 @@
+    import { HttpUrlEncodingCodec } from '@angular/common/http';
+
+/**
+* CustomHttpUrlEncodingCodec
+* Fix plus sign (+) not encoding, so sent as blank space
+* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318
+*/
+export class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {
+    encodeKey(k: string): string {
+        k = super.encodeKey(k);
+        return k.replace(/\+/gi, '%2B');
+    }
+    encodeValue(v: string): string {
+        v = super.encodeValue(v);
+        return v.replace(/\+/gi, '%2B');
+    }
+}
+
diff --git a/src/app/generated-api/index.ts b/src/app/generated-api/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c312b70fa3efccdb08c52608b493887052a18d30
--- /dev/null
+++ b/src/app/generated-api/index.ts
@@ -0,0 +1,5 @@
+export * from './api/api';
+export * from './model/models';
+export * from './variables';
+export * from './configuration';
+export * from './api.module';
\ No newline at end of file
diff --git a/src/app/generated-api/model/aip.ts b/src/app/generated-api/model/aip.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2acfbad67cda0e15eba758b2bf1a6024dba76be8
--- /dev/null
+++ b/src/app/generated-api/model/aip.ts
@@ -0,0 +1,90 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { AipFileFormat } from './aipFileFormat';
+import { AipInfo } from './aipInfo';
+import { AipVirusCheck } from './aipVirusCheck';
+
+
+export interface Aip { 
+    /**
+     * The checksum list of the AIP
+     */
+    checksums?: Array<string>;
+    virusCheck?: AipVirusCheck;
+    /**
+     * if the AIP is an unit (AIU) or a collection (AIC)
+     */
+    archivalUnit?: boolean;
+    /**
+     * The _links_ list of the _aip_ resource
+     */
+    links?: any;
+    /**
+     * The size in human-readable format of the AIP
+     */
+    smartSize?: string;
+    /**
+     * The source SIP IDs of the AIP
+     */
+    sipIds?: Array<string>;
+    /**
+     * Number of AIP data files
+     */
+    dataFileNumber?: number;
+    /**
+     * The container type of the AIP
+     */
+    aipContainer?: string;
+    /**
+     * Mandatory step to approve the AIP disposition
+     */
+    dispositionApproval?: boolean;
+    /**
+     * The size in bytes of the AIP
+     */
+    archiveSize?: number;
+    /**
+     * The _aip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The end of the AIP retention
+     */
+    retentionEnd?: string;
+    /**
+     * If AIP package is ready
+     */
+    ready?: boolean;
+    /**
+     * Number of AIPs in collection
+     */
+    collectionSize?: number;
+    /**
+     * The last updated info of the _aip_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The retention duration in human-readable format of the AIP
+     */
+    smartRetention?: string;
+    /**
+     * The retention duration in days of the AIP
+     */
+    retention?: number;
+    fileFormat?: AipFileFormat;
+    /**
+     * The creation info of the _aip_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    info?: AipInfo;
+}
+
diff --git a/src/app/generated-api/model/aipFileFormat.ts b/src/app/generated-api/model/aipFileFormat.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c3e446d89d4fa22c0d5822a7f60e91d1d071cd17
--- /dev/null
+++ b/src/app/generated-api/model/aipFileFormat.ts
@@ -0,0 +1,40 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface AipFileFormat { 
+    /**
+     * Format PUID of file
+     */
+    puid?: string;
+    /**
+     * Format description of file
+     */
+    format?: string;
+    /**
+     * Format details of file
+     */
+    details?: string;
+    /**
+     * Format version of file
+     */
+    version?: string;
+    /**
+     * Content type of file
+     */
+    contentType?: string;
+    /**
+     * MD5 checksum of file
+     */
+    md5?: string;
+}
+
diff --git a/src/app/generated-api/model/aipInfo.ts b/src/app/generated-api/model/aipInfo.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9d5f784693f8c3c0c9c2687c50528e8b11620c73
--- /dev/null
+++ b/src/app/generated-api/model/aipInfo.ts
@@ -0,0 +1,54 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { AipInfoEmbargo } from './aipInfoEmbargo';
+
+
+export interface AipInfo { 
+    /**
+     * The final access level of the package
+     */
+    access?: string;
+    /**
+     * A boolean indicating wether the current access level is PUBLIC
+     */
+    accessCurrentlyPublic?: boolean;
+    /**
+     * The organizational Unit ID of the information package
+     */
+    organizationalUnitId?: string;
+    /**
+     * The current access level, deducted from the final access level and an eventual embargo
+     */
+    currentAccessLevel?: string;
+    /**
+     * The name of the package
+     */
+    name?: string;
+    /**
+     * The compliance level of the package
+     */
+    complianceLevel?: string;
+    /**
+     * The description of the package
+     */
+    description?: string;
+    embargo?: AipInfoEmbargo;
+    /**
+     * The license ID of the package
+     */
+    licenseId?: string;
+    /**
+     * The status of the package
+     */
+    status?: string;
+}
+
diff --git a/src/app/generated-api/model/aipInfoEmbargo.ts b/src/app/generated-api/model/aipInfoEmbargo.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d1d27abaf8408ea760a5913783725c5fd9abaf37
--- /dev/null
+++ b/src/app/generated-api/model/aipInfoEmbargo.ts
@@ -0,0 +1,28 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface AipInfoEmbargo { 
+    /**
+     * Month number of embargo duration
+     */
+    months?: number;
+    /**
+     * Starting date of embargo period
+     */
+    access?: string;
+    /**
+     * Starting date of embargo period
+     */
+    startDate?: string;
+}
+
diff --git a/src/app/generated-api/model/aipVirusCheck.ts b/src/app/generated-api/model/aipVirusCheck.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f3f02f43864c6129361f6651c7b68e4a06faa8a1
--- /dev/null
+++ b/src/app/generated-api/model/aipVirusCheck.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface AipVirusCheck { 
+    /**
+     * Result detail of virus check
+     */
+    details?: string;
+    /**
+     * Date of virus check execution
+     */
+    checkDate?: string;
+}
+
diff --git a/src/app/generated-api/model/applicationRoles.ts b/src/app/generated-api/model/applicationRoles.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b819a8c524634a20757f5914b4fbedcc5ebea836
--- /dev/null
+++ b/src/app/generated-api/model/applicationRoles.ts
@@ -0,0 +1,36 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface ApplicationRoles { 
+    /**
+     * The _links_ list of the _application-roles_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _application-roles_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the application role
+     */
+    name?: string;
+    /**
+     * The _application-roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _application-roles_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/basicAuthClients.ts b/src/app/generated-api/model/basicAuthClients.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4078d54183cea241eae5bc392dc4e526381a3fe5
--- /dev/null
+++ b/src/app/generated-api/model/basicAuthClients.ts
@@ -0,0 +1,64 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface BasicAuthClients { 
+    /**
+     * The password of basic authentification client
+     */
+    password?: string;
+    /**
+     * The name of basic authentification client
+     */
+    clientId?: string;
+    /**
+     * The _links_ list of the _basic-auth-clients_ resource
+     */
+    links?: any;
+    /**
+     * If the client credentials are expired
+     */
+    credentialsNonExpired?: boolean;
+    /**
+     * The last updated info of the _basic-auth-clients_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The linked person of basic authentification client
+     */
+    personId?: string;
+    /**
+     * If the client account is expired
+     */
+    accountNonExpired?: boolean;
+    /**
+     * The _basic-auth-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * If the client account is enable
+     */
+    enabled?: boolean;
+    /**
+     * The creation info of the _basic-auth-clients_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The application roles of basic authentification client
+     */
+    applicationRoles?: Array<string>;
+    /**
+     * If the client account is not locked
+     */
+    accountNonLocked?: boolean;
+}
+
diff --git a/src/app/generated-api/model/deposits.ts b/src/app/generated-api/model/deposits.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e03f866d970fd2f1f517efd4c4a59850dcf701c0
--- /dev/null
+++ b/src/app/generated-api/model/deposits.ts
@@ -0,0 +1,122 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { AipInfoEmbargo } from './aipInfoEmbargo';
+
+
+export interface Deposits { 
+    /**
+     * The access level of the deposit
+     */
+    access?: string;
+    /**
+     * The _links_ list of the _deposits_ resource
+     */
+    links?: any;
+    /**
+     * The preservation policy ID of the deposit
+     */
+    preservationPolicyId?: string;
+    /**
+     * Number of deposit data files
+     */
+    dataFileNumber?: number;
+    /**
+     * The description of the deposit
+     */
+    description?: string;
+    /**
+     * The title of the deposit
+     */
+    title?: string;
+    /**
+     * The generated SIP DLCM ID of the deposit
+     */
+    sipId?: string;
+    /**
+     * The end of the deposit collection
+     */
+    collectionEnd?: string;
+    /**
+     * The organizational unit ID of the deposit
+     */
+    organizationalUnitId?: string;
+    /**
+     * If the deposit has an embargo
+     */
+    hasEmbargo?: boolean;
+    /**
+     * The submission policy ID of the deposit
+     */
+    submissionPolicyId?: string;
+    /**
+     * The license ID of the deposit
+     */
+    licenseId?: string;
+    /**
+     * The publication date of the deposit
+     */
+    publicationDate?: string;
+    /**
+     * The creation info of the _deposits_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The submission agreement of the deposit
+     */
+    agreement?: boolean;
+    /**
+     * If all data file are ready
+     */
+    allDataFileReady?: boolean;
+    /**
+     * The language ID of the deposit
+     */
+    languageId?: string;
+    /**
+     * The _deposits_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The message related to the status
+     */
+    statusMessage?: string;
+    /**
+     * The submission agreement of the deposit
+     */
+    submissionAgreementId?: string;
+    /**
+     * Size of AIP collection
+     */
+    collectionSize?: number;
+    /**
+     * The last updated info of the _deposits_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The preparation ID of the deposit
+     */
+    preparationId?: string;
+    embargo?: AipInfoEmbargo;
+    /**
+     * The beginning of the deposit collection
+     */
+    collectionBegin?: string;
+    /**
+     * The status of the deposit
+     */
+    status?: string;
+    /**
+     * The Digital Object Identifier (DOI) of the deposit
+     */
+    doi?: string;
+}
+
diff --git a/src/app/generated-api/model/dip.ts b/src/app/generated-api/model/dip.ts
new file mode 100644
index 0000000000000000000000000000000000000000..85c7cee21ed98c17ee2a3d471ca5f2d476a70e0e
--- /dev/null
+++ b/src/app/generated-api/model/dip.ts
@@ -0,0 +1,42 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { AipInfo } from './aipInfo';
+
+
+export interface Dip { 
+    /**
+     * The source AIP IDs of the DIP
+     */
+    aipIds?: Array<string>;
+    /**
+     * The _links_ list of the _dip_ resource
+     */
+    links?: any;
+    /**
+     * If DIP package is ready
+     */
+    ready?: boolean;
+    /**
+     * The last updated info of the _dip_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The _dip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _dip_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    info?: AipInfo;
+}
+
diff --git a/src/app/generated-api/model/dlcm.ts b/src/app/generated-api/model/dlcm.ts
new file mode 100644
index 0000000000000000000000000000000000000000..90af98042ee2571d158c1b6a6242aa36af381a98
--- /dev/null
+++ b/src/app/generated-api/model/dlcm.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Dlcm { 
+    /**
+     * The _links_ list of the application
+     */
+    links?: any;
+    /**
+     * The name of the application
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmAccess.ts b/src/app/generated-api/model/dlcmAccess.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3bbf4541e65916a93b2c2fec6e735568eb906fc4
--- /dev/null
+++ b/src/app/generated-api/model/dlcmAccess.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmAccess { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _access_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmAdmin.ts b/src/app/generated-api/model/dlcmAdmin.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d7a361e2a4d98860497301a418a7887ad01eb56f
--- /dev/null
+++ b/src/app/generated-api/model/dlcmAdmin.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmAdmin { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _admin_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmArchivalStorage.ts b/src/app/generated-api/model/dlcmArchivalStorage.ts
new file mode 100644
index 0000000000000000000000000000000000000000..87b42711b1e30912004ed1d748e480677de41a01
--- /dev/null
+++ b/src/app/generated-api/model/dlcmArchivalStorage.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmArchivalStorage { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _archival-storage_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmDataMgmt.ts b/src/app/generated-api/model/dlcmDataMgmt.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ed8a5410f0373ca6e3dd6026c00cbc26500f27af
--- /dev/null
+++ b/src/app/generated-api/model/dlcmDataMgmt.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmDataMgmt { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _data-mgmt_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmIngest.ts b/src/app/generated-api/model/dlcmIngest.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8e243023a90167da47765230c8ea809c5d4c90a5
--- /dev/null
+++ b/src/app/generated-api/model/dlcmIngest.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmIngest { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _ingest_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmPreingest.ts b/src/app/generated-api/model/dlcmPreingest.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0a58647ce917d1df81b0269ca8fcfd188a164cff
--- /dev/null
+++ b/src/app/generated-api/model/dlcmPreingest.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmPreingest { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _preingest_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmPreservationPlanning.ts b/src/app/generated-api/model/dlcmPreservationPlanning.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1152151f087bdb8bfe1291ccc4e6706dadb69007
--- /dev/null
+++ b/src/app/generated-api/model/dlcmPreservationPlanning.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmPreservationPlanning { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _preservation-planning_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/dlcmResourceSrv.ts b/src/app/generated-api/model/dlcmResourceSrv.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e0d906e86877fc5fcf21ac516e4594085826f445
--- /dev/null
+++ b/src/app/generated-api/model/dlcmResourceSrv.ts
@@ -0,0 +1,24 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface DlcmResourceSrv { 
+    /**
+     * The _links_ list of the module, included its REST resources
+     */
+    links?: any;
+    /**
+     * The name of the module, i.e. _resource-srv_
+     */
+    name?: string;
+}
+
diff --git a/src/app/generated-api/model/fundingAgencies.ts b/src/app/generated-api/model/fundingAgencies.ts
new file mode 100644
index 0000000000000000000000000000000000000000..73da367c27baa10abd95e35d4af84f1d019e6655
--- /dev/null
+++ b/src/app/generated-api/model/fundingAgencies.ts
@@ -0,0 +1,48 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface FundingAgencies { 
+    /**
+     * The _links_ list of the _funding-agencies_ resource
+     */
+    links?: any;
+    /**
+     * The acronym of the funding agency
+     */
+    acronym?: string;
+    /**
+     * The last updated info of the _funding-agencies_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the funding agency
+     */
+    name?: string;
+    /**
+     * The description of the funding agency
+     */
+    description?: string;
+    /**
+     * The _funding-agencies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The URL of the funding agency
+     */
+    url?: string;
+    /**
+     * The creation info of the _funding-agencies_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/institutions.ts b/src/app/generated-api/model/institutions.ts
new file mode 100644
index 0000000000000000000000000000000000000000..879626cc1376ea9e6e3fbc05abffc7f92c59844f
--- /dev/null
+++ b/src/app/generated-api/model/institutions.ts
@@ -0,0 +1,48 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Institutions { 
+    /**
+     * The _links_ list of the _institutions_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _institutions_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the institution
+     */
+    name?: string;
+    /**
+     * List of email suffixes
+     */
+    emailSuffixes?: Array<string>;
+    /**
+     * The description of the institution
+     */
+    description?: string;
+    /**
+     * The _institutions_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The URL of the institution website
+     */
+    url?: string;
+    /**
+     * The creation info of the _institutions_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/languages.ts b/src/app/generated-api/model/languages.ts
new file mode 100644
index 0000000000000000000000000000000000000000..eb9fd9a41170484ee55f740a77c6869fd17ac357
--- /dev/null
+++ b/src/app/generated-api/model/languages.ts
@@ -0,0 +1,36 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Languages { 
+    /**
+     * The code of the language
+     */
+    code?: string;
+    /**
+     * The _links_ list of the _languages_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _languages_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The _languages_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _languages_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/licenses.ts b/src/app/generated-api/model/licenses.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3fab6282e83315a71f1a9b5cb6aa097a7dd05cdb
--- /dev/null
+++ b/src/app/generated-api/model/licenses.ts
@@ -0,0 +1,80 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Licenses { 
+    /**
+     * The _links_ list of the _licenses_ resource
+     */
+    links?: any;
+    /**
+     * Give if it's a generic license
+     */
+    isGeneric?: boolean;
+    /**
+     * The domain software
+     */
+    domainSoftware?: boolean;
+    /**
+     * The title of the license
+     */
+    title?: string;
+    /**
+     * The _licenses_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The url source of the license
+     */
+    url?: string;
+    /**
+     * The maintainer of the license
+     */
+    maintainer?: string;
+    /**
+     * The OD conformance status
+     */
+    odConformance?: string;
+    /**
+     * The open license identifier
+     */
+    openLicenseId?: string;
+    /**
+     * The OSD conformance status
+     */
+    osdConformance?: string;
+    /**
+     * The last updated info of the _licenses_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The data domain
+     */
+    domainData?: boolean;
+    /**
+     * The family license
+     */
+    family?: string;
+    /**
+     * The content of the domain
+     */
+    domainContent?: boolean;
+    /**
+     * The creation info of the _licenses_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The current status of the license
+     */
+    status?: string;
+}
+
diff --git a/src/app/generated-api/model/models.ts b/src/app/generated-api/model/models.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9205ce1a95efc1bfc6ec4581b1032379ec98f7b5
--- /dev/null
+++ b/src/app/generated-api/model/models.ts
@@ -0,0 +1,34 @@
+export * from './aip';
+export * from './aipFileFormat';
+export * from './aipInfo';
+export * from './aipInfoEmbargo';
+export * from './aipVirusCheck';
+export * from './applicationRoles';
+export * from './basicAuthClients';
+export * from './deposits';
+export * from './dip';
+export * from './dlcm';
+export * from './dlcmAccess';
+export * from './dlcmAdmin';
+export * from './dlcmArchivalStorage';
+export * from './dlcmDataMgmt';
+export * from './dlcmIngest';
+export * from './dlcmPreingest';
+export * from './dlcmPreservationPlanning';
+export * from './dlcmResourceSrv';
+export * from './fundingAgencies';
+export * from './institutions';
+export * from './languages';
+export * from './licenses';
+export * from './oaiSets';
+export * from './oauth2Clients';
+export * from './orders';
+export * from './organizationalUnits';
+export * from './people';
+export * from './preservationJobs';
+export * from './preservationPolicies';
+export * from './roles';
+export * from './sip';
+export * from './submissionAgreements';
+export * from './submissionPolicies';
+export * from './users';
diff --git a/src/app/generated-api/model/oaiSets.ts b/src/app/generated-api/model/oaiSets.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1c3b43cff5dc85143296fe86d37554f0e49f66e3
--- /dev/null
+++ b/src/app/generated-api/model/oaiSets.ts
@@ -0,0 +1,28 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface OaiSets { 
+    /**
+     * List the collection of the resources
+     */
+    data?: Array<string>;
+    /**
+     * Gives the total pages and the total available items of one resource
+     */
+    page?: any;
+    /**
+     * All links available on the resource
+     */
+    links?: any;
+}
+
diff --git a/src/app/generated-api/model/oauth2Clients.ts b/src/app/generated-api/model/oauth2Clients.ts
new file mode 100644
index 0000000000000000000000000000000000000000..944ab22fea7422ee81074ef4a37dd6f37884809b
--- /dev/null
+++ b/src/app/generated-api/model/oauth2Clients.ts
@@ -0,0 +1,64 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Oauth2Clients { 
+    /**
+     * The redirect URI of OAuth2 client
+     */
+    redirectUri?: string;
+    /**
+     * The grant types of OAuth2 client
+     */
+    grantTypes?: Array<string>;
+    /**
+     * The client ID of OAuth2 client
+     */
+    clientId?: string;
+    /**
+     * The _links_ list of the _oauth2-clients_ resource
+     */
+    links?: any;
+    /**
+     * The scope of OAuth2 client
+     */
+    scope?: string;
+    /**
+     * The access token validity in seconds
+     */
+    accessTokenValiditySeconds?: number;
+    /**
+     * The last updated info of the _oauth2-clients_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of OAuth2 client
+     */
+    name?: string;
+    /**
+     * The password of OAuth2 client
+     */
+    secret?: string;
+    /**
+     * The refresh token validity in seconds
+     */
+    refreshTokenValiditySeconds?: number;
+    /**
+     * The _oauth2-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _oauth2-clients_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/orders.ts b/src/app/generated-api/model/orders.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8d9083f9acee3901364b6038ae6f7d94eb08f5aa
--- /dev/null
+++ b/src/app/generated-api/model/orders.ts
@@ -0,0 +1,56 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Orders { 
+    /**
+     * The AIP number of the order query
+     */
+    aipNumber?: number;
+    /**
+     * The _links_ list of the _orders_ resource
+     */
+    links?: any;
+    /**
+     * The query of the order query
+     */
+    query?: string;
+    /**
+     * The last updated info of the _orders_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the order query
+     */
+    name?: string;
+    /**
+     * The DIP number of the order query
+     */
+    dipNumber?: number;
+    /**
+     * The _orders_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _orders_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The status of the order query 
+     */
+    status?: string;
+    /**
+     * The type of the order query
+     */
+    queryType?: string;
+}
+
diff --git a/src/app/generated-api/model/organizationalUnits.ts b/src/app/generated-api/model/organizationalUnits.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a68a1eff2e0f3efb3cf1befa51a636220af27816
--- /dev/null
+++ b/src/app/generated-api/model/organizationalUnits.ts
@@ -0,0 +1,56 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface OrganizationalUnits { 
+    /**
+     * The _links_ list of the _organizational-units_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _organizational-units_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the organizational unit
+     */
+    name?: string;
+    /**
+     * Indicates whether the organizational unit contains any data (depo, sip, aip)
+     */
+    isEmpty?: boolean;
+    /**
+     * The description of the institution
+     */
+    description?: string;
+    /**
+     * The closing date of the organizational unit
+     */
+    closingDate?: string;
+    /**
+     * The opening date of the organizational unit
+     */
+    openingDate?: string;
+    /**
+     * The _organizational-units_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * Indicates whether the organizational unit is currently open
+     */
+    open?: boolean;
+    /**
+     * The creation info of the _organizational-units_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/people.ts b/src/app/generated-api/model/people.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e7f3d3cd28f45e1b14a94488b5197cbbc2e71d8d
--- /dev/null
+++ b/src/app/generated-api/model/people.ts
@@ -0,0 +1,48 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface People { 
+    /**
+     * The last name of the person
+     */
+    lastName?: string;
+    /**
+     * The first name of the person
+     */
+    firstName?: string;
+    /**
+     * The _links_ list of the _people_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _people_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The full name of the person
+     */
+    fullName?: string;
+    /**
+     * The ORCID of the person
+     */
+    orcid?: string;
+    /**
+     * The _people_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _people_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/preservationJobs.ts b/src/app/generated-api/model/preservationJobs.ts
new file mode 100644
index 0000000000000000000000000000000000000000..098a82f80c5d1e4dc214483a196d693ec58e091e
--- /dev/null
+++ b/src/app/generated-api/model/preservationJobs.ts
@@ -0,0 +1,76 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface PreservationJobs { 
+    /**
+     * The total number of items by the preservation job
+     */
+    totalItems?: number;
+    /**
+     * The _links_ list of the _preservation-jobs_ resource
+     */
+    links?: any;
+    /**
+     * The end date of the preservation job
+     */
+    endDate?: string;
+    /**
+     * The _preservation-jobs_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The message related to the status
+     */
+    statusMessage?: string;
+    /**
+     * The last updated info of the _preservation-jobs_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the preservation job
+     */
+    name?: string;
+    /**
+     * The number of ignored (not processed) items by the preservation job
+     */
+    ignoredItems?: number;
+    /**
+     * The completion status in pourcentage of the preservation job
+     */
+    completionStatus?: number;
+    /**
+     * The job type of the preservation job 
+     */
+    jobType?: string;
+    /**
+     * The start date of the preservation job
+     */
+    startDate?: string;
+    /**
+     * The number of processed items by the preservation job
+     */
+    processedItems?: number;
+    /**
+     * The number of items in-error by the preservation job
+     */
+    inErrorItems?: number;
+    /**
+     * The creation info of the _preservation-jobs_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The status of the preservation job
+     */
+    status?: string;
+}
+
diff --git a/src/app/generated-api/model/preservationPolicies.ts b/src/app/generated-api/model/preservationPolicies.ts
new file mode 100644
index 0000000000000000000000000000000000000000..432f93df449486b59c6a0f1e3ebea004da3f6dd9
--- /dev/null
+++ b/src/app/generated-api/model/preservationPolicies.ts
@@ -0,0 +1,52 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface PreservationPolicies { 
+    /**
+     * Use number in organizational units of the the preservation policy
+     */
+    useNumber?: number;
+    /**
+     * The _links_ list of the _preservation-policies_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _preservation-policies_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the preservation policy
+     */
+    name?: string;
+    /**
+     * The retention duration in human-readable format of the preservation policy
+     */
+    smartRetention?: string;
+    /**
+     * Mandatory step to approve the AIP disposition
+     */
+    dispositionApproval?: boolean;
+    /**
+     * The _preservation-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The retention duration in days of the preservation policy
+     */
+    retention?: number;
+    /**
+     * The creation info of the _preservation-policies_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/roles.ts b/src/app/generated-api/model/roles.ts
new file mode 100644
index 0000000000000000000000000000000000000000..92ca20ebcc682e0f4883f66704c1c9da1d822715
--- /dev/null
+++ b/src/app/generated-api/model/roles.ts
@@ -0,0 +1,36 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Roles { 
+    /**
+     * The _links_ list of the _roles_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _roles_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the role
+     */
+    name?: string;
+    /**
+     * The _roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _roles_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/sip.ts b/src/app/generated-api/model/sip.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1c644e73259d7f460d593c769a28d8a1dffc2f08
--- /dev/null
+++ b/src/app/generated-api/model/sip.ts
@@ -0,0 +1,66 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { AipInfo } from './aipInfo';
+
+
+export interface Sip { 
+    /**
+     * The source deposit ID of the SIP
+     */
+    depositId?: string;
+    /**
+     * The _links_ list of the _sip_ resource
+     */
+    links?: any;
+    /**
+     * Number of SIP data files
+     */
+    dataFileNumber?: number;
+    /**
+     * Mandatory step to approve the AIP disposition
+     */
+    dispositionApproval?: boolean;
+    /**
+     * The generated AIP DLCM ID of the SIP
+     */
+    aipId?: string;
+    /**
+     * The _sip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * If the SIP package is ready
+     */
+    ready?: boolean;
+    /**
+     * Size of AIP collection
+     */
+    collectionSize?: number;
+    /**
+     * The last updated info of the _sip_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The retention duration in human-readable format of the AIP
+     */
+    smartRetention?: string;
+    /**
+     * The retention duration in days of the AIP
+     */
+    retention?: number;
+    /**
+     * The creation info of the _sip_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    info?: AipInfo;
+}
+
diff --git a/src/app/generated-api/model/submissionAgreements.ts b/src/app/generated-api/model/submissionAgreements.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d598d1da819363422fe04bbe49454b7ba8cf0d8b
--- /dev/null
+++ b/src/app/generated-api/model/submissionAgreements.ts
@@ -0,0 +1,44 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface SubmissionAgreements { 
+    /**
+     * The _links_ list of the _submission-agreements_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _submission-agreements_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The description of the submission agreement
+     */
+    description?: string;
+    /**
+     * The title of the submission agreement
+     */
+    title?: string;
+    /**
+     * The version of the submission agreement
+     */
+    version?: string;
+    /**
+     * The _submission-agreements_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _submission-agreements_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/submissionPolicies.ts b/src/app/generated-api/model/submissionPolicies.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d67d1c49c2b1ec530f27e2d331f229ec745a1cd1
--- /dev/null
+++ b/src/app/generated-api/model/submissionPolicies.ts
@@ -0,0 +1,44 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface SubmissionPolicies { 
+    /**
+     * Use number in organizational units of the the submission policy
+     */
+    useNumber?: number;
+    /**
+     * Mandatory step to approve a deposit
+     */
+    submissionApproval?: boolean;
+    /**
+     * The _links_ list of the _submission-policies_ resource
+     */
+    links?: any;
+    /**
+     * The last updated info of the _submission-policies_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The name of the submission policy
+     */
+    name?: string;
+    /**
+     * The _submission-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * The creation info of the _submission-policies_ resource (see <<change-info>>)
+     */
+    creation?: any;
+}
+
diff --git a/src/app/generated-api/model/users.ts b/src/app/generated-api/model/users.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5bbf80e961de92dbb46eac263cad011fb5f9fdd7
--- /dev/null
+++ b/src/app/generated-api/model/users.ts
@@ -0,0 +1,72 @@
+/**
+ * DLCM-Solution
+ * DLCM application wrapping all modules, All-In-One
+ *
+ * OpenAPI spec version: 1.3.0-SNAPSHOT
+ * 
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface Users { 
+    /**
+     * The external UID of the user
+     */
+    externalUid?: string;
+    /**
+     * The last name of the user
+     */
+    lastName?: string;
+    /**
+     * The application roles of the user
+     */
+    applicationRoleNames?: Array<string>;
+    /**
+     * The _links_ list of the _users_ resource
+     */
+    links?: any;
+    /**
+     * The targeted UID of the user
+     */
+    targetedUid?: string;
+    /**
+     * The access token of the user
+     */
+    accessToken?: string;
+    /**
+     * The _users_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]
+     */
+    resId?: string;
+    /**
+     * If the user is enable
+     */
+    enabled?: boolean;
+    /**
+     * The first name of the user
+     */
+    firstName?: string;
+    /**
+     * The last updated info of the _users_ resource (see <<change-info>>)
+     */
+    lastUpdate?: any;
+    /**
+     * The email of the user
+     */
+    email?: string;
+    /**
+     * The creation info of the _users_ resource (see <<change-info>>)
+     */
+    creation?: any;
+    /**
+     * The refresh token of the user
+     */
+    refreshToken?: string;
+    /**
+     * The application roles details of the user
+     */
+    applicationRoles?: Array<string>;
+}
+
diff --git a/src/app/generated-api/variables.ts b/src/app/generated-api/variables.ts
new file mode 100644
index 0000000000000000000000000000000000000000..6fe58549f395fc15d66a3b68f261d48c1af375ef
--- /dev/null
+++ b/src/app/generated-api/variables.ts
@@ -0,0 +1,9 @@
+import { InjectionToken } from '@angular/core';
+
+export const BASE_PATH = new InjectionToken<string>('basePath');
+export const COLLECTION_FORMATS = {
+    'csv': ',',
+    'tsv': '   ',
+    'ssv': ' ',
+    'pipes': '|'
+}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 07b8512a7b2e82f0eb4da5bb3fc6a01a4b417b5b..6e5f9f33fb272e16fc08cc598e1854a1eec09265 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -4,7 +4,7 @@
 
 export const environment = {
   production: false,
-  API_BASE_PATH: 'http://localhost:8080/dlcm',
+  API_BASE_PATH: '/api',
 };
 
 /*