diff --git a/web/api/src/main/resources/docs/lib/object-assign-pollyfill.js b/web/api/src/main/resources/docs/lib/object-assign-pollyfill.js
new file mode 100755
index 0000000..5179920
--- /dev/null
+++ b/web/api/src/main/resources/docs/lib/object-assign-pollyfill.js
@@ -0,0 +1,23 @@
+if (typeof Object.assign != 'function') {
+  (function () {
+    Object.assign = function (target) {
+      'use strict';
+      if (target === undefined || target === null) {
+        throw new TypeError('Cannot convert undefined or null to object');
+      }
+
+      var output = Object(target);
+      for (var index = 1; index < arguments.length; index++) {
+        var source = arguments[index];
+        if (source !== undefined && source !== null) {
+          for (var nextKey in source) {
+            if (Object.prototype.hasOwnProperty.call(source, nextKey)) {
+              output[nextKey] = source[nextKey];
+            }
+          }
+        }
+      }
+      return output;
+    };
+  })();
+}
