diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 99cb8de5a12b5155158ab9f7da8e892914312a0e..f9f43a481f8c9f7367ffe517c1160f03724a6fbc 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -1571,8 +1571,9 @@ function getCertificateForPassport(passportUUID, internal) {
 const connection = Penpal.connectToParent({
   // Methods child is exposing to parent
   methods: {
-    initializeApiHost: (apiUrl) => {
+    initialize: (apiUrl, wopiPrefix) => {
       window.API_HOST = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/";
+      window.WOPI_URI_PREFIX = wopiPrefix;
     },
     createIdentity(pinCode) {
       return new Penpal.Promise(result => {
diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js
index aefb502142b2209ff24a0aae9f3eaef1031a6fe0..faea944b5ca8aa4bc8a939a3c27f9fac7b3eed2a 100644
--- a/javascript/src/iframe/wopiapi-iframe.js
+++ b/javascript/src/iframe/wopiapi-iframe.js
@@ -3,14 +3,14 @@ const axios = require('axios');
 function WopiAPI() {}
 
 WopiAPI.prototype.getPassports = function (fileID) {
-  const [protocol, host] = window.API_HOST.split(':');
-  let url = `${protocol}:${host}${window.WOPI_URI_PREFIX}`;
+  const url = new URL(window.API_HOST);
+  let wopiURL = `${url.origin}/${window.WOPI_URI_PREFIX}`;
 
-  url = url.charAt(url.length - 1) === "/" ? url : url + "/";
-  url += 'getPassports';
+  wopiURL = wopiURL.charAt(wopiURL.length - 1) === "/" ? wopiURL : wopiURL + "/";
+  wopiURL += 'getPassports';
 
   const requestConfig = {
-    url,
+    url: wopiURL,
     method: 'POST',
     headers: {
       publicKey: window.viamApi.getConfig().headers.publicKey,
diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js
index 96026f20b6506d72a5c6423b97e87586a6798481..e601c689ace0e9deca1d677e0ef2df98774eefd3 100644
--- a/javascript/src/viamapi-client.js
+++ b/javascript/src/viamapi-client.js
@@ -6,9 +6,10 @@ const Penpal = require('penpal').default;
  * @param methods - list of methods to be used in iframe
  * @param iframeUrl - iframe URL to connect
  * @param apiUrl -  API URL used to access API endpoints
+ * @param wopiPrefix -  WOPI URI prefix
  * @returns {*}
  */
-function setupViamAPI(divId, methods, iframeUrl, apiUrl) {
+function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiPrefix = 'wopi') {
   if (!apiUrl) {
     apiUrl = `${window.location.origin}/api/`;
     console.warn(`API host URL not specified. Fall back to ${apiUrl}`); // eslint-disable-line no-console
@@ -29,7 +30,7 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl) {
   });
 
   return connection.promise
-    .then((child) => child.initializeApiHost(apiUrl).then(() => child));
+    .then((child) => child.initialize(apiUrl, wopiPrefix).then(() => child));
 }
 
 window.setupViamAPI = setupViamAPI;
diff --git a/main.go b/main.go
index cc9cd0802f88ab2b59a16d44163e13966f40afd5..09618e9b28fb5810bf1e1470bbd25ec01cee124e 100644
--- a/main.go
+++ b/main.go
@@ -56,8 +56,7 @@ func buildViamAPI() string {
 	prefixes := []string{}
 	endPoints := server.GetEndPoints(prefixes)
 
-	result := "const axios = require('axios');\n" +
-		"window.WOPI_URI_PREFIX=\"" + server.GetWopiURIPrefix() + "\";\n\n"
+	result := "const axios = require('axios');\n"
 
 	var keys []string
 	for k := range endPoints {