diff --git a/cmd/mockServer/README.md b/cmd/mockServer/README.md
index b88372e..fd65ee5 100644
--- a/cmd/mockServer/README.md
+++ b/cmd/mockServer/README.md
@@ -24,18 +24,20 @@
     ./mockServer -h
     Usage of ./mockServer:
       -addDevEach duration
-            add a developer each duration [0s]
+            add a developer each duration (default 0s)
+      -bundleURI string
+            a URI to a valid deployment bundle (default '')
       -numDeps int
-            number of deployments in snapshot [2] (default 2)
+            number of deployments in snapshot (default 2)
       -numDevs int
-            number of developers in snapshot [2] (default 2)
+            number of developers in snapshot (default 2)
       -reliable
-            if false, server will often send 500 errors [true] (default true)
+            if false, server will often send 500 errors (default true)
       -upDepEach duration
-            update (replace) a deployment each duration [0s]
+            update (replace) a deployment each duration (default 0s)
       -upDevEach duration
-            update a developer each duration [0s]
-         
+            update a developer each duration (default 0s)         
+
 Note: Nothing is required. 
 
 The following are the values used by default by the Mock Server: 
diff --git a/cmd/mockServer/main.go b/cmd/mockServer/main.go
index 5c4a570..cab43f5 100644
--- a/cmd/mockServer/main.go
+++ b/cmd/mockServer/main.go
@@ -5,6 +5,8 @@
 
 	"os"
 
+	"time"
+
 	"github.com/30x/apid"
 	"github.com/30x/apid/factory"
 	"github.com/30x/apidApigeeSync"
@@ -15,14 +17,16 @@
 	// create new flag to avoid displaying all the Ginkgo flags
 	flag := flag.NewFlagSet(os.Args[0], flag.ExitOnError)
 
-	reliable := *flag.Bool("reliable", true, "if false, server will often send 500 errors [true]")
+	bundleURI := *flag.String("bundleURI", "", "a URI to a valid deployment bundle (default '')")
 
-	numDevs := *flag.Int("numDevs", 2, "number of developers in snapshot [2]")
-	addDevEach := *flag.Duration("addDevEach", 0, "add a developer each duration [0s]")
-	upDevEach := *flag.Duration("upDevEach", 0, "update a developer each duration [0s]")
+	reliable := *flag.Bool("reliable", true, "if false, server will often send 500 errors")
 
-	numDeps := *flag.Int("numDeps", 2, "number of deployments in snapshot [2]")
-	upDepEach := *flag.Duration("upDepEach", 0, "update (replace) a deployment each duration [0s]")
+	numDevs := *flag.Int("numDevs", 2, "number of developers in snapshot")
+	addDevEach := *flag.Duration("addDevEach", 0*time.Second, "add a developer each duration (default 0s)")
+	upDevEach := *flag.Duration("upDevEach", 0*time.Second, "update a developer each duration (default 0s)")
+
+	numDeps := *flag.Int("numDeps", 2, "number of deployments in snapshot")
+	upDepEach := *flag.Duration("upDepEach", 0*time.Second, "update (replace) a deployment each duration (default 0s)")
 
 	flag.Parse(os.Args[1:])
 
@@ -50,6 +54,7 @@
 		UpdateDeveloperEvery:   upDevEach,
 		NumDeployments:         numDeps,
 		ReplaceDeploymentEvery: upDepEach,
+		BundleURI:              bundleURI,
 	}
 
 	log.Printf("Params: %#v\n", params)
diff --git a/mock_server.go b/mock_server.go
index 3cd78d0..d8de52d 100644
--- a/mock_server.go
+++ b/mock_server.go
@@ -37,20 +37,19 @@
 */
 
 type MockParms struct {
-	ReliableAPI          bool
-	ClusterID            string
-	TokenKey             string
-	TokenSecret          string
-	Scope                string
-	Organization         string
-	Environment          string
-	NumDevelopers        int
-	AddDeveloperEvery    time.Duration
-	UpdateDeveloperEvery time.Duration
-
-	// todo: deployments
+	ReliableAPI            bool
+	ClusterID              string
+	TokenKey               string
+	TokenSecret            string
+	Scope                  string
+	Organization           string
+	Environment            string
+	NumDevelopers          int
+	AddDeveloperEvery      time.Duration
+	UpdateDeveloperEvery   time.Duration
 	NumDeployments         int
 	ReplaceDeploymentEvery time.Duration
+	BundleURI              string
 }
 
 func Mock(params MockParms, router apid.Router) *MockServer {
@@ -463,7 +462,11 @@
 	deploymentID := m.nextDeploymentID()
 	bundleID := generateUUID()
 	port := apid.Config().GetString("api_port")
-	urlString := fmt.Sprintf("http://localhost:%s/bundles/%s", port, bundleID)
+
+	urlString := m.params.BundleURI
+	if urlString == "" {
+		urlString = fmt.Sprintf("http://localhost:%s/bundles/%s", port, bundleID)
+	}
 
 	uri, err := url.Parse(urlString)
 	Expect(err).NotTo(HaveOccurred())
