diff --git a/openbis_standard_technologies/build.gradle b/openbis_standard_technologies/build.gradle
index 7e1894d8187420aa94ce4f4d348163847342f45b..290ee3e97013830df84cec25516f3ce6ba0406d6 100644
--- a/openbis_standard_technologies/build.gradle
+++ b/openbis_standard_technologies/build.gradle
@@ -475,7 +475,7 @@ task obisZip(type: Zip) {
   from '../obis/'
 }
 
-task clientsAndApis(type: Zip, dependsOn: [dssClientZip, queryApiZip, apiV3Zip, screeningApiZip, pybisZip, obisZip, dropboxJavaDocZip]) {
+task clientsAndApis(type: Zip, dependsOn: [dssClientZip, queryApiZip, apiV3Zip, screeningApiZip, pybisZip, obisZip, dropboxJavaDocZip, dynamicApiJavadocZip]) {
   baseName 'openBIS-clients-and-APIs'
   from dssClientZip.archivePath
   from queryApiZip.archivePath
@@ -484,6 +484,7 @@ task clientsAndApis(type: Zip, dependsOn: [dssClientZip, queryApiZip, apiV3Zip,
   from pybisZip.archivePath
   from obisZip.archivePath
   from dropboxJavaDocZip.archivePath
+  from dynamicApiJavadocZip.archivePath
   from ('dist/client/readme.txt')
   rename { filename ->
     if (filename.startsWith('pybis-')) {
diff --git a/openbis_standard_technologies/query-api.gradle b/openbis_standard_technologies/query-api.gradle
index 994b302a45bf326549400d6331e3a94465e8c124..51ab67b107d279a11b3df8053d12222b994c50a9 100644
--- a/openbis_standard_technologies/query-api.gradle
+++ b/openbis_standard_technologies/query-api.gradle
@@ -278,4 +278,23 @@ task dropboxApiJavadoc(type: Javadoc) {
 task dropboxJavaDocZip(type: Zip, dependsOn: dropboxApiJavadoc) {
     archiveName 'javadoc-dropbox-api.zip'
     from dropboxApiJavadoc.destinationDir
+}
+
+/////////// DYNAMIC PROPERTIES API ////////////////////
+
+configurations.create('dynamicApiJavadoc')
+dependencies {
+    dynamicApiJavadoc project(':openbis')
+}
+
+task dynamicApiJavadoc(type: Javadoc) {
+    source project(':openbis').files('source/java').getAsFileTree().matching {
+        include "ch/systemsx/cisd/openbis/generic/shared/hotdeploy_plugins/api/*.java"
+    }
+    classpath = configurations.dynamicApiJavadoc
+}
+
+task dynamicApiJavadocZip(type: Zip, dependsOn: dynamicApiJavadoc) {
+    archiveName 'javadoc-dynamic-api.zip'
+    from dropboxApiJavadoc.destinationDir
 }
\ No newline at end of file