diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js
index 0a834db07981eac7ab7ae7a71608a559c5e31aff..69d1eb3b9481ba07014bca7a4132ae6e7301ba34 100644
--- a/javascript/src/viamapi-client.js
+++ b/javascript/src/viamapi-client.js
@@ -1,13 +1,28 @@
 const Penpal = require('penpal').default;
 
-function setupViamAPI(divId, methodsArg, url) {
+/**
+ * Sets up interaction with Vereign Restful API
+ * @param divId - target container to append iframe via Penpal
+ * @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
+ * @returns {*}
+ */
+function setupViamAPI(divId, methods, iframeUrl, apiUrl) {
+	if (!apiUrl) {
+		return Promise.reject('API Host not specified.')
+	}
+
 	const connection = Penpal.connectToChild({
 	  // URL of page to load into iframe.
-	  url,
+	  url: iframeUrl,
 	  // Container to which the iframe should be appended.
 	  appendTo: document.getElementById(divId),
 	  // Methods parent is exposing to child
-	  methods: methodsArg
+	  methods: {
+	  	...methods,
+	  	getApiUrl: () => apiUrl
+      }
 	});
 
 	return connection.promise
diff --git a/javascript/src/viamapi-iframe.js b/javascript/src/viamapi-iframe.js
index 83c5ab21672b91864738304c16bdbd097025deac..40403654ba875b4f3dde98160d3745e7fb1a1b8d 100644
--- a/javascript/src/viamapi-iframe.js
+++ b/javascript/src/viamapi-iframe.js
@@ -2260,10 +2260,13 @@ const connection = Penpal.connectToParent({
   }
 });
 
-connection.promise.then(parent => {
+connection.promise.then(async parent => {
   var identities = localStorage.getItem("identities")
 
-  window.API_HOST = `${window.location.protocol}//${window.location.host}/`;
+  let apiUrl = await parent.getApiUrl();
+  apiUrl = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/";
+
+  window.API_HOST = apiUrl;
 
   console.log("Library loaded at: " + new Date().toISOString())
 
diff --git a/javascript/yarn.lock b/javascript/yarn.lock
index f330bd1dc1fa982d04b5efdfd30e36449d472ca9..fc5f1c6a496b013a6b91d37bfa1978b037272145 100644
--- a/javascript/yarn.lock
+++ b/javascript/yarn.lock
@@ -1060,12 +1060,6 @@ clean-css@4.2.x:
   dependencies:
     source-map "~0.6.0"
 
-clean-webpack-plugin@^0.1.19:
-  version "0.1.19"
-  resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d"
-  dependencies:
-    rimraf "^2.6.1"
-
 cliui@^3.2.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"